geforkt von Mirrors/Paper
385f313a8b
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: d41796de SPIGOT-7071: Add Player#stopSound(SoundCategory category) 61dae5b2 SPIGOT-7011, SPIGOT-7065: Overhaul of structures CraftBukkit Changes: 991aeda12 SPIGOT-1729, SPIGOT-7090: Keep precision in teleportation between worlds 5c9a5f628 SPIGOT-7071: Add Player#stopSound(SoundCategory category) 68f888ded SPIGOT-7011, SPIGOT-7065: Overhaul of structures 0231a3746 Remove outdated build delay. Spigot Changes: 475f6008 Rebuild patches 8ce1761f Rebuild patches
58 Zeilen
2.4 KiB
Diff
58 Zeilen
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 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 5c5e05673e0912f4dbd6c728f4c3b7fcdae8f0e8..57cb548683f7b2972c998afd34176952426f8b47 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 89e46828639b85da1f70f03bfd2a8e9c8487033f..324fca7bf480a463adb30842fa169052534f5252 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -260,6 +260,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
|
public default Chunk getChunkAt(long chunkKey) {
|
|
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));
|
|
+ }
|
|
// Paper end
|
|
|
|
/**
|