From 54900086dd183138c97a9b81eda2d176104cc377 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Thu, 29 Apr 2021 16:23:33 +0800 Subject: [PATCH] Unpark main thread when tasks added --- .../io/izzel/arclight/common/mod/server/ArclightServer.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java index 6136f583..8d054430 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java @@ -16,6 +16,7 @@ import org.bukkit.craftbukkit.v.command.ColouredConsoleSender; import java.io.File; import java.util.Objects; import java.util.concurrent.Executor; +import java.util.concurrent.locks.LockSupport; public class ArclightServer { @@ -65,6 +66,9 @@ public class ArclightServer { public static void executeOnMainThread(Runnable runnable) { ((MinecraftServerBridge) getMinecraftServer()).bridge$queuedProcess(runnable); + if (LockSupport.getBlocker(getMinecraftServer().getExecutionThread()) == "waiting for tasks") { + LockSupport.unpark(getMinecraftServer().getExecutionThread()); + } } public static Executor getMainThreadExecutor() {