aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorBTone <102826865+BTone@users.noreply.github.com>2023-10-16 10:15:53 -0700
committerGitHub <noreply@github.com>2023-10-16 19:15:53 +0200
commit2aaeec607015e31c710883d4884ccdcae4abbf7a (patch)
treea1b47c6ccf0f09a465d0ac41c125da27b4e647ab /src/main/java
parent6a12b330475c0c04b1e004d5e1151f87da76e552 (diff)
downloadGT5-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.java9
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();
}