diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index 7dccbe03a4..e4ace8a7f0 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -284,6 +284,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { mOutputBusses.clear(); mDynamoHatches.clear(); mEnergyHatches.clear(); + setMufflers(false); mMufflerHatches.clear(); mMaintenanceHatches.clear(); } @@ -337,12 +338,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { | (mMachine ? 0 : 64)); aBaseMetaTileEntity.setActive(mMaxProgresstime > 0); boolean active = aBaseMetaTileEntity.isActive() && mPollution > 0; - for (GT_MetaTileEntity_Hatch_Muffler aMuffler : mMufflerHatches) { - IGregTechTileEntity iGTTileEntity = aMuffler.getBaseMetaTileEntity(); - if (iGTTileEntity != null && !iGTTileEntity.isDead()) { - iGTTileEntity.setActive(active); - } - } + setMufflers(active); } } @@ -1269,6 +1265,22 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { } } + protected void setMufflers(boolean state) { + for (GT_MetaTileEntity_Hatch_Muffler aMuffler : mMufflerHatches) { + IGregTechTileEntity iGTTileEntity = aMuffler.getBaseMetaTileEntity(); + if (iGTTileEntity != null && !iGTTileEntity.isDead()) { + iGTTileEntity.setActive(state); + } + } + } + + @Override + public void onRemoval() { + super.onRemoval(); + // Deactivate mufflers + setMufflers(false); + } + public List<GT_MetaTileEntity_Hatch> getExoticEnergyHatches() { return mExoticEnergyHatches; } |