mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 19:52:55 +01:00
0976d52bbd
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Please note that this build includes changes to meet upstreams requirements for nullability annotations. While we aim for a level of accuracy, these might not be 100% correct, if there are any issues, please speak to us on discord, or open an issue on the tracker to discuss. Bukkit Changes: 9a6a1de3 Remove nullability annotations from enum constructors 3f0591ea SPIGOT-2540: Add nullability annotations to entire Bukkit API CraftBukkit Changes:8d8475fc
SPIGOT-4666: Force parameter in HumanEntity#sleep8b1588e2
Fix ExplosionPrimeEvent#setFire not working with EnderCrystals39a287b7
Don't ignore newlines in PlayerListHeader/Footer Spigot Changes: cf694d87 Add nullability annotations
58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From c8396200e161a36ea877c2f6a355145a24f9b0b0 Mon Sep 17 00:00:00 2001
|
|
From: cswhite2000 <18whitechristop@gmail.com>
|
|
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 d3cff9de8..0966f5e03 100644
|
|
--- a/src/main/java/org/bukkit/Location.java
|
|
+++ b/src/main/java/org/bukkit/Location.java
|
|
@@ -1,5 +1,6 @@
|
|
package org.bukkit;
|
|
|
|
+import com.google.common.base.Preconditions; // Paper
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
@@ -510,6 +511,15 @@ public class Location implements Cloneable, ConfigurationSerializable {
|
|
public boolean isChunkLoaded() { return world.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() {
|
|
+ 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 158917492..6b91635fe 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -197,6 +197,17 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
|
return getChunkAt((int) chunkKey, (int) (chunkKey >> 32));
|
|
}
|
|
|
|
+ /**
|
|
+ * 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
|
|
+ */
|
|
+ public default boolean isChunkGenerated(long chunkKey) {
|
|
+ return isChunkGenerated((int) chunkKey, (int) (chunkKey >> 32));
|
|
+ }
|
|
+
|
|
/**
|
|
* This is the Legacy API before Java 8 was supported. Java 8 Consumer is provided,
|
|
* as well as future support
|
|
--
|
|
2.21.0
|
|
|