From 497ace0dc2f99a078b58dff5a1ebdb48db924d65 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 60f249a03..fc621911e 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 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 e6c2849a7..8572de4d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -597,6 +597,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.19.0