diff options
author | Technus <daniel112092@gmail.com> | 2017-09-11 21:28:04 +0200 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2017-09-11 21:28:04 +0200 |
commit | 69683365d7faa798c5d782c8e3779b5d323c6ff6 (patch) | |
tree | 756b4d3a63e4fcd8b4fa87ffa943ae9f4dd7340e /src/main | |
parent | 77cc90a0c9892c6ebf61c403ea4ba071f3ffaea7 (diff) | |
download | GT5-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/main')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java | 12 |
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", |