diff options
author | BTone <102826865+BTone@users.noreply.github.com> | 2023-10-16 10:15:53 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-16 19:15:53 +0200 |
commit | 2aaeec607015e31c710883d4884ccdcae4abbf7a (patch) | |
tree | a1b47c6ccf0f09a465d0ac41c125da27b4e647ab /src/main/java | |
parent | 6a12b330475c0c04b1e004d5e1151f87da76e552 (diff) | |
download | GT5-Unofficial-2aaeec607015e31c710883d4884ccdcae4abbf7a.tar.gz GT5-Unofficial-2aaeec607015e31c710883d4884ccdcae4abbf7a.tar.bz2 GT5-Unofficial-2aaeec607015e31c710883d4884ccdcae4abbf7a.zip |
Item pipes now consider the tick their current transfer period started before resetting their transferred items, resulting in more predictable pipe transfer rates. (#2334)
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java index 5c98724df6..660230660e 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java @@ -47,6 +47,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE public final int mStepSize; public final int mTickTime; public int mTransferredItems = 0; + public long mCurrentTransferStartTick = 0; public ForgeDirection mLastReceivedFrom = ForgeDirection.UNKNOWN, oLastReceivedFrom = ForgeDirection.UNKNOWN; public boolean mIsRestrictive = false; private int[] cacheSides; @@ -204,8 +205,11 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - if (aBaseMetaTileEntity.isServerSide() && aTick % 10 == 0) { - if (aTick % mTickTime == 0) mTransferredItems = 0; + if (aBaseMetaTileEntity.isServerSide() && (aTick - mCurrentTransferStartTick) % 10 == 0) { + if ((aTick - mCurrentTransferStartTick) % mTickTime == 0) { + mTransferredItems = 0; + mCurrentTransferStartTick = 0; + } if (!GT_Mod.gregtechproxy.gt6Pipe || mCheckConnections) checkConnections(); @@ -323,6 +327,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE @Override public boolean incrementTransferCounter(int aIncrement) { + if (mTransferredItems == 0) mCurrentTransferStartTick = getBaseMetaTileEntity().getTimer(); mTransferredItems += aIncrement; return pipeCapacityCheck(); } |