From 4d04bb69819fabdd6a6e62427f9dfbb98270bd6e Mon Sep 17 00:00:00 2001 From: reobf <2215595288@qq.com> Date: Sun, 2 Mar 2025 00:28:35 +0800 Subject: [PATCH] update --- .../proghatches/ae/PartStockingExportBus.java | 12 +++++-- .../ae/PartStockingFluidExportBus.java | 6 ++++ .../reobf/proghatches/ae/part2/PartCoW.java | 10 ++++-- .../gt/metatileentity/DualInputHatch.java | 18 ++++++++-- .../StockingDualInputHatchME.java | 21 ++++++++---- .../java/reobf/proghatches/main/MyMod.java | 31 +++++++++-------- .../proghatches/main/mixin/MixinPlugin.java | 4 +-- .../main/registration/PHRecipes.java | 33 +++++++++++++++++++ 8 files changed, 102 insertions(+), 33 deletions(-) diff --git a/src/main/java/reobf/proghatches/ae/PartStockingExportBus.java b/src/main/java/reobf/proghatches/ae/PartStockingExportBus.java index 038919f..8c2dbb2 100644 --- a/src/main/java/reobf/proghatches/ae/PartStockingExportBus.java +++ b/src/main/java/reobf/proghatches/ae/PartStockingExportBus.java @@ -10,6 +10,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + import com.glodblock.github.common.item.ItemFluidDrop; import com.gtnewhorizons.modularui.api.ModularUITextures; import com.gtnewhorizons.modularui.api.forge.ItemStackHandler; @@ -48,7 +50,7 @@ public class PartStockingExportBus extends PartBasicState implements - IGridProxyable, IActionHost, IGuiProvidingPart, IGridTickable, ICraftingMachinePart { + IGridProxyable, IActionHost, IGuiProvidingPart, IGridTickable { ItemStack[] inv = new ItemStack[1]; @@ -352,8 +354,12 @@ public boolean onPartActivate(EntityPlayer player, Vec3 pos) { return true; } - @Override + public void getDrops(final List drops, final boolean wrenched) { + if (inv[0] != null) drops.add(inv[0]); + + } + /* @Override public boolean pushPattern(ICraftingPatternDetails patternDetails, InventoryCrafting table, ForgeDirection ejectionDirection) { @@ -364,6 +370,6 @@ public boolean pushPattern(ICraftingPatternDetails patternDetails, InventoryCraf public boolean acceptsPlans(ForgeDirection ejectionDirection) { System.out.println(ejectionDirection); return false; - } + }*/ } diff --git a/src/main/java/reobf/proghatches/ae/PartStockingFluidExportBus.java b/src/main/java/reobf/proghatches/ae/PartStockingFluidExportBus.java index dd64ef3..df8fadd 100644 --- a/src/main/java/reobf/proghatches/ae/PartStockingFluidExportBus.java +++ b/src/main/java/reobf/proghatches/ae/PartStockingFluidExportBus.java @@ -10,6 +10,8 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidHandler; +import java.util.List; + import com.gtnewhorizons.modularui.api.ModularUITextures; import com.gtnewhorizons.modularui.api.forge.ItemStackHandler; import com.gtnewhorizons.modularui.api.screen.ModularWindow; @@ -334,5 +336,9 @@ public boolean onPartActivate(EntityPlayer player, Vec3 pos) { EUUtil.open(player, player.getEntityWorld(), t.xCoord, t.yCoord, t.zCoord, getSide()); return true; + } @Override + public void getDrops(final List drops, final boolean wrenched) { + if (inv[0] != null) drops.add(inv[0]); + } } diff --git a/src/main/java/reobf/proghatches/ae/part2/PartCoW.java b/src/main/java/reobf/proghatches/ae/part2/PartCoW.java index dd4061e..b530635 100644 --- a/src/main/java/reobf/proghatches/ae/part2/PartCoW.java +++ b/src/main/java/reobf/proghatches/ae/part2/PartCoW.java @@ -170,8 +170,11 @@ public void destroy() { @Override public TickRateModulation tickingRequest(IGridNode nodexx, int TicksSinceLastCallxx) { count++; - boolean thisTick=(update&1)!=0; + boolean thisTick; + synchronized (this) { + thisTick=(update&1)!=0; update=update>>1; + } if(thisTick){ onNeighborChanged(); @@ -500,10 +503,13 @@ public NBTTagCompound getNBTData(EntityPlayerMP player, IPart part, TileEntity t } } + int update; public void update() { - update=update|0x1010;//update after 4 ticks and 12 ticks + synchronized (this) { + update=update|0x1010;//update after 4 ticks and 12 ticks + } } } diff --git a/src/main/java/reobf/proghatches/gt/metatileentity/DualInputHatch.java b/src/main/java/reobf/proghatches/gt/metatileentity/DualInputHatch.java index 7581b62..fae007f 100644 --- a/src/main/java/reobf/proghatches/gt/metatileentity/DualInputHatch.java +++ b/src/main/java/reobf/proghatches/gt/metatileentity/DualInputHatch.java @@ -2401,9 +2401,15 @@ private void broken() { + ("valid:" + DualInputHatch.this.isValid()) + ("x:" + getBaseMetaTileEntity().getXCoord()) + ("y:" + getBaseMetaTileEntity().getYCoord()) - + ("z:" + getBaseMetaTileEntity().getZCoord())); + + ("z:" + getBaseMetaTileEntity().getZCoord()) + + ("w:" + getBaseMetaTileEntity().getWorld().provider.dimensionId)); } + + MyMod.LOG.fatal(shadowFluid.toString()); + MyMod.LOG.fatal(shadowItems.toString()); + MyMod.LOG.fatal(cachedFluid.toString()); + MyMod.LOG.fatal(cachedItems.toString()); } @@ -2426,7 +2432,8 @@ public ItemStack[] getItems() { public FluidStack[] getFluid() { if (recipe == false) { - broken(); + if(!broken) + broken(); // Thread.dumpStack(); broken = true; return new FluidStack[0]; @@ -2728,6 +2735,11 @@ public void setProcessingLogic(ProcessingLogic pl) { * } * } */ - + +@Override + public ItemStack getMachineCraftingIcon() { + // TODO Auto-generated method stub + return super.getMachineCraftingIcon(); + } public List processingLogics = new ArrayList<>(); } diff --git a/src/main/java/reobf/proghatches/gt/metatileentity/StockingDualInputHatchME.java b/src/main/java/reobf/proghatches/gt/metatileentity/StockingDualInputHatchME.java index 7eb240f..712c7a3 100644 --- a/src/main/java/reobf/proghatches/gt/metatileentity/StockingDualInputHatchME.java +++ b/src/main/java/reobf/proghatches/gt/metatileentity/StockingDualInputHatchME.java @@ -395,7 +395,14 @@ protected void drawSlot(Slot slotIn) { @SideOnly(Side.CLIENT) - private final TextRenderer textRenderer = new TextRenderer(); + private TextRenderer textRenderer0; + + { + if(cpw.mods.fml.common.FMLCommonHandler. instance().getSide()==Side.CLIENT){ + textRenderer0= new TextRenderer(); + } + + } @SideOnly(Side.CLIENT) public void drawSlot(Slot slotIn, boolean drawStackSize){ super.drawSlot(slotIn,false); @@ -438,15 +445,15 @@ public void drawSlot(Slot slotIn, boolean drawStackSize){ } else if (amountText.length() > 4) { scale = 0.5f; } - textRenderer.setShadow(true); - textRenderer.setScale(scale); - textRenderer.setColor(Color.WHITE.normal); - textRenderer.setAlignment(Alignment.BottomRight, size.width - 1, size.height - 1); - textRenderer.setPos(1, 1); + textRenderer0.setShadow(true); + textRenderer0.setScale(scale); + textRenderer0.setColor(Color.WHITE.normal); + textRenderer0.setAlignment(Alignment.BottomRight, size.width - 1, size.height - 1); + textRenderer0.setPos(1, 1); GlStateManager.disableLighting(); GlStateManager.disableDepth(); GlStateManager.disableBlend(); - textRenderer.draw(amountText); + textRenderer0.draw(amountText); GlStateManager.enableLighting(); GlStateManager.enableDepth(); GlStateManager.enableBlend(); diff --git a/src/main/java/reobf/proghatches/main/MyMod.java b/src/main/java/reobf/proghatches/main/MyMod.java index 78895e4..e7639a8 100644 --- a/src/main/java/reobf/proghatches/main/MyMod.java +++ b/src/main/java/reobf/proghatches/main/MyMod.java @@ -106,6 +106,7 @@ import reobf.proghatches.keybinding.KeyBindings; import reobf.proghatches.lang.LangManager; import reobf.proghatches.main.asm.repack.objectwebasm.ClassWriter; +import reobf.proghatches.main.mixin.MixinPlugin; import reobf.proghatches.main.registration.Registration; import reobf.proghatches.net.ConnectionModeMessage; import reobf.proghatches.net.MAFXMessage; @@ -153,23 +154,11 @@ public class MyMod { FMLCommonHandler.instance() .exitJava(1, false); } - if ((Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment")) { + /*if ((Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment")) { ProcessingLogic.class.getDeclaredFields(); - /* - * 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)); - */ - - } + + }*/ instance = this; } @@ -177,7 +166,17 @@ public class MyMod { static { // - + if(MixinPlugin.loaded==false){ + LOG.fatal("!!!ERROR!!!"); + LOG.fatal("Mixins fails to load."); + LOG.fatal("Will stop the game since it's impossible to proceed."); + + throw new AssertionError("abort"); + + }else{ + LOG.fatal("Mixins loaded, sounds good!"); + + } class test extends Item { @Override diff --git a/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java b/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java index 8b8f174..c72ec09 100644 --- a/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java +++ b/src/main/java/reobf/proghatches/main/mixin/MixinPlugin.java @@ -87,12 +87,12 @@ public void acceptTargets(Set myTargets, Set otherTargets) { ; public static boolean noEUMixin; static public ArrayList retLate = new ArrayList<>(); - +public static boolean loaded; //spotless:on @SuppressWarnings("unused") @Override public List getMixins() { - + loaded=true; boolean ff = true; File f = new File(System.getProperty("user.dir") + File.separator + "config", "proghatches.mixin.properties"); diff --git a/src/main/java/reobf/proghatches/main/registration/PHRecipes.java b/src/main/java/reobf/proghatches/main/registration/PHRecipes.java index 7a5ad9f..2c3347d 100644 --- a/src/main/java/reobf/proghatches/main/registration/PHRecipes.java +++ b/src/main/java/reobf/proghatches/main/registration/PHRecipes.java @@ -2100,6 +2100,39 @@ public void run() { .eut(30) .addTo(RecipeMaps.assemblerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.HATCHES_INPUT_BUS[8].get(1), + new ItemStack(MyMod.upgrades,4,0) + + ) + .itemOutputs( new ItemStack( + GregTechAPI.sBlockMachines, + 1, + Config.metaTileEntityOffset + Registration.PhantomInputBusOffset)) + .duration(1 * SECONDS) + .eut(30) + .addTo(RecipeMaps.assemblerRecipes); + + + GTValues.RA.stdBuilder() + .itemInputs( + Api.INSTANCE.definitions() + .parts() + .p2PTunnelGregtech().maybeStack(1).get(), + Api.INSTANCE.definitions() + .materials().cardInverter().maybeStack(1).get(), + GTUtility.getIntegratedCircuit(4) + + ) + .itemOutputs( new ItemStack( + + MyMod.part_cow)) + .duration(1 * SECONDS) + .eut(30) + .addTo(RecipeMaps.assemblerRecipes); + + /* * rec = new ShapelessOreRecipe( new ItemStack( MyMod.plunger,1,1),