aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0455-API-for-checking-sent-chunks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0455-API-for-checking-sent-chunks.patch')
-rw-r--r--patches/api/0455-API-for-checking-sent-chunks.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/patches/api/0455-API-for-checking-sent-chunks.patch b/patches/api/0455-API-for-checking-sent-chunks.patch
new file mode 100644
index 0000000000..a3844b5401
--- /dev/null
+++ b/patches/api/0455-API-for-checking-sent-chunks.patch
@@ -0,0 +1,58 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Flo0 <[email protected]>
+Date: Mon, 8 Apr 2024 16:22:07 +0200
+Subject: [PATCH] API for checking sent chunks
+
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index 4bc4a1c0c6f6759f984843823f1bbec6ffed92bc..7b699c1e63cf5bc805754101f28066f836877ee2 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -3804,6 +3804,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ void resetIdleDuration();
+ // Paper end
+
++ // Paper start - Add chunk view API
++ /**
++ * Gets the a set of chunk keys for all chunks that have been sent to the player.
++ *
++ * @return an immutable set of chunk keys
++ * @apiNote currently marked as experimental to gather feedback regarding the returned set being an immutable copy
++ * vs it potentially being an unmodifiable view of the set chunks.
++ */
++ @ApiStatus.Experimental
++ java.util.@NotNull @org.jetbrains.annotations.Unmodifiable Set<Long> getSentChunkKeys();
++
++ /**
++ * Gets the set of chunks that have been sent to the player.
++ *
++ * @return an immutable set of chunks
++ * @apiNote currently marked as experimental to gather feedback regarding the returned set being an immutable copy
++ * vs it potentially being an unmodifiable view of the set chunks.
++ */
++ @ApiStatus.Experimental
++ java.util.@NotNull @org.jetbrains.annotations.Unmodifiable Set<org.bukkit.Chunk> getSentChunks();
++
++ /**
++ * Checks if the player has been sent a specific chunk.
++ *
++ * @param chunk the chunk to check
++ * @return true if the player has been sent the chunk, false otherwise
++ */
++ default boolean isChunkSent(@NotNull org.bukkit.Chunk chunk) {
++ return this.isChunkSent(chunk.getChunkKey());
++ }
++
++ /**
++ * Checks if the player has been sent a specific chunk.
++ *
++ * @param chunkKey the chunk key to check
++ * @return true if the player has been sent the chunk, false otherwise
++ * @see org.bukkit.Chunk#getChunkKey()
++ */
++ boolean isChunkSent(long chunkKey);
++ // Paper end
++
+ @NotNull
+ @Override
+ Spigot spigot();