diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-13 22:55:42 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-13 22:55:42 +1000 |
commit | 8381aaa4973f893ea7d3210dfe0720d20d011295 (patch) | |
tree | 21f0cd815b63ac3582071bff6e7e6524f367a992 /src | |
parent | 1219b40486ad2dd7925be929413e5eccaa30519d (diff) | |
download | GT5-Unofficial-8381aaa4973f893ea7d3210dfe0720d20d011295.tar.gz GT5-Unofficial-8381aaa4973f893ea7d3210dfe0720d20d011295.tar.bz2 GT5-Unofficial-8381aaa4973f893ea7d3210dfe0720d20d011295.zip |
% Made the Adv. EBF take maint. issues when Pyrotheum runs out during processing.
Diffstat (limited to 'src')
2 files changed, 55 insertions, 4 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index 8849b61fe7..386d259cab 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -535,6 +535,47 @@ GT_MetaTileEntity_MultiBlockBase { return false; } + /** + * Causes a Random Maint. Issue. + * @return {@link boolean} - Returns whether or not an issue was caused, should always be true. + */ + public boolean causeMaintenanceIssue() { + boolean b = false; + switch (this.getBaseMetaTileEntity().getRandomNumber(6)) { + case 0 : { + this.mWrench = false; + b = true; + break; + } + case 1 : { + this.mScrewdriver = false; + b = true; + break; + } + case 2 : { + this.mSoftHammer = false; + b = true; + break; + } + case 3 : { + this.mHardHammer = false; + b = true; + break; + } + case 4 : { + this.mSolderingTool = false; + b = true; + break; + } + case 5 : { + this.mCrowbar = false; + b = true; + break; + } + } + return b; + } + @Override public boolean addToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java index 0b70ea8188..5d78c90a9d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java @@ -413,14 +413,24 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase } + private volatile int mGraceTimer = 100; + + @SuppressWarnings("unused") @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (this.getBaseMetaTileEntity().isActive()) { - if (this.depleteInput(FluidUtils.getFluidStack("pyrotheum", 1))) { - //Nom Fuel + if (this.mMaxProgresstime > 0 && this.mProgresstime != 0) { + if (!this.depleteInput(FluidUtils.getFluidStack("pyrotheum", 1))) { + if (mGraceTimer-- == 0) { + if (this.causeMaintenanceIssue()){ + this.stopMachine(); + } + if (false) { //To be replaced with a config option or something + this.explodeMultiblock(); + } + } } else { - this.getBaseMetaTileEntity().setActive(false); + mGraceTimer = 100; } } super.onPostTick(aBaseMetaTileEntity, aTick); |