From 244578bc4bb2edb8ad990df0e7ef412d5ceb047f Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 30 Jul 2022 21:05:42 +0900 Subject: Make Fusion Reactor shut down on energy shortage (#1174) --- .../machines/multi/GT_MetaTileEntity_FusionComputer.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java index 5dfed51402..c203e49346 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java @@ -349,7 +349,7 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity } } if (this.mEUStore <= 0 && mMaxProgresstime > 0) { - stopMachine(); + criticalStopMachine(); } if (mMaxProgresstime > 0) { this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(mEUt, true); @@ -380,8 +380,7 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity this.mEUStore = (int) aBaseMetaTileEntity.getStoredEU(); if (checkRecipe(mInventory[1])) { if (this.mEUStore < this.mLastRecipe.mSpecialValue - this.mEUt) { - mMaxProgresstime = 0; - turnCasingActive(false); + criticalStopMachine(); } aBaseMetaTileEntity.decreaseStoredEnergyUnits(this.mLastRecipe.mSpecialValue - this.mEUt, true); } @@ -391,7 +390,6 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity } } } else { - turnCasingActive(false); this.mLastRecipe = null; stopMachine(); } @@ -406,13 +404,13 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity if (mEUt < 0) { if (!drainEnergyInput(((long) -mEUt * 10000) / Math.max(1000, mEfficiency))) { this.mLastRecipe = null; - stopMachine(); + criticalStopMachine(); return false; } } if (this.mEUStore <= 0) { this.mLastRecipe = null; - stopMachine(); + criticalStopMachine(); return false; } return true; @@ -437,6 +435,12 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity return false; } + @Override + public void stopMachine() { + super.stopMachine(); + turnCasingActive(false); + } + @Override public String[] getInfoData() { String tier = tier() == 6 ? EnumChatFormatting.RED+"I"+EnumChatFormatting.RESET : tier() == 7 ? EnumChatFormatting.YELLOW+"II"+EnumChatFormatting.RESET : tier() == 8 ? EnumChatFormatting.GRAY+"III"+EnumChatFormatting.RESET : "IV"; -- cgit