Skip to content

Commit a3d6753

Browse files
authored
Merge pull request #1197 from Nxer/fix
fix machine structure def issue
2 parents 963bb40 + 59fd3ab commit a3d6753

20 files changed

+151
-248
lines changed

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/GTCM_CrystallineInfinitier.java

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE;
2020
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE_GLOW;
2121
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_GLOW;
22+
import static gregtech.api.util.GTStructureUtility.chainAllGlasses;
2223
import static gregtech.api.util.GTStructureUtility.ofFrame;
2324
import static tectech.thing.casing.TTCasingsContainer.StabilisationFieldGenerators;
2425
import static tectech.thing.casing.TTCasingsContainer.sBlockCasingsTT;
@@ -45,7 +46,6 @@
4546
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
4647
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
4748

48-
import bartworks.API.BorosilicateGlass;
4949
import gregtech.api.GregTechAPI;
5050
import gregtech.api.enums.Materials;
5151
import gregtech.api.enums.Textures;
@@ -80,8 +80,8 @@ public GTCM_CrystallineInfinitier(String aName) {
8080
// endregion
8181

8282
// region Processing Logic
83-
public byte glassTier = 0;
84-
private int fieldGeneratorTier = 0;
83+
public int glassTier = -1;
84+
private int fieldGeneratorTier = -1;
8585

8686
@Override
8787
public int totalMachineMode() {
@@ -120,7 +120,7 @@ public void saveNBTData(NBTTagCompound aNBT) {
120120
super.saveNBTData(aNBT);
121121

122122
aNBT.setInteger("fieldGeneratorTier", fieldGeneratorTier);
123-
aNBT.setByte("glassTier", glassTier);
123+
aNBT.setInteger("glassTier", glassTier);
124124
aNBT.setByte("mode", (byte) machineMode);
125125
}
126126

@@ -129,7 +129,7 @@ public void loadNBTData(final NBTTagCompound aNBT) {
129129
super.loadNBTData(aNBT);
130130

131131
fieldGeneratorTier = aNBT.getInteger("fieldGeneratorTier");
132-
glassTier = aNBT.getByte("glassTier");
132+
glassTier = aNBT.getInteger("glassTier");
133133
machineMode = aNBT.getByte("mode");
134134
}
135135

@@ -181,8 +181,8 @@ public Collection<RecipeMap<?>> getAvailableRecipeMaps() {
181181
@Override
182182
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
183183
repairMachine();
184-
this.fieldGeneratorTier = 0;
185-
this.glassTier = 0;
184+
this.fieldGeneratorTier = -1;
185+
this.glassTier = -1;
186186
boolean sign = checkPiece(STRUCTURE_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet);
187187
if (this.fieldGeneratorTier == 0 || this.glassTier <= 0) {
188188
return false;
@@ -225,21 +225,18 @@ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBu
225225
true);
226226
}
227227

228-
public static int getBlockFieldGeneratorTier(Block block, int meta){
228+
public static Integer getBlockFieldGeneratorTier(Block block, int meta){
229229
if (block == sBlockCasingsTT){
230-
switch (meta) {
231-
case 6:
232-
return 1;
233-
case 14:
234-
return 2;
235-
default:
236-
return 0;
237-
}
230+
return switch (meta) {
231+
case 6 -> 1;
232+
case 14 -> 2;
233+
default -> null;
234+
};
238235
}
239236
if (block == StabilisationFieldGenerators){
240237
return meta + 3;
241238
}
242-
return 0;
239+
return null;
243240
}
244241
private static final String STRUCTURE_PIECE_MAIN = "mainCrystallineInfinitier";
245242
private final int horizontalOffSet = 15;
@@ -253,14 +250,7 @@ public IStructureDefinition<GTCM_CrystallineInfinitier> getStructureDefinition()
253250
.addShape(STRUCTURE_PIECE_MAIN, transpose(shape))
254251
.addElement(
255252
'A',
256-
withChannel("glass",
257-
BorosilicateGlass.ofBoroGlass(
258-
(byte) 0,
259-
(byte) 1,
260-
Byte.MAX_VALUE,
261-
(te, t) -> te.glassTier = t,
262-
te -> te.glassTier
263-
)))
253+
chainAllGlasses(-1, (te, t) -> te.glassTier = t, te -> te.glassTier))
264254
.addElement(
265255
'B',
266256
HatchElementBuilder.<GTCM_CrystallineInfinitier>builder()

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/GT_TileEntity_MagneticDrivePressureFormer.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE;
2222
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE_GLOW;
2323
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_GLOW;
24+
import static gregtech.api.util.GTStructureUtility.chainAllGlasses;
2425
import static gregtech.api.util.GTStructureUtility.ofCoil;
2526

2627
import java.util.Arrays;
@@ -40,7 +41,6 @@
4041
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
4142
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
4243

43-
import bartworks.API.BorosilicateGlass;
4444
import gregtech.api.GregTechAPI;
4545
import gregtech.api.enums.HeatingCoilLevel;
4646
import gregtech.api.enums.Textures;
@@ -79,7 +79,7 @@ public GT_TileEntity_MagneticDrivePressureFormer(String aName) {
7979
* <li>3 = Forge Hammer
8080
*/
8181

82-
public byte glassTier;
82+
public int glassTier;
8383
public HeatingCoilLevel coilLevel = HeatingCoilLevel.None;
8484

8585
public HeatingCoilLevel getCoilLevel() {
@@ -143,7 +143,7 @@ public int getMaxParallelRecipes() {
143143
@Override
144144
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
145145
repairMachine();
146-
this.glassTier = 0;
146+
this.glassTier = -1;
147147
this.coilLevel = HeatingCoilLevel.None;
148148
if (!checkPiece(STRUCTURE_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) return false;
149149
if (this.glassTier <= 0) return false;
@@ -226,14 +226,7 @@ public IStructureDefinition<GT_TileEntity_MagneticDrivePressureFormer> getStruct
226226
.addShape(STRUCTURE_PIECE_MAIN, transpose(shape))
227227
.addElement(
228228
'A',
229-
withChannel("glass",
230-
BorosilicateGlass.ofBoroGlass(
231-
(byte) 0,
232-
(byte) 1,
233-
Byte.MAX_VALUE,
234-
(te, t) -> te.glassTier = t,
235-
te -> te.glassTier
236-
))
229+
chainAllGlasses(-1, (te, t) -> te.glassTier = t, te -> te.glassTier)
237230
)
238231
.addElement('B', ofBlock(compactFusionCoil,0))
239232
.addElement('C', ofBlock(GregTechAPI.sBlockCasings2, 5))

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/GT_TileEntity_MoleculeDeconstructor.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import static com.Nxer.TwistSpaceTechnology.util.TextLocalization.textScrewdriverChangeMode;
1818
import static com.Nxer.TwistSpaceTechnology.util.TextLocalization.textUseBlueprint;
1919
import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock;
20-
import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel;
2120
import static gregtech.api.enums.HatchElement.Energy;
2221
import static gregtech.api.enums.HatchElement.ExoticEnergy;
2322
import static gregtech.api.enums.HatchElement.InputBus;
@@ -29,6 +28,7 @@
2928
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE;
3029
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE_GLOW;
3130
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_GLOW;
31+
import static gregtech.api.util.GTStructureUtility.chainAllGlasses;
3232
import static gregtech.api.util.GTStructureUtility.ofFrame;
3333
import static tectech.thing.casing.TTCasingsContainer.sBlockCasingsTT;
3434

@@ -51,7 +51,6 @@
5151
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
5252
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
5353

54-
import bartworks.API.BorosilicateGlass;
5554
import gregtech.api.GregTechAPI;
5655
import gregtech.api.enums.Materials;
5756
import gregtech.api.enums.Textures;
@@ -81,7 +80,7 @@ public GT_TileEntity_MoleculeDeconstructor(String aName) {
8180
// endregion
8281

8382
// region Processing Logic
84-
private byte glassTier = 0;
83+
private int glassTier = -1;
8584
private int piece = 1;
8685

8786
@Override
@@ -136,7 +135,7 @@ public Collection<RecipeMap<?>> getAvailableRecipeMaps() {
136135
@Override
137136
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
138137
repairMachine();
139-
this.glassTier = 0;
138+
this.glassTier = -1;
140139
this.piece = 1;
141140
if (!checkPiece(STRUCTURE_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) {
142141
return false;
@@ -239,14 +238,7 @@ public IStructureDefinition<GT_TileEntity_MoleculeDeconstructor> getStructureDef
239238
.addShape(STRUCTURE_PIECE_MIDDLE, shapeMiddle)
240239
.addShape(STRUCTURE_PIECE_END, shapeEnd)
241240
.addElement('A',
242-
withChannel("glass",
243-
BorosilicateGlass.ofBoroGlass(
244-
(byte) 0,
245-
(byte) 1,
246-
Byte.MAX_VALUE,
247-
(te, t) -> te.glassTier = t,
248-
te -> te.glassTier
249-
)))
241+
chainAllGlasses(-1, (te, t) -> te.glassTier = t, te -> te.glassTier))
250242
.addElement('B', ofBlock(GregTechAPI.sBlockCasings2, 15))
251243
.addElement('C', ofBlock(GregTechAPI.sBlockCasings4, 14))
252244
.addElement('D',

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/GT_TileEntity_PhysicalFormSwitcher.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static com.Nxer.TwistSpaceTechnology.common.machine.ValueEnum.SpeedBonus_MultiplyPerTier_PhysicalFormSwitcher;
44
import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock;
55
import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose;
6-
import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel;
76
import static goodgenerator.loader.Loaders.MAR_Casing;
87
import static gregtech.api.enums.HatchElement.Energy;
98
import static gregtech.api.enums.HatchElement.ExoticEnergy;
@@ -15,6 +14,7 @@
1514
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE;
1615
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE_GLOW;
1716
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_GLOW;
17+
import static gregtech.api.util.GTStructureUtility.chainAllGlasses;
1818
import static gregtech.api.util.GTStructureUtility.ofFrame;
1919

2020
import java.util.Arrays;
@@ -38,7 +38,6 @@
3838
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
3939
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
4040

41-
import bartworks.API.BorosilicateGlass;
4241
import ggfab.api.GGFabRecipeMaps;
4342
import gregtech.api.GregTechAPI;
4443
import gregtech.api.enums.Materials;
@@ -74,7 +73,7 @@ public GT_TileEntity_PhysicalFormSwitcher(String aName) {
7473
// endregion
7574

7675
// region Processing Logic
77-
public byte glassTier;
76+
public int glassTier;
7877

7978
@Override
8079
public int totalMachineMode() {
@@ -99,7 +98,7 @@ public String getMachineModeName(int mode) {
9998
@Override
10099
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
101100
repairMachine();
102-
this.glassTier = 0;
101+
this.glassTier = -1;
103102
if (!checkPiece(STRUCTURE_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) {
104103
return false;
105104
}
@@ -230,15 +229,7 @@ public IStructureDefinition<GT_TileEntity_PhysicalFormSwitcher> getStructureDefi
230229
.<GT_TileEntity_PhysicalFormSwitcher>builder()
231230
.addShape(STRUCTURE_PIECE_MAIN, transpose(shape))
232231
.addElement(
233-
'A',
234-
withChannel("glass",
235-
BorosilicateGlass.ofBoroGlass(
236-
(byte) 0,
237-
(byte) 1,
238-
Byte.MAX_VALUE,
239-
(te, t) -> te.glassTier = t,
240-
te -> te.glassTier
241-
)))
232+
'A',chainAllGlasses(-1, (te, t) -> te.glassTier = t, te -> te.glassTier))
242233
.addElement('B', ofBlock(MAR_Casing,0))
243234
.addElement('C', ofBlock(GregTechAPI.sBlockCasings2,8))
244235
.addElement('D', ofBlock(GregTechAPI.sBlockCasings2,15))

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/GT_TileEntity_SpaceScaler.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public GT_TileEntity_SpaceScaler(String aName) {
8080
// endregion
8181

8282
// region Processing Logic
83-
private int fieldGeneratorTier = 0;
83+
private int fieldGeneratorTier = -1;
8484
private int multiplier = 1;
8585

8686
@Override
@@ -289,7 +289,7 @@ public Collection<RecipeMap<?>> getAvailableRecipeMaps() {
289289
@Override
290290
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
291291
repairMachine();
292-
this.fieldGeneratorTier = 0;
292+
this.fieldGeneratorTier = -1;
293293
boolean sign = checkPiece(STRUCTURE_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet);
294294
if (this.fieldGeneratorTier < 1) {
295295
return false;
@@ -327,21 +327,18 @@ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBu
327327
private final int verticalOffSet = 15;
328328
private final int depthOffSet = 0;
329329
private static IStructureDefinition<GT_TileEntity_SpaceScaler> STRUCTURE_DEFINITION = null;
330-
public static int getBlockFieldGeneratorTier(Block block, int meta){
330+
public static Integer getBlockFieldGeneratorTier(Block block, int meta){
331331
if (block == sBlockCasingsTT){
332-
switch (meta) {
333-
case 6:
334-
return 1;
335-
case 14:
336-
return 2;
337-
default:
338-
return 0;
339-
}
332+
return switch (meta) {
333+
case 6 -> 1;
334+
case 14 -> 2;
335+
default -> null;
336+
};
340337
}
341338
if (block == StabilisationFieldGenerators){
342339
return meta + 3;
343340
}
344-
return 0;
341+
return null;
345342
}
346343

347344
@Override
@@ -386,7 +383,7 @@ public IStructureDefinition<GT_TileEntity_SpaceScaler> getStructureDefinition()
386383
Pair.of(StabilisationFieldGenerators, 7),
387384
Pair.of(StabilisationFieldGenerators, 8)
388385
),
389-
0,
386+
-1,
390387
(m, t) -> m.fieldGeneratorTier = t,
391388
m -> m.fieldGeneratorTier))
392389
)

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/TST_AdvCircuitAssemblyLine.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.Nxer.TwistSpaceTechnology.common.machine;
22

3-
import static bartworks.util.BWUtil.ofGlassTieredMixed;
43
import static com.Nxer.TwistSpaceTechnology.util.TextLocalization.BLUE_PRINT_INFO;
54
import static com.Nxer.TwistSpaceTechnology.util.TextLocalization.ModName;
65
import static com.Nxer.TwistSpaceTechnology.util.TextLocalization.StructureTooComplex;
@@ -19,6 +18,7 @@
1918
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_ACTIVE_GLOW;
2019
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ASSEMBLY_LINE_GLOW;
2120
import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
21+
import static gregtech.api.util.GTStructureUtility.chainAllGlasses;
2222

2323
import java.util.ArrayList;
2424
import java.util.Arrays;
@@ -102,7 +102,7 @@ public IStructureDefinition<TST_AdvCircuitAssemblyLine> getStructureDefinition()
102102
if (STRUCTURE_DEFINITION == null) {
103103
STRUCTURE_DEFINITION = StructureDefinition.<TST_AdvCircuitAssemblyLine>builder()
104104
.addShape(STRUCTURE_PIECE_MAIN, transpose(shapeMain))
105-
.addElement('A', ofGlassTieredMixed((byte) 4, (byte) 127, 5))
105+
.addElement('A', chainAllGlasses())
106106
.addElement(
107107
'B',
108108
buildHatchAdder(TST_AdvCircuitAssemblyLine.class).atLeast(InputBus, OutputBus, InputHatch)

0 commit comments

Comments
 (0)