Add API to check if the server is sleeping (#11605)

This commit is contained in:
Abel 2024-11-22 12:22:20 +01:00
parent 22792d7987
commit 9badea8a55
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,22 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Abel <abelvanhulst@gmail.com>
Date: Sun, 10 Nov 2024 16:32:51 +0100
Subject: [PATCH] API to check if the server is sleeping
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
// Paper end - Folia region threading API
+
+ // Paper start - API to check if the server is sleeping
+ /**
+ * Returns whether the server is sleeping/paused.
+ */
+ boolean isPaused();
+ // Paper end - API to check if the server is sleeping
}

View file

@ -0,0 +1,37 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Abel <abelvanhulst@gmail.com>
Date: Sun, 10 Nov 2024 16:32:34 +0100
Subject: [PATCH] API to check if the server is sleeping
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end - Add tick times API and /mspt command
+
+ // Paper start - API to check if the server is sleeping
+ public boolean isTickPaused() {
+ return this.emptyTicks > 0 && this.emptyTicks >= this.pauseWhileEmptySeconds() * 20;
+ }
+ // Paper end - API to check if the server is sleeping
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -0,0 +0,0 @@ public final class CraftServer implements Server {
return this.potionBrewer;
}
// Paper end
+
+ // Paper start - API to check if the server is sleeping
+ @Override
+ public boolean isPaused() {
+ return this.console.isTickPaused();
+ }
+ // Paper end - API to check if the server is sleeping
}