aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/threads
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/threads')
-rw-r--r--src/main/java/gregtech/api/threads/GT_Runnable_MachineBlockUpdate.java11
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));
}
}