aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorSampsa <69092953+S4mpsa@users.noreply.github.com>2024-07-29 22:33:21 +0300
committerGitHub <noreply@github.com>2024-07-29 15:33:21 -0400
commit078a7800baa7ad01f268f53363ced60034811948 (patch)
treeef56f94ca047d4743360b2d465f75f571506156f /src/main/java/gregtech/api/metatileentity/implementations
parent56488cf3e5c9259158d350103a9506ff669bd46f (diff)
downloadGT5-Unofficial-078a7800baa7ad01f268f53363ced60034811948.tar.gz
GT5-Unofficial-078a7800baa7ad01f268f53363ced60034811948.tar.bz2
GT5-Unofficial-078a7800baa7ad01f268f53363ced60034811948.zip
Spread multiblocks to 20 buckets to spread recipe checks around (#2789)
* Add offset between 1 and 20 to every multiblock to spread recipeChecks around * Change to 100 buckets instead to have even distribution * Make random offset final
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 44e3e4bd52..f0f8c9f806 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -160,6 +160,8 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
protected GT_SoundLoop activitySoundLoop;
private long mLastWorkingTick = 0;
+ private static final int CHECK_INTERVAL = 100; // How often should we check for a new recipe on an idle machine?
+ private final int randomTickOffset = (int) (Math.random() * CHECK_INTERVAL + 1);
protected static final byte INTERRUPT_SOUND_INDEX = 8;
protected static final byte PROCESS_START_SOUND_INDEX = 1;
@@ -526,7 +528,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
// Perform more frequent recipe change after the machine just shuts down.
long timeElapsed = aTick - mLastWorkingTick;
- if (timeElapsed >= 100) return aTick % 100 == 0;
+ if (timeElapsed >= CHECK_INTERVAL) return (aTick + randomTickOffset) % CHECK_INTERVAL == 0;
// Batch mode should be a lot less aggressive at recipe checking
if (!isBatchModeEnabled()) {
return timeElapsed == 5 || timeElapsed == 12