In most cases, this change won't benefit much. However, there exists the possibility that your Chunk Task threads are all busy doing super slow work such as converting chunks. If this occurs, the main thread blocking tasks, even at highest priority, has to wait for some thread to become available. This change gives us a waiting thread used only for main thread blocking tasks, as well as an increased thread priority level, so that the OS will give priority to this thread over the other threads. This is more about guarantees, and won't be any real performanc boost to anyone who has low or fast activity on their chunk tasks anyways. But not all of us force upgrade our worlds, and this can be a life saver. also reordered some patches because multiple PR's were merged.
48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
From a5bc4ab211dd7d61537cf330e7092ec28ba18733 Mon Sep 17 00:00:00 2001
|
|
From: JRoy <joshroy126@gmail.com>
|
|
Date: Fri, 10 Apr 2020 21:24:35 -0400
|
|
Subject: [PATCH] Expose MinecraftServer#isRunning
|
|
|
|
This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading.
|
|
|
|
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
|
index c3c2d9c6b..ea3e5d6fa 100644
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
@@ -1680,6 +1680,15 @@ public final class Bukkit {
|
|
public static int getCurrentTick() {
|
|
return server.getCurrentTick();
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Checks if the server is in the process of being shutdown.
|
|
+ *
|
|
+ * @return true if server is in the process of being shutdown
|
|
+ */
|
|
+ public static boolean isStopping() {
|
|
+ return server.isStopping();
|
|
+ }
|
|
// Paper end
|
|
|
|
@NotNull
|
|
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
|
index bfa83c9bb..9ceaac0e8 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -1470,5 +1470,12 @@ public interface Server extends PluginMessageRecipient {
|
|
* @return Current tick
|
|
*/
|
|
int getCurrentTick();
|
|
+
|
|
+ /**
|
|
+ * Checks if the server is in the process of being shutdown.
|
|
+ *
|
|
+ * @return true if server is in the process of being shutdown
|
|
+ */
|
|
+ boolean isStopping();
|
|
// Paper end
|
|
}
|
|
--
|
|
2.25.1
|
|
|