Folia/patches/api/0005-Add-API-for-checking-ownership-of-region-by-position.patch
2024-03-24 13:44:25 -07:00

47 lines
2.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Tue, 7 Mar 2023 14:34:09 -0800
Subject: [PATCH] Add API for checking ownership of region by position/entity
This may be useful for plugins which want to perform operations
over large areas outside of the buffer zone provided by the
regionaliser, as it is not guaranteed that anything outside
of the buffer zone is owned. Then, the plugins may use
the schedulers depending on the result of the ownership
check.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index db46e3233edf18bd91a6da8612ccc9f0080d5c17..4d6de4f2c67b1f122768806443766bd20c5ae617 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2873,6 +2873,14 @@ public final class Bukkit {
return server.isOwnedByCurrentRegion(entity);
}
// Paper end - Folia region threading API
+ // Folia start - region threading API
+ /**
+ * Returns whether the current thread is ticking the global region.
+ */
+ public static boolean isGlobalTickThread() {
+ return server.isGlobalTickThread();
+ }
+ // Folia end - region threading API
@NotNull
public static Server.Spigot spigot() {
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 0eb61b090d6f8fa6d99735ff3680dac774c52c1f..d46f932b595495816ea038cf161bc7f2d85f177e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2512,4 +2512,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
// Paper end - Folia region threading API
+ // Folia start - region threading API
+ /**
+ * Returns whether the current thread is ticking the global region.
+ */
+ public boolean isGlobalTickThread();
+ // Folia end - region threading API
}