Paper/Spigot-Server-Patches/0344-isChunkGenerated-API.patch

42 lines
1.8 KiB
Diff
Raw Normal View History

From c1aeede6736d16c3a1b61fee9caaf09e2fca2d5b Mon Sep 17 00:00:00 2001
From: cswhite2000 <18whitechristop@gmail.com>
Date: Tue, 21 Aug 2018 19:44:10 -0700
Subject: [PATCH] isChunkGenerated API
Resolves #1329
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 0ca071b879..96d49b469a 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -34,6 +34,9 @@ public class ChunkProviderServer implements IChunkProvider {
private long lastQueuedSaves = 0L; // Paper
private long lastProcessedSaves = 0L; // Paper
private long lastSaveStatPrinted = System.currentTimeMillis();
+ public boolean isChunkGenerated(int x, int z) {
+ return this.chunks.containsKey(ChunkCoordIntPair.asLong(x, z)) || ((ChunkRegionLoader) this.chunkLoader).chunkExists(x, z);
+ }
// Paper end
public final Long2ObjectMap<Chunk> chunks = Long2ObjectMaps.synchronize(new ChunkMap(8192));
private Chunk lastChunk;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index ba2e768594..1ccf2a7609 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -605,6 +605,12 @@ public class CraftWorld implements World {
return getChunkAt(location.getBlockX() >> 4, location.getBlockZ() >> 4);
}
+ // Paper start
+ public boolean isChunkGenerated(int x, int z) {
+ return this.getHandle().getChunkProviderServer().isChunkGenerated(x, z);
+ }
+ // Paper end
+
public ChunkGenerator getGenerator() {
return generator;
}
--
2.18.0