geforkt von Mirrors/Paper
2f782a6652
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 CraftBukkit Changes:17543ecf
SPIGOT-5035: Error Using Virtual Merchant GUI0fc6922b
SPIGOT-5028: Villager#setVillagerExperience() doesn't workbdbdbe44
SPIGOT-5024: Fox error - Unknown target reason
61 Zeilen
2.3 KiB
Diff
61 Zeilen
2.3 KiB
Diff
From ff382bb3c8b57fce381883928c1e401f85964a97 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 6dc399899..4e69f277b 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 c840d4744..93dd8742a 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -204,6 +204,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
|
|
|