Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
reobf committed Jan 15, 2025
1 parent 45c07ea commit e94350f
Show file tree
Hide file tree
Showing 7 changed files with 267 additions and 233 deletions.
16 changes: 16 additions & 0 deletions src/main/java/reobf/proghatches/ae/BlockAutoFillerMKII.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,39 @@

import java.util.List;

import javax.annotation.Nullable;

import com.glodblock.github.FluidCraft;
import com.glodblock.github.common.item.ItemFluidPacket;
import com.glodblock.github.common.tile.TileFluidAutoFiller;
import com.glodblock.github.inventory.AeItemStackHandler;
import com.glodblock.github.inventory.AeStackInventory;
import com.glodblock.github.inventory.InventoryHandler;
import com.glodblock.github.inventory.gui.GuiType;
import com.glodblock.github.inventory.slot.ISlotFluid;
import com.glodblock.github.util.BlockPos;
import com.glodblock.github.util.NameConst;
import com.glodblock.github.util.Util;

import appeng.api.config.SecurityPermissions;
import appeng.api.storage.data.IAEItemStack;
import appeng.container.slot.AppEngSlot;
import appeng.container.slot.SlotFake;
import appeng.util.Platform;
import appeng.util.item.AEItemStack;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
import reobf.proghatches.block.INameAndTooltips;

public class BlockAutoFillerMKII extends BlockContainer implements INameAndTooltips{
Expand Down Expand Up @@ -76,4 +90,6 @@ public String getName(ItemStack p_77624_1_) {
// TODO Auto-generated method stub
return null;
}


}
6 changes: 6 additions & 0 deletions src/main/java/reobf/proghatches/main/MyMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,15 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.github.vfyjxf.nee.nei.NEECraftingHandler;
import com.github.vfyjxf.nee.processor.GregTech5RecipeProcessor;
import com.glodblock.github.client.gui.GuiDualInterface;
import com.glodblock.github.client.gui.container.ContainerDualInterface;
import com.glodblock.github.common.parts.PartFluidP2PInterface;
import com.glodblock.github.crossmod.opencomputers.DriverLevelMaintainer;
import com.glodblock.github.inventory.FluidConvertingInventoryAdaptor;
import com.glodblock.github.loader.ItemAndBlockHolder;
import com.glodblock.github.nei.FluidPatternTerminalRecipeTransferHandler;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer;
Expand Down Expand Up @@ -216,6 +219,9 @@ public class MyMod {
if((Boolean)Launch.blackboard.get("fml.deobfuscatedEnvironment") ){
DualityInterface.class.getDeclaredFields();
CraftFromPatternTask.class.getDeclaredFields();
NEECraftingHandler.class.getDeclaredFields();
GregTech5RecipeProcessor.class.getDeclaredFields();
FluidPatternTerminalRecipeTransferHandler.class.getDeclaredFields();
/*CraftingCPUCluster.class.getDeclaredFields();
NBTTagCompound t=new NBTTagCompound();
AEFluidStack.create(new FluidStack(FluidRegistry.WATER,123).writeToNBT(t));
Expand Down
55 changes: 55 additions & 0 deletions src/main/java/reobf/proghatches/main/mixin/MixinCallback.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
package reobf.proghatches.main.mixin;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.BiConsumer;
import java.util.function.Function;
import java.util.stream.Collectors;

import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import com.glodblock.github.nei.object.OrderStack;

import appeng.api.config.Actionable;
import appeng.api.config.FuzzyMode;
import appeng.api.networking.crafting.ICraftingMedium;
Expand All @@ -24,6 +32,7 @@
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.MTEMultiBlockBase;
import io.netty.buffer.ByteBuf;
import it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
Expand All @@ -35,6 +44,8 @@
import reobf.proghatches.eucrafting.IEUManager.IDrain;
import reobf.proghatches.eucrafting.TileFluidInterface_EU.SISOPatternDetail;
import reobf.proghatches.gt.metatileentity.DualInputHatch;
import reobf.proghatches.item.ItemProgrammingCircuit;
import reobf.proghatches.item.ItemProgrammingToolkit;
import reobf.proghatches.main.MyMod;
import reobf.proghatches.util.ProghatchesUtil;

Expand Down Expand Up @@ -220,7 +231,51 @@ public static void cb(final IEnergyGrid eg, final CraftingGridCache cc, Callback
}


public static List<OrderStack<?>> encodeCallback(List<OrderStack<?>> inputs) {

AtomicBoolean circuit = new AtomicBoolean(false);
if (ItemProgrammingToolkit.holding() == false) {
return inputs;
}
if (MixinCallback.encodingSpecialBehaviour == false)
return inputs;

AtomicInteger i = new AtomicInteger(0);
List<OrderStack<?>> spec = new ArrayList<>();
List<OrderStack<?>> ret = inputs.stream().filter(Objects::nonNull)
.sorted((a,b)->a.getIndex()-b.getIndex())
.filter(orderStack -> {
boolean regular = !(orderStack.getStack() != null && orderStack.getStack() instanceof ItemStack
&& ((ItemStack) orderStack.getStack()).stackSize == 0);
if (regular == false) {
circuit.set(true);
spec.add(new OrderStack<>(ItemProgrammingCircuit.wrap(((ItemStack) orderStack.getStack())),
orderStack.getIndex()));
return false;
}

return true;
}).collect(Collectors.toList());

if (circuit.get() == false && ItemProgrammingToolkit.addEmptyProgCiruit()) {
spec.add(0, new OrderStack<>(ItemProgrammingCircuit.wrap(null), 0));
}

spec.addAll(ret);
List<OrderStack<?>> spec2=spec.stream().map((orderStack ->
orderStack.getItems()==null?
new OrderStack<>(orderStack.getStack(), i.getAndIncrement())
:
new OrderStack<>(orderStack.getStack(), i.getAndIncrement(),orderStack.getItems())
//orderStack.setIndex(i.getAndIncrement())


)).collect(Collectors.toList());

inputs = spec2;
return inputs;
// c.setReturnValue(ret);
}

}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -225,15 +225,15 @@ public List<String> getMixins() {


if (!"true".equals(pp.get("noPatternEncodingMixin"))) {
if(ff)retLate.add("MixinPatternEncodingCiruitSpecialTreatment");// For
//if(ff)retLate.add("MixinPatternEncodingCiruitSpecialTreatment");// For
// ae2fc
// pattern
// encoder
if(ff)retLate.add("MixinPatternEncodingCiruitSpecialTreatment2"); // For
// nee
// pattern
// encoder

if(ff)retLate.add("MixinPatternEncodingCiruitSpecialTreatmentNeo");
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collector;
import java.util.stream.Collectors;

import net.minecraft.item.ItemStack;
Expand Down Expand Up @@ -34,40 +35,7 @@ public class MixinPatternEncodingCiruitSpecialTreatment {

private void toBytes(ByteBuf buf, CallbackInfo c) {
if(isCraft)return;//don't mess with workbench recipe
AtomicBoolean circuit = new AtomicBoolean(false);
if (ItemProgrammingToolkit.holding() == false) {
return;
}
if (MixinCallback.encodingSpecialBehaviour == false)
return;

AtomicInteger i = new AtomicInteger(0);
ArrayList<OrderStack<?>> spec = new ArrayList<>();
List<OrderStack<?>> ret = inputs.stream().filter(Objects::nonNull)
.sorted((a,b)->a.getIndex()-b.getIndex())
.filter(orderStack -> {
boolean regular = !(orderStack.getStack() != null && orderStack.getStack() instanceof ItemStack
&& ((ItemStack) orderStack.getStack()).stackSize == 0);
if (regular == false) {
circuit.set(true);
spec.add(new OrderStack<>(ItemProgrammingCircuit.wrap(((ItemStack) orderStack.getStack())),
orderStack.getIndex()));
return false;
}

return true;
}).collect(Collectors.toList());

if (circuit.get() == false && ItemProgrammingToolkit.addEmptyProgCiruit()) {
spec.add(0, new OrderStack<>(ItemProgrammingCircuit.wrap(null), 0));
}

spec.addAll(ret);
spec.forEach((orderStack -> orderStack.setIndex(i.getAndIncrement())));

inputs = spec;

// c.setReturnValue(ret);
inputs=MixinCallback.encodeCallback( inputs);

}
}
Loading

0 comments on commit e94350f

Please sign in to comment.