Skip to content

Commit

Permalink
Add API to check if the server is sleeping (PaperMC#11605)
Browse files Browse the repository at this point in the history
  • Loading branch information
Abelkrijgtalles authored Nov 22, 2024
1 parent f8e2a67 commit 8dc42fa
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
22 changes: 22 additions & 0 deletions patches/api/0498-API-to-check-if-the-server-is-sleeping.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Abel <[email protected]>
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 0b78564256ebc647ebac402e549d86ab6e307c8d..ba366576a571214e67bcc529dc1bca19e1d59ef8 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2572,4 +2572,11 @@ 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
}
37 changes: 37 additions & 0 deletions patches/server/1068-API-to-check-if-the-server-is-sleeping.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Abel <[email protected]>
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 64b56abf8900d0424100da460fc68ac964394793..5d070f036dae6d93f863c55192b557419634456d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -3186,4 +3186,10 @@ 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 806e56cb60235a99f468d36a059fdbd54c2d46e3..605662917a7720a6c5134fd1d93aa2d26116b76d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3246,4 +3246,11 @@ 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
}

0 comments on commit 8dc42fa

Please sign in to comment.