From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Taiyou06 Date: Tue, 8 Jul 2025 12:43:08 +0200 Subject: [PATCH] Toggleable-async-catcher diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java index e8e93538dfd71de86515d9405f728db1631e949a..796852f50d1edd5b1108ef123b4145eec8992cde 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -22,7 +22,7 @@ public class ServerShutdownThread extends Thread { return; } // Looks stalled, close async - org.spigotmc.AsyncCatcher.enabled = false; // Spigot + org.dreeam.leaf.config.modules.misc.AsyncCatcherConfig.enabled = false; // Spigot server.forceTicks = true; this.server.close(); while (!server.hasFullyShutdown) Thread.sleep(1000); diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java index 50f01faa88c8c658252fade3748f20e48e9c8432..e584205c3e1412bf2f2c4e4eb114a29cebc73fad 100644 --- a/src/main/java/org/spigotmc/AsyncCatcher.java +++ b/src/main/java/org/spigotmc/AsyncCatcher.java @@ -4,9 +4,8 @@ import net.minecraft.server.MinecraftServer; public class AsyncCatcher { - public static boolean enabled = true; - public static void catchOp(String reason) { + if (!org.dreeam.leaf.config.modules.misc.AsyncCatcherConfig.enabled) {return;} if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThread()) { // Paper - chunk system MinecraftServer.LOGGER.error("Thread {} failed main thread check: {}", Thread.currentThread().getName(), reason, new Throwable()); // Paper throw new IllegalStateException("Asynchronous " + reason + "!"); diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java index 3287d399511446178dfb0a34f9b1a3a2510d877d..d701cc85e0595d9779f591c1d20f0e35d4756a05 100644 --- a/src/main/java/org/spigotmc/RestartCommand.java +++ b/src/main/java/org/spigotmc/RestartCommand.java @@ -30,7 +30,7 @@ public class RestartCommand extends Command { } private static void restart(final String restartScript) { - AsyncCatcher.enabled = false; // Disable async catcher in case it interferes with us + org.dreeam.leaf.config.modules.misc.AsyncCatcherConfig.enabled = false; // Disable async catcher in case it interferes with us try { // Paper - extract method and cleanup boolean isRestarting = addShutdownHook(restartScript); diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java index 16e5ab49bc96f64143eb9e0dff19b33a7e3b5f3a..4e11ae93c325955f0d488c2ac82e34b96dbf68ac 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -162,7 +162,7 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre if (isLongTimeout) { if (!server.hasStopped()) { - AsyncCatcher.enabled = false; // Disable async catcher incase it interferes with us + org.dreeam.leaf.config.modules.misc.AsyncCatcherConfig.enabled = false; // Disable async catcher incase it interferes with us server.forceTicks = true; if (this.restart) { RestartCommand.addShutdownHook(SpigotConfig.restartScript);