diff options
author | Mary <33456283+FourIsTheNumber@users.noreply.github.com> | 2024-08-20 23:35:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-21 05:35:55 +0200 |
commit | 8130497452b4aa7df26f4b61672113775bcf0442 (patch) | |
tree | cb30e36c322feb3f928d8892a55747d0110c4512 /src/main/java/com | |
parent | 139284195669c6be46eb0771f0f5e2095246cafd (diff) | |
download | GT5-Unofficial-8130497452b4aa7df26f4b61672113775bcf0442.tar.gz GT5-Unofficial-8130497452b4aa7df26f4b61672113775bcf0442.tar.bz2 GT5-Unofficial-8130497452b4aa7df26f4b61672113775bcf0442.zip |
Active Transformer deform mechanics (#2935)
* AT no longer explodes on component break.
* Give a grace window of one structure check for hotswapping.
* Move new code to top of class
---------
Co-authored-by: boubou19 <miisterunknown@gmail.com>
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java index 308482b862..8d75ea7d8e 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java @@ -45,6 +45,25 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder; public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM implements ISurvivalConstructable { + // Gives a one-chance grace period for deforming the multi. This is to allow you to hotswap hatches without + // powerfailing due to an unlucky tick timing - this grace period is already a part of base TecTech but the + // tick timer is essentially random, so it was extremely unreliable. Now you are guaranteed the length + // of one structure check to finish your hotswap before it deforms. + private boolean grace = false; + + @Override + public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + casingCount = 0; + if (structureCheck_EM("main", 1, 1, 0) && casingCount >= 5) { + grace = true; + return true; + } else if (grace) { + grace = false; + return true; + } + return false; + } + @Override public void onFirstTick_EM(IGregTechTileEntity aBaseMetaTileEntity) { if (!mMachine) { @@ -81,12 +100,12 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo public GT_MetaTileEntity_EM_transformer(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); - eDismantleBoom = true; + eDismantleBoom = false; } public GT_MetaTileEntity_EM_transformer(String aName) { super(aName); - eDismantleBoom = true; + eDismantleBoom = false; } @Override @@ -95,12 +114,6 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo } @Override - public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - casingCount = 0; - return structureCheck_EM("main", 1, 1, 0) && casingCount >= 5; - } - - @Override @NotNull protected CheckRecipeResult checkProcessing_EM() { if (ePowerPass) { |