diff options
author | DylanTaylor1 <89085119+DylanTaylor1@users.noreply.github.com> | 2024-11-17 04:55:52 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-17 09:55:52 +0000 |
commit | 71ab970a974df760c4b4be327bbe2566d209bd78 (patch) | |
tree | b3eb092e6b7f974ccb95f2767ddbc2c84c1eb3ea /src/main/java/tectech/thing/metaTileEntity | |
parent | bb74217d4f8a24bb1e6d85ff16c1b5684633906c (diff) | |
download | GT5-Unofficial-71ab970a974df760c4b4be327bbe2566d209bd78.tar.gz GT5-Unofficial-71ab970a974df760c4b4be327bbe2566d209bd78.tar.bz2 GT5-Unofficial-71ab970a974df760c4b4be327bbe2566d209bd78.zip |
Fix (another) Computation Bug (#3432)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/tectech/thing/metaTileEntity')
3 files changed, 48 insertions, 30 deletions
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<MTENetworkSwitch> STRUCTURE_DEFINITION = IStructureDefinition .<MTENetworkSwitch>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<TT } // NEW METHOD - public final boolean addDataConnectorToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + public final boolean addDataInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; } @@ -2097,6 +2097,18 @@ public abstract class TTMultiblockBase extends MTEExtendedPowerMultiBlockBase<TT ((MTEHatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eInputData.add((MTEHatchDataInput) aMetaTileEntity); } + return false; + } + + // NEW METHOD + public final boolean addDataOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + if (aTileEntity == null) { + return false; + } + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity == null) { + return false; + } if (aMetaTileEntity instanceof MTEHatchDataOutput) { ((MTEHatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eOutputData.add((MTEHatchDataOutput) aMetaTileEntity); @@ -2175,14 +2187,14 @@ public abstract class TTMultiblockBase extends MTEExtendedPowerMultiBlockBase<TT return t.eDynamoMulti.size(); } }, - InputData(TTMultiblockBase::addDataConnectorToMachineList, MTEHatchDataInput.class) { + InputData(TTMultiblockBase::addDataInputToMachineList, MTEHatchDataInput.class) { @Override public long count(TTMultiblockBase t) { return t.eInputData.size(); } }, - OutputData(TTMultiblockBase::addDataConnectorToMachineList, MTEHatchDataOutput.class) { + OutputData(TTMultiblockBase::addDataOutputToMachineList, MTEHatchDataOutput.class) { @Override public long count(TTMultiblockBase t) { |