aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/thing/metaTileEntity
diff options
context:
space:
mode:
authorDylanTaylor1 <89085119+DylanTaylor1@users.noreply.github.com>2024-11-17 04:55:52 -0500
committerGitHub <noreply@github.com>2024-11-17 09:55:52 +0000
commit71ab970a974df760c4b4be327bbe2566d209bd78 (patch)
treeb3eb092e6b7f974ccb95f2767ddbc2c84c1eb3ea /src/main/java/tectech/thing/metaTileEntity
parentbb74217d4f8a24bb1e6d85ff16c1b5684633906c (diff)
downloadGT5-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')
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/MTENetworkSwitch.java54
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/MTEQuantumComputer.java6
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/base/TTMultiblockBase.java18
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) {