diff options
Diffstat (limited to 'src/main/java/gregtech/api/threads')
-rw-r--r-- | src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java b/src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java index 371c3316f3..5e2cc08475 100644 --- a/src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java +++ b/src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java @@ -55,10 +55,19 @@ public class GT_Runnable_MachineBlockUpdate implements Runnable { GT_Runnable_MachineBlockUpdate.isEnabled = isEnabled; } + public static boolean isCurrentThreadEnabled() { + return perThreadEnable.get(); + } + + public static void setCurrentThreadEnabled(boolean perThreadEnable) { + GT_Runnable_MachineBlockUpdate.perThreadEnable.set(perThreadEnable); + } + protected static boolean isEnabled = true; + protected static final ThreadLocal<Boolean> perThreadEnable = ThreadLocal.withInitial(() -> true); public static void setMachineUpdateValues(World aWorld, ChunkCoordinates aCoords) { - if (isEnabled) { + if (isEnabled() && isCurrentThreadEnabled()) { EXECUTOR_SERVICE.submit(new GT_Runnable_MachineBlockUpdate(aWorld, aCoords)); } } |