aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-05-13 22:55:42 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-05-13 22:55:42 +1000
commit8381aaa4973f893ea7d3210dfe0720d20d011295 (patch)
tree21f0cd815b63ac3582071bff6e7e6524f367a992 /src
parent1219b40486ad2dd7925be929413e5eccaa30519d (diff)
downloadGT5-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')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java41
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java18
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);