f09fed894f
--- work/Bukkit Submodule work/Bukkit 6a4242cb..337955e3: > SPIGOT-5468: Improve Beehive TileEntity API > #473: Add an API for passing the heightmap to getHighestBlockAt* method --- work/CraftBukkit Submodule work/CraftBukkit 807a677e..708be695: > SPIGOT-5468: Improve Beehive TileEntity API > #624: Add an API for passing the heightmap to getHighestBlockAt* method > MC-135989, SPIGOT-5564: Don't kick players for flight while riptiding This deprecates the Paper getHighestBlockAt HeightMap APIs now that Bukkit has added their own. These methods will stick around long enough for people to migrate. Their API is pretty much the same as ours, migration should be quick and easy.
60 lines
2.3 KiB
Diff
60 lines
2.3 KiB
Diff
From 6a29ae93dfaeecf54eb718c7a35fdbfb1008e72e 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 07e532cd..6e1a1124 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 {
|
|
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 e291c544..5366d205 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -253,6 +253,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.25.0
|
|
|