diff options
author | evgengoldwar <69961523+evgengoldwar@users.noreply.github.com> | 2024-07-18 12:58:48 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-18 15:58:48 +0700 |
commit | dcc8dac94e6d5a5561cf8bf38fc7f87e222b40e3 (patch) | |
tree | c8f6da382c75e3d5ef6c2c6c4f0d3d2cea0f65e0 /src | |
parent | 1103e0d46bf6c4a7dc96fdabbb76628b0b8ca3a8 (diff) | |
download | GT5-Unofficial-dcc8dac94e6d5a5561cf8bf38fc7f87e222b40e3.tar.gz GT5-Unofficial-dcc8dac94e6d5a5561cf8bf38fc7f87e222b40e3.tar.bz2 GT5-Unofficial-dcc8dac94e6d5a5561cf8bf38fc7f87e222b40e3.zip |
Fix steam multi (#2657)
* Fix Bug
* Fix Bug
* Fix bug
* Fix direction bug
* Fix vertical rotated washer
* Fix static variables
Diffstat (limited to 'src')
4 files changed, 169 insertions, 148 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java index 95f06af096..f4637fdd39 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java @@ -71,7 +71,7 @@ public class GregtechMetaTileEntity_SteamCentrifuge private static final String STRUCTUR_PIECE_MAIN = "main"; - private static IStructureDefinition<GregtechMetaTileEntity_SteamCentrifuge> STRUCTURE_DEFINITION = null; + private IStructureDefinition<GregtechMetaTileEntity_SteamCentrifuge> STRUCTURE_DEFINITION = null; private final String[][] shape = new String[][] { { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " }, { " ", " ABA ", " BDB ", " ABA ", " " }, { " A ", " ACA ", "ACDCA", " ACA ", " A " }, { " A~A ", "AABAA", "ABDBA", "AABAA", " AAA " }, { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " } }; @@ -85,14 +85,22 @@ public class GregtechMetaTileEntity_SteamCentrifuge private int tierFireBoxCasing = -1; private int tierMachineCasing = -1; + private int tCountCasing = 0; + private int tierMachine = 1; private String tMachineCasing = "Solid Bronze or Steel Machine Casing"; - public static int getTierMachineCasing(Block block, int meta) { - if (block == sBlockCasings1 && 10 == meta) return 1; - if (block == sBlockCasings2 && 0 == meta) return 2; - return -1; + public int getTierMachineCasing(Block block, int meta) { + if (block == sBlockCasings1 && 10 == meta) { + tCountCasing++; + return 1; + } + if (block == sBlockCasings2 && 0 == meta) { + tCountCasing++; + return 2; + } + return 0; } private String tFireBoxCasing = "Bronze or Steel Firebox Casing"; @@ -100,7 +108,7 @@ public class GregtechMetaTileEntity_SteamCentrifuge public static int getTierFireBoxCasing(Block block, int meta) { if (block == sBlockCasings3 && 13 == meta) return 1; if (block == sBlockCasings3 && 14 == meta) return 2; - return -1; + return 0; } private String tGearBoxCasing = "Bronze or Steel Gear Box Casing"; @@ -108,7 +116,7 @@ public class GregtechMetaTileEntity_SteamCentrifuge public static int getTierGearBoxCasing(Block block, int meta) { if (block == sBlockCasings2 && 2 == meta) return 1; if (block == sBlockCasings2 && 3 == meta) return 2; - return -1; + return 0; } private String tPipeCasing = "Bronze or Steel Pipe Casing"; @@ -116,7 +124,7 @@ public class GregtechMetaTileEntity_SteamCentrifuge public static int getTierPipeCasing(Block block, int meta) { if (block == sBlockCasings2 && 12 == meta) return 1; if (block == sBlockCasings2 && 13 == meta) return 2; - return -1; + return 0; } protected void updateHatchTexture() { @@ -181,14 +189,21 @@ public class GregtechMetaTileEntity_SteamCentrifuge tierPipeCasing = -1; tierFireBoxCasing = -1; tierMachineCasing = -1; + tCountCasing = 0; if (!checkPiece(STRUCTUR_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) return false; if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierFireBoxCasing < 0 && tierMachineCasing < 0) return false; - if (tierGearBoxCasing == 1 && tierPipeCasing == 1 && tierFireBoxCasing == 1 && tierMachineCasing == 1) { + if (tierGearBoxCasing == 1 && tierPipeCasing == 1 + && tierFireBoxCasing == 1 + && tierMachineCasing == 1 + && tCountCasing > 60) { updateHatchTexture(); tierMachine = 1; return true; } - if (tierGearBoxCasing == 2 && tierPipeCasing == 2 && tierFireBoxCasing == 2 && tierMachineCasing == 2) { + if (tierGearBoxCasing == 2 && tierPipeCasing == 2 + && tierFireBoxCasing == 2 + && tierMachineCasing == 2 + && tCountCasing > 60) { updateHatchTexture(); tierMachine = 2; return true; @@ -215,55 +230,45 @@ public class GregtechMetaTileEntity_SteamCentrifuge .addShape(STRUCTUR_PIECE_MAIN, transpose(shape)) .addElement( 'B', - withChannel( - "tier", - ofBlocksTiered( - GregtechMetaTileEntity_SteamCentrifuge::getTierGearBoxCasing, - ImmutableList.of(Pair.of(sBlockCasings2, 2), Pair.of(sBlockCasings2, 3)), - -1, - (t, m) -> t.tierGearBoxCasing = m, - t -> t.tierGearBoxCasing))) + ofBlocksTiered( + GregtechMetaTileEntity_SteamCentrifuge::getTierGearBoxCasing, + ImmutableList.of(Pair.of(sBlockCasings2, 2), Pair.of(sBlockCasings2, 3)), + -1, + (t, m) -> t.tierGearBoxCasing = m, + t -> t.tierGearBoxCasing)) .addElement( 'C', - withChannel( - "tier", - ofBlocksTiered( - GregtechMetaTileEntity_SteamCentrifuge::getTierPipeCasing, - ImmutableList.of(Pair.of(sBlockCasings2, 12), Pair.of(sBlockCasings2, 13)), - -1, - (t, m) -> t.tierPipeCasing = m, - t -> t.tierPipeCasing))) + ofBlocksTiered( + GregtechMetaTileEntity_SteamCentrifuge::getTierPipeCasing, + ImmutableList.of(Pair.of(sBlockCasings2, 12), Pair.of(sBlockCasings2, 13)), + -1, + (t, m) -> t.tierPipeCasing = m, + t -> t.tierPipeCasing)) .addElement( 'D', - withChannel( - "tier", - ofBlocksTiered( - GregtechMetaTileEntity_SteamCentrifuge::getTierFireBoxCasing, - ImmutableList.of(Pair.of(sBlockCasings3, 13), Pair.of(sBlockCasings3, 14)), - -1, - (t, m) -> t.tierFireBoxCasing = m, - t -> t.tierFireBoxCasing))) + ofBlocksTiered( + GregtechMetaTileEntity_SteamCentrifuge::getTierFireBoxCasing, + ImmutableList.of(Pair.of(sBlockCasings3, 13), Pair.of(sBlockCasings3, 14)), + -1, + (t, m) -> t.tierFireBoxCasing = m, + t -> t.tierFireBoxCasing)) .addElement( 'A', - withChannel( - "tier", - ofChain( - ofBlocksTiered( - GregtechMetaTileEntity_SteamCentrifuge::getTierMachineCasing, - ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), - -1, - (t, m) -> t.tierMachineCasing = m, - t -> t.tierMachineCasing), - buildSteamInput(GregtechMetaTileEntity_SteamCentrifuge.class).casingIndex(10) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_SteamCentrifuge.class) - .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) - .casingIndex(10) - .dot(1) - .buildAndChain() - - ))) + ofChain( + buildSteamInput(GregtechMetaTileEntity_SteamCentrifuge.class).casingIndex(10) + .dot(1) + .build(), + buildHatchAdder(GregtechMetaTileEntity_SteamCentrifuge.class) + .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) + .casingIndex(10) + .dot(1) + .buildAndChain(), + ofBlocksTiered( + this::getTierMachineCasing, + ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), + -1, + (t, m) -> t.tierMachineCasing = m, + t -> t.tierMachineCasing))) .build(); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java index a7f78ba17c..84aa3cf77f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java @@ -57,16 +57,24 @@ public class GregtechMetaTileEntity_SteamCompressor extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamCompressor> implements ISurvivalConstructable { private String mCasingName = "Bronze or Steel Plated Bricks"; - private static IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> STRUCTURE_DEFINITION = null; + + private int mCountCasing = 0; + private IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> STRUCTURE_DEFINITION = null; private int tierMachine = 1; private int tierMachineCasing = -1; - public static int getTierMachineCasing(Block block, int meta) { - if (block == sBlockCasings1 && 10 == meta) return 1; - if (block == sBlockCasings2 && 0 == meta) return 2; - return -1; + public int getTierMachineCasing(Block block, int meta) { + if (block == sBlockCasings1 && 10 == meta) { + mCountCasing++; + return 1; + } + if (block == sBlockCasings2 && 0 == meta) { + mCountCasing++; + return 2; + } + return 0; } public GregtechMetaTileEntity_SteamCompressor(String aName) { @@ -108,7 +116,7 @@ public class GregtechMetaTileEntity_SteamCompressor .addSeparator() .beginStructureBlock(3, 3, 4, true) .addController("Front center") - .addCasingInfoMin(mCasingName, 28, false) + .addCasingInfoMin(mCasingName, 25, false) .addOtherStructurePart(TT_steaminputbus, "Any casing", 1) .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1) .addOtherStructurePart(TT_steamhatch, "Any casing", 1) @@ -127,23 +135,21 @@ public class GregtechMetaTileEntity_SteamCompressor { "CCC", "CCC", "CCC", "CCC" }, })) .addElement( 'C', - withChannel( - "tier", - ofChain( - ofBlocksTiered( - GregtechMetaTileEntity_SteamCompressor::getTierMachineCasing, - ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), - -1, - (t, m) -> t.tierMachineCasing = m, - t -> t.tierMachineCasing), - buildSteamInput(GregtechMetaTileEntity_SteamCompressor.class).casingIndex(10) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_SteamCompressor.class) - .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) - .casingIndex(10) - .dot(1) - .buildAndChain()))) + ofChain( + buildSteamInput(GregtechMetaTileEntity_SteamCompressor.class).casingIndex(10) + .dot(1) + .build(), + buildHatchAdder(GregtechMetaTileEntity_SteamCompressor.class) + .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) + .casingIndex(10) + .dot(1) + .buildAndChain(), + ofBlocksTiered( + this::getTierMachineCasing, + ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), + -1, + (t, m) -> t.tierMachineCasing = m, + t -> t.tierMachineCasing))) .build(); } return STRUCTURE_DEFINITION; @@ -161,15 +167,16 @@ public class GregtechMetaTileEntity_SteamCompressor @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + mCountCasing = 0; tierMachineCasing = -1; if (!checkPiece(mName, 1, 1, 0)) return false; if (tierMachineCasing < 0) return false; - if (tierMachineCasing == 1) { + if (tierMachineCasing == 1 && mCountCasing > 25) { updateHatchTexture(); tierMachine = 1; return true; } - if (tierMachineCasing == 2) { + if (tierMachineCasing == 2 && mCountCasing > 25) { updateHatchTexture(); tierMachine = 2; return true; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java index bf91a3fbeb..d84003bb0f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java @@ -58,7 +58,9 @@ public class GregtechMetaTileEntity_SteamMacerator extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamMacerator> implements ISurvivalConstructable { private String mCasingName = "Bronze or Steel Plated Bricks"; - private static IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null; + + private int mCounCasing = 0; + private IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null; private int tierMachine = 0; @@ -77,10 +79,16 @@ public class GregtechMetaTileEntity_SteamMacerator return new GregtechMetaTileEntity_SteamMacerator(this.mName); } - public static int getTierMachineCasing(Block block, int meta) { - if (block == sBlockCasings1 && 10 == meta) return 1; - if (block == sBlockCasings2 && 0 == meta) return 2; - return -1; + public int getTierMachineCasing(Block block, int meta) { + if (block == sBlockCasings1 && 10 == meta) { + mCounCasing++; + return 1; + } + if (block == sBlockCasings2 && 0 == meta) { + mCounCasing++; + return 2; + } + return 0; } @Override @@ -131,23 +139,21 @@ public class GregtechMetaTileEntity_SteamMacerator new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, })) .addElement( 'C', - withChannel( - "tier", - ofChain( - ofBlocksTiered( - GregtechMetaTileEntity_SteamMacerator::getTierMachineCasing, - ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), - -1, - (t, m) -> t.tierMachineCasing = m, - t -> t.tierMachineCasing), - buildSteamInput(GregtechMetaTileEntity_SteamMacerator.class).casingIndex(10) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_SteamMacerator.class) - .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) - .casingIndex(10) - .dot(1) - .buildAndChain()))) + ofChain( + buildSteamInput(GregtechMetaTileEntity_SteamMacerator.class).casingIndex(10) + .dot(1) + .build(), + buildHatchAdder(GregtechMetaTileEntity_SteamMacerator.class) + .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) + .casingIndex(10) + .dot(1) + .buildAndChain(), + ofBlocksTiered( + this::getTierMachineCasing, + ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), + -1, + (t, m) -> t.tierMachineCasing = m, + t -> t.tierMachineCasing))) .build(); } return STRUCTURE_DEFINITION; @@ -166,14 +172,15 @@ public class GregtechMetaTileEntity_SteamMacerator @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { tierMachineCasing = -1; + mCounCasing = 0; if (!checkPiece(mName, 1, 1, 0)) return false; if (tierMachineCasing < 0) return false; - if (tierMachineCasing == 1) { + if (tierMachineCasing == 1 && mCounCasing > 14) { updateHatchTexture(); tierMachine = 1; return true; } - if (tierMachineCasing == 2) { + if (tierMachineCasing == 2 && mCounCasing > 14) { updateHatchTexture(); tierMachine = 2; return true; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java index c8c63273e5..233847c14c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java @@ -77,7 +77,7 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB private static final String STRUCTUR_PIECE_MAIN = "main"; - private static IStructureDefinition<GregtechMetaTileEntity_SteamWasher> STRUCTURE_DEFINITION = null; + private IStructureDefinition<GregtechMetaTileEntity_SteamWasher> STRUCTURE_DEFINITION = null; private final String[][] shape = new String[][] { { " ", " ", " CCCCCC ", " ", " " }, @@ -96,14 +96,22 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB private int tierMachineCasing = -1; private int tierMachine = 1; + private int tCountCasing = 0; + private String tGlasses = "Any Glass"; private String tMachineCasing = "Solid Bronze or Steel Machine Casing"; - public static int getTierMachineCasing(Block block, int meta) { - if (block == sBlockCasings1 && 10 == meta) return 1; - if (block == sBlockCasings2 && 0 == meta) return 2; - return -1; + public int getTierMachineCasing(Block block, int meta) { + if (block == sBlockCasings1 && 10 == meta) { + tCountCasing++; + return 1; + } + if (block == sBlockCasings2 && 0 == meta) { + tCountCasing++; + return 2; + } + return 0; } private String tGearBoxCasing = "Bronze or Steel Gear Box Casing"; @@ -111,7 +119,7 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB public static int getTierGearBoxCasing(Block block, int meta) { if (block == sBlockCasings2 && 2 == meta) return 1; if (block == sBlockCasings2 && 3 == meta) return 2; - return -1; + return 0; } private String tPipeCasing = "Bronze or Steel Pipe Casing"; @@ -119,7 +127,7 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB public static int getTierPipeCasing(Block block, int meta) { if (block == sBlockCasings2 && 12 == meta) return 1; if (block == sBlockCasings2 && 13 == meta) return 2; - return -1; + return 0; } protected void updateHatchTexture() { @@ -183,14 +191,15 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB tierGearBoxCasing = -1; tierPipeCasing = -1; tierMachineCasing = -1; + tCountCasing = 0; if (!checkPiece(STRUCTUR_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) return false; if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierMachineCasing < 0) return false; - if (tierGearBoxCasing == 1 && tierPipeCasing == 1 && tierMachineCasing == 1) { + if (tierGearBoxCasing == 1 && tierPipeCasing == 1 && tierMachineCasing == 1 && tCountCasing > 55) { updateHatchTexture(); tierMachine = 1; return true; } - if (tierGearBoxCasing == 2 && tierPipeCasing == 2 && tierMachineCasing == 2) { + if (tierGearBoxCasing == 2 && tierPipeCasing == 2 && tierMachineCasing == 2 && tCountCasing > 55) { updateHatchTexture(); tierMachine = 2; return true; @@ -217,24 +226,20 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB .addShape(STRUCTUR_PIECE_MAIN, transpose(shape)) .addElement( 'B', - withChannel( - "tier", - ofBlocksTiered( - GregtechMetaTileEntity_SteamWasher::getTierGearBoxCasing, - ImmutableList.of(Pair.of(sBlockCasings2, 2), Pair.of(sBlockCasings2, 3)), - -1, - (t, m) -> t.tierGearBoxCasing = m, - t -> t.tierGearBoxCasing))) + ofBlocksTiered( + GregtechMetaTileEntity_SteamWasher::getTierGearBoxCasing, + ImmutableList.of(Pair.of(sBlockCasings2, 2), Pair.of(sBlockCasings2, 3)), + -1, + (t, m) -> t.tierGearBoxCasing = m, + t -> t.tierGearBoxCasing)) .addElement( 'C', - withChannel( - "tier", - ofBlocksTiered( - GregtechMetaTileEntity_SteamWasher::getTierPipeCasing, - ImmutableList.of(Pair.of(sBlockCasings2, 12), Pair.of(sBlockCasings2, 13)), - -1, - (t, m) -> t.tierPipeCasing = m, - t -> t.tierPipeCasing))) + ofBlocksTiered( + GregtechMetaTileEntity_SteamWasher::getTierPipeCasing, + ImmutableList.of(Pair.of(sBlockCasings2, 12), Pair.of(sBlockCasings2, 13)), + -1, + (t, m) -> t.tierPipeCasing = m, + t -> t.tierPipeCasing)) .addElement('D', ofChain(ofBlock(Blocks.glass, 0), Glasses.chainAllGlasses())) .addElement( 'E', @@ -245,26 +250,23 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB ofBlockAnyMeta(BlocksItems.getFluidBlock(InternalName.fluidDistilledWater)))) .addElement( 'A', - withChannel( - "tier", - ofChain( - ofBlocksTiered( - GregtechMetaTileEntity_SteamWasher::getTierMachineCasing, - ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), - -1, - (t, m) -> t.tierMachineCasing = m, - t -> t.tierMachineCasing), - buildSteamInput(GregtechMetaTileEntity_SteamWasher.class).casingIndex(10) - .dot(1) - .build(), - buildHatchAdder(GregtechMetaTileEntity_SteamWasher.class) - .atLeast( - SteamHatchElement.InputBus_Steam, - SteamHatchElement.OutputBus_Steam, - InputHatch) - .casingIndex(10) - .dot(1) - .buildAndChain()))) + ofChain( + buildSteamInput(GregtechMetaTileEntity_SteamWasher.class).casingIndex(10) + .dot(1) + .allowOnly(ForgeDirection.NORTH) + .build(), + buildHatchAdder(GregtechMetaTileEntity_SteamWasher.class) + .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam, InputHatch) + .casingIndex(10) + .dot(1) + .allowOnly(ForgeDirection.NORTH) + .buildAndChain(), + ofBlocksTiered( + this::getTierMachineCasing, + ImmutableList.of(Pair.of(sBlockCasings1, 10), Pair.of(sBlockCasings2, 0)), + -1, + (t, m) -> t.tierMachineCasing = m, + t -> t.tierMachineCasing))) .build(); } @@ -368,6 +370,6 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB @Override protected IAlignmentLimits getInitialAlignmentLimits() { // don't rotate a washer, water will flow out. - return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped(); + return (d, r, f) -> d.offsetY == 0 && r.isNotRotated(); } } |