diff options
author | Jake Potrebic <[email protected]> | 2023-11-22 20:56:28 -0800 |
---|---|---|
committer | GitHub <[email protected]> | 2023-11-22 20:56:28 -0800 |
commit | 96d5e6ca481591842f44d05ab2451f943be6a7c7 (patch) | |
tree | ad35d855fa33f6feb8e365ce12aa312bd225ff3f /patches/api/0141-isChunkGenerated-API.patch | |
parent | e1cd9e59e53aabd50e501cb01feee277a8f69902 (diff) | |
download | Paper-96d5e6ca481591842f44d05ab2451f943be6a7c7.tar.gz Paper-96d5e6ca481591842f44d05ab2451f943be6a7c7.zip |
Code Generation for TypedKeys (#9233)
Currently includes generated key holder classes for types
used in the Registry Modification API
Diffstat (limited to 'patches/api/0141-isChunkGenerated-API.patch')
-rw-r--r-- | patches/api/0141-isChunkGenerated-API.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/patches/api/0141-isChunkGenerated-API.patch b/patches/api/0141-isChunkGenerated-API.patch new file mode 100644 index 0000000000..1309083cfc --- /dev/null +++ b/patches/api/0141-isChunkGenerated-API.patch @@ -0,0 +1,59 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: cswhite2000 <[email protected]> +Date: Tue, 21 Aug 2018 19:39:46 -0700 +Subject: [PATCH] isChunkGenerated API + + +diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java +index 6e6e65c40813ccce618fa7a3df2c0030aa0a3bbe..8508aa2c6fb7c9f41f3d185f5228c86dd3b8b627 100644 +--- a/src/main/java/org/bukkit/Location.java ++++ b/src/main/java/org/bukkit/Location.java +@@ -3,6 +3,7 @@ package org.bukkit; + import com.google.common.base.Preconditions; + import java.lang.ref.Reference; + import java.lang.ref.WeakReference; ++import com.google.common.base.Preconditions; // Paper + import java.util.HashMap; + import java.util.Map; + import org.bukkit.block.Block; +@@ -545,6 +546,16 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm + public boolean isChunkLoaded() { return this.getWorld().isChunkLoaded(locToBlock(x) >> 4, locToBlock(z) >> 4); } // Paper + + // Paper start ++ /** ++ * Checks if a {@link Chunk} has been generated at this location. ++ * ++ * @return true if a chunk has been generated at this location ++ */ ++ public boolean isGenerated() { ++ World world = this.getWorld(); ++ Preconditions.checkNotNull(world, "Location has no world!"); ++ return world.isChunkGenerated(locToBlock(x) >> 4, locToBlock(z) >> 4); ++ } + + /** + * Sets the position of this Location and returns itself +diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java +index ad5afa7a05636cee82b517c673d281f0f4e38644..880ff5ee1237096ac2da115b665dc663c677e57b 100644 +--- a/src/main/java/org/bukkit/World.java ++++ b/src/main/java/org/bukkit/World.java +@@ -246,6 +246,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient + } + // Paper end - chunk long key API + ++ // Paper start - isChunkGenerated API ++ /** ++ * Checks if a {@link Chunk} has been generated at the specified chunk key, ++ * which is the X and Z packed into a long. ++ * ++ * @param chunkKey The Chunk Key to look up the chunk by ++ * @return true if the chunk has been generated, otherwise false ++ */ ++ default boolean isChunkGenerated(long chunkKey) { ++ return isChunkGenerated((int) chunkKey, (int) (chunkKey >> 32)); ++ } ++ // Paper end - isChunkGenerated API ++ + /** + * Checks if the specified {@link Chunk} is loaded + * |