From 71ab970a974df760c4b4be327bbe2566d209bd78 Mon Sep 17 00:00:00 2001 From: DylanTaylor1 <89085119+DylanTaylor1@users.noreply.github.com> Date: Sun, 17 Nov 2024 04:55:52 -0500 Subject: Fix (another) Computation Bug (#3432) Co-authored-by: Martin Robertz --- .../metaTileEntity/multi/MTENetworkSwitch.java | 54 +++++++++++++--------- .../metaTileEntity/multi/MTEQuantumComputer.java | 6 +-- .../multi/base/TTMultiblockBase.java | 18 ++++++-- 3 files changed, 48 insertions(+), 30 deletions(-) (limited to 'src/main/java/tectech/thing/metaTileEntity') diff --git a/src/main/java/tectech/thing/metaTileEntity/multi/MTENetworkSwitch.java b/src/main/java/tectech/thing/metaTileEntity/multi/MTENetworkSwitch.java index b9b80912d0..ffe0465095 100644 --- a/src/main/java/tectech/thing/metaTileEntity/multi/MTENetworkSwitch.java +++ b/src/main/java/tectech/thing/metaTileEntity/multi/MTENetworkSwitch.java @@ -3,7 +3,9 @@ package tectech.thing.metaTileEntity.multi; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static gregtech.api.enums.GTValues.V; -import static gregtech.api.util.GTStructureUtility.ofHatchAdderOptional; +import static gregtech.api.enums.HatchElement.Energy; +import static gregtech.api.enums.HatchElement.Maintenance; +import static gregtech.api.util.GTStructureUtility.buildHatchAdder; import static net.minecraft.util.StatCollector.translateToLocal; import net.minecraft.item.ItemStack; @@ -44,23 +46,35 @@ public class MTENetworkSwitch extends TTMultiblockBase implements IConstructable // region structure private static final String[] description = new String[] { EnumChatFormatting.AQUA + translateToLocal("tt.keyphrase.Hint_Details") + ":", - "1 - Classic/Data Hatches or Computer casing", // 1 - Classic/Data Hatches or Computer casing + translateToLocal("gt.blockmachines.multimachine.em.switch.hint.0"), // 1 - Data Input/Output Hatches or Advanced + // computer casing + translateToLocal("gt.blockmachines.multimachine.em.switch.hint.1"), // 2 - Data Output Hatches or Computer + // casing }; private static final IStructureDefinition STRUCTURE_DEFINITION = IStructureDefinition .builder() .addShape( "main", - transpose(new String[][] { { "BBB", "BBB", "BBB" }, { "B~B", "BAB", "BBB" }, { "BBB", "BBB", "BBB" } })) - .addElement('A', ofBlock(TTCasingsContainer.sBlockCasingsTT, 3)) + transpose(new String[][] { { "BBB", "BAB", "BBB" }, { "B~B", "AAA", "BAB" }, { "BBB", "BAB", "BBB" } })) + .addElement( + 'A', + buildHatchAdder(MTENetworkSwitch.class) + .atLeast( + Energy.or(HatchElement.EnergyMulti), + Maintenance, + HatchElement.InputData, + HatchElement.OutputData) + .casingIndex(BlockGTCasingsTT.textureOffset + 3) + .dot(1) + .buildAndChain(ofBlock(TTCasingsContainer.sBlockCasingsTT, 3))) .addElement( 'B', - ofHatchAdderOptional( - MTENetworkSwitch::addClassicToMachineList, - BlockGTCasingsTT.textureOffset + 1, - 1, - TTCasingsContainer.sBlockCasingsTT, - 1)) + buildHatchAdder(MTENetworkSwitch.class) + .atLeast(Energy.or(HatchElement.EnergyMulti), Maintenance, HatchElement.OutputData) // No Input Data + .casingIndex(BlockGTCasingsTT.textureOffset + 1) + .dot(2) + .buildAndChain(ofBlock(TTCasingsContainer.sBlockCasingsTT, 1))) .build(); // endregion @@ -209,24 +223,20 @@ public class MTENetworkSwitch extends TTMultiblockBase implements IConstructable .addInfo(translateToLocal("gt.blockmachines.multimachine.em.switch.desc.2")) // Needs a Parametrizer to // be configured .addTecTechHatchInfo() + .beginStructureBlock(3, 3, 3, false) .addController(translateToLocal("tt.keyword.Structure.FrontCenter")) // Controller: Front center - .addCasingInfoMin(translateToLocal("gt.blockcasingsTT.1.name"), 0, false) // 0x Computer Casing - // (minimum) .addOtherStructurePart( - translateToLocal("gt.blockcasingsTT.3.name"), - translateToLocal("tt.keyword.Structure.Center")) // Advanced Computer Casing: Center - .addOtherStructurePart( - translateToLocal("tt.keyword.Structure.DataConnector"), - translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 2) // Data Connector: Any Computer Casing + translateToLocal("tt.keyword.Structure.DataInput"), // Data Input Hatch: Any Advanced Computer Casing + translateToLocal("tt.keyword.Structure.AnyAdvComputerCasing"), + 1) .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), + translateToLocal("tt.keyword.Structure.DataOutput"), // Data Output Hatch: Any Computer Casing translateToLocal("tt.keyword.Structure.AnyComputerCasing"), - 2) // Parametrizer: Any Computer Casing - .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Energy Hatch: Any + 2) + .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Energy Hatch: Any // Computer Casing - .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 1) // Maintenance + .addMaintenanceHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasing"), 2) // Maintenance // Hatch: Any // Computer Casing .toolTipFinisher(); diff --git a/src/main/java/tectech/thing/metaTileEntity/multi/MTEQuantumComputer.java b/src/main/java/tectech/thing/metaTileEntity/multi/MTEQuantumComputer.java index cbe9fc8332..f3c3d6ab16 100644 --- a/src/main/java/tectech/thing/metaTileEntity/multi/MTEQuantumComputer.java +++ b/src/main/java/tectech/thing/metaTileEntity/multi/MTEQuantumComputer.java @@ -103,6 +103,7 @@ public class MTEQuantumComputer extends TTMultiblockBase implements ISurvivalCon Energy.or(HatchElement.EnergyMulti), Maintenance, HatchElement.Uncertainty, + HatchElement.InputData, HatchElement.OutputData, WirelessComputationHatchElement.INSTANCE) .casingIndex(BlockGTCasingsTT.textureOffset + 1) @@ -368,11 +369,6 @@ public class MTEQuantumComputer extends TTMultiblockBase implements ISurvivalCon translateToLocal("gt.blockmachines.hatch.rack.tier.08.name"), translateToLocal("tt.keyword.Structure.AnyAdvComputerCasingExceptOuter"), 2) // Computer Rack: Any Advanced Computer Casing, except the outer ones - .addOtherStructurePart( - translateToLocal("gt.blockmachines.hatch.param.tier.05.name"), - translateToLocal("tt.keyword.Structure.Optional") + " " - + translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), - 2) // Parametrizer: (optional) Any Computer Casing on first or last slice .addEnergyHatch(translateToLocal("tt.keyword.Structure.AnyComputerCasingFirstOrLastSlice"), 1) // Energy // Hatch: // Any diff --git a/src/main/java/tectech/thing/metaTileEntity/multi/base/TTMultiblockBase.java b/src/main/java/tectech/thing/metaTileEntity/multi/base/TTMultiblockBase.java index 5a4bc93910..28790f4492 100644 --- a/src/main/java/tectech/thing/metaTileEntity/multi/base/TTMultiblockBase.java +++ b/src/main/java/tectech/thing/metaTileEntity/multi/base/TTMultiblockBase.java @@ -2085,7 +2085,7 @@ public abstract class TTMultiblockBase extends MTEExtendedPowerMultiBlockBase