diff options
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_CableDebug.java | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_CableDebug.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_CableDebug.java index 7530be8729..7520d317ea 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_CableDebug.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_CableDebug.java @@ -261,8 +261,10 @@ public class GT_MetaPipeEntity_CableDebug extends MetaPipeEntity implements IMet for(int i=0;i<16;i++) sendToPlayerAppend(lastAmperage[i]+" "); sendToPlayerAppend(tickDiff+" "); + sendToPlayerAppend(mTransferredAmperage+" "); + sendToPlayerAppend(mTransferredAmperageOK+" "); - int ampOverheat=mTransferredAmperageOK-((int)mAmperage*16);//16+tickDiff-1 + //int ampOverheat=mTransferredAmperageOK-((int)mAmperage*16);//16+tickDiff-1 if (tickDiff >= 16) { for (int i = 0; i <= 14; i++) lastAmperage[i]=0; } else { @@ -271,17 +273,37 @@ public class GT_MetaPipeEntity_CableDebug extends MetaPipeEntity implements IMet if(--tickDiff>0){ lastAmperage[i]=0; }else{ - ampOverheat+=lastAmperage[i]; + break; + //ampOverheat+=lastAmperage[i]; } } } - lastAmperage[15]=mTransferredAmperageOK; - sendToPlayerAppend(mTransferredAmperageOK+" "); - sendToPlayerAppend(mTransferredAmperage+" "); - sendToPlayer(ampOverheat); - if (ampOverheat > 0) { - mOverheat+=100*ampOverheat; - lastAmperage[15]-=ampOverheat; + + lastAmperage[15]=mTransferredAmperage; + + if(lastAmperage[15]>mAmperage) { + int i = 0; + for (; i < 15; i++) { + int diff = (int) mAmperage - lastAmperage[i]; + if (diff > 0) { + lastAmperage[15] -= diff; + lastAmperage[i] += diff; + } + if (lastAmperage[15] <= mAmperage) break; + } + if(lastAmperage[15]!=mAmperage){ + lastAmperage[i]-=(int)mAmperage-lastAmperage[15]; + lastAmperage[15]=(int)mAmperage; + } + } + + + + sendToPlayer(lastAmperage[15]); + + if (lastAmperage[15] > mAmperage) { + mOverheat+=100*(lastAmperage[15]-mAmperage); + lastAmperage[15]-=mAmperage; } } |