aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-09-11 21:28:04 +0200
committerTechnus <daniel112092@gmail.com>2017-09-11 21:28:04 +0200
commit69683365d7faa798c5d782c8e3779b5d323c6ff6 (patch)
tree756b4d3a63e4fcd8b4fa87ffa943ae9f4dd7340e /src
parent77cc90a0c9892c6ebf61c403ea4ba071f3ffaea7 (diff)
downloadGT5-Unofficial-69683365d7faa798c5d782c8e3779b5d323c6ff6.tar.gz
GT5-Unofficial-69683365d7faa798c5d782c8e3779b5d323c6ff6.tar.bz2
GT5-Unofficial-69683365d7faa798c5d782c8e3779b5d323c6ff6.zip
Revert "Revert "Add tickDiff for tick diff detection using totalWorldTime, should prevent spontaneous wire combustion""
This reverts commit 77cc90a0c9892c6ebf61c403ea4ba071f3ffaea7.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
index aec89a273b..34e2303937 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
@@ -44,6 +44,8 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
public long mRestRF;
public short mOverheat;
public static short mMaxOverheat=(short) (GT_Mod.gregtechproxy.mWireHeatingTicks * 100);
+ private int tickDiff=1,lastTickDiff=1;
+ private long lastTickTime;
public GT_MetaPipeEntity_Cable(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, long aCableLossPerMeter, long aAmperage, long aVoltage, boolean aInsulated, boolean aCanShock) {
super(aID, aName, aNameRegional, 0);
@@ -229,7 +231,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
mTransferredAmperage += rUsedAmperes;
mTransferredVoltageLast20 = (Math.max(mTransferredVoltageLast20, aVoltage));
mTransferredAmperageLast20 = Math.max(mTransferredAmperageLast20, mTransferredAmperage);
- if (aVoltage > mVoltage || mTransferredAmperage > mAmperage) {
+ if (aVoltage > mVoltage || mTransferredAmperage > (mAmperage*tickDiff)) {
if(mOverheat>mMaxOverheat)
getBaseMetaTileEntity().setToFire();
else
@@ -247,6 +249,13 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
mTransferredVoltage=0;
mTransferredAmperageOK=mTransferredAmperage;
mTransferredAmperage = 0;
+
+ tickDiff=Math.min((int)(aBaseMetaTileEntity.getWorld().getTotalWorldTime()-lastTickTime),1);
+ lastTickTime=aBaseMetaTileEntity.getWorld().getTotalWorldTime();
+ if(lastTickDiff<tickDiff)
+ mOverheat=(short)Math.max(0,mOverheat-100);
+ lastTickDiff=tickDiff;
+
if(mOverheat>0)mOverheat--;
if (aTick % 20 == 0) {
mTransferredVoltageLast20OK=mTransferredVoltageLast20;
@@ -339,6 +348,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
//EnumChatFormatting.BLUE + mName + EnumChatFormatting.RESET,
"Heat: "+
EnumChatFormatting.RED+ mOverheat +EnumChatFormatting.RESET+" / "+EnumChatFormatting.YELLOW+ mMaxOverheat + EnumChatFormatting.RESET,
+ "TickDiff: "+ EnumChatFormatting.YELLOW+ tickDiff + EnumChatFormatting.RESET,
"Max Load (1t):",
EnumChatFormatting.GREEN + Integer.toString(mTransferredAmperageOK) + EnumChatFormatting.RESET +" A / "+
EnumChatFormatting.YELLOW + Long.toString(mAmperage) + EnumChatFormatting.RESET +" A",