diff --git a/sources/src/main/java/io/akarin/server/core/AkarinGlobalConfig.java b/sources/src/main/java/io/akarin/server/core/AkarinGlobalConfig.java index ea778b1c5..6427278a9 100644 --- a/sources/src/main/java/io/akarin/server/core/AkarinGlobalConfig.java +++ b/sources/src/main/java/io/akarin/server/core/AkarinGlobalConfig.java @@ -185,16 +185,6 @@ public class AkarinGlobalConfig { keepAliveTimeout = getSeconds(getString("core.keep-alive-response-timeout", "30s")) * 1000; } - public static int asyncLightingThreads; - private static void asyncLightingThreads() { - asyncLightingThreads = getInt("core.async-lighting.executor-threads", 2); - } - - public static boolean asyncLightingWorkStealing; - private static void asyncLightingWorkStealing() { - asyncLightingWorkStealing = getBoolean("core.async-lighting.use-work-stealing", false); - } - public static boolean throwOnAsyncCaught; private static void throwOnAsyncCaught() { throwOnAsyncCaught = getBoolean("core.thread-safe.async-catcher.throw-on-caught", true); diff --git a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java index 82a15106f..581f7e696 100644 --- a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java +++ b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java @@ -68,7 +68,7 @@ public abstract class MixinChunk implements IMixinChunk { private CopyOnWriteArrayList queuedBlockLightingUpdates = new CopyOnWriteArrayList<>(); private AtomicInteger pendingLightUpdates = new AtomicInteger(); private long lightUpdateTime; - private static ExecutorService lightExecutorService; + private ExecutorService lightExecutorService; @Shadow(aliases = "m") private boolean isGapLightingUpdated; @Shadow(aliases = "r") private boolean ticked; diff --git a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java index 254adf01d..c7bd84e49 100644 --- a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java +++ b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinWorldServer.java @@ -27,6 +27,8 @@ package io.akarin.server.mixin.lighting; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; + import javax.annotation.Nullable; import org.spongepowered.asm.mixin.Mixin; @@ -35,7 +37,6 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import io.akarin.api.internal.Akari; import io.akarin.api.internal.mixin.IMixinChunk; import io.akarin.api.internal.mixin.IMixinWorldServer; -import io.akarin.server.core.AkarinGlobalConfig; import net.minecraft.server.BlockPosition; import net.minecraft.server.Chunk; import net.minecraft.server.EnumDirection; @@ -54,11 +55,11 @@ public abstract class MixinWorldServer extends MixinWorld implements IMixinWorld private static final short XZ_MASK = 0xF; private static final short Y_SHORT_MASK = 0xFF; - private static final ExecutorService lightExecutorService = getExecutorService(); + private final static ThreadFactory SERVICE_FACTORY = new ThreadFactoryBuilder().setNameFormat("Akarin Async Lighting Thread - %1$d").build(); + private final ExecutorService lightExecutorService = getExecutorService(); - private static ExecutorService getExecutorService() { - return AkarinGlobalConfig.asyncLightingWorkStealing ? - Executors.newFixedThreadPool(AkarinGlobalConfig.asyncLightingThreads, new ThreadFactoryBuilder().setNameFormat("Akarin Async Light Thread").build()) : Executors.newWorkStealingPool(AkarinGlobalConfig.asyncLightingThreads); + private ExecutorService getExecutorService() { + return Executors.newFixedThreadPool(1, SERVICE_FACTORY); } @Override