aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorMary <33456283+FourIsTheNumber@users.noreply.github.com>2024-08-20 23:35:55 -0400
committerGitHub <noreply@github.com>2024-08-21 05:35:55 +0200
commit8130497452b4aa7df26f4b61672113775bcf0442 (patch)
treecb30e36c322feb3f928d8892a55747d0110c4512 /src/main/java/com
parent139284195669c6be46eb0771f0f5e2095246cafd (diff)
downloadGT5-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.java29
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) {