9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-21 16:09:19 +00:00
Files
Leaf/leaf-server/paper-patches/features/0043-Toggleable-async-catcher.patch
Taiyou cc98f4982e backport 1.21.8 async mob spawn (#479)
* backport: 1.21.8 async mob spawn

* Move into patch

* fix

* fix build

---------

Co-authored-by: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
Co-authored-by: hayanesuru <hayanesuru@outlook.jp>
2025-08-27 20:00:46 +02:00

61 lines
3.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Taiyou06 <kaandindar21@gmail.com>
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);