From dbf563359289ee3bddce540d2ee7ef2b209711b5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:04 -0400 Subject: [PATCH] Add async chunk load API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index 74f09ac45..0c83a070f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -157,6 +157,18 @@ public class CraftWorld implements World { } } + // Paper start - Async chunk load API + @Override + public java.util.concurrent.CompletableFuture getChunkAtAsync(final int x, final int z, final boolean gen) { + final ChunkProviderServer cps = this.world.getChunkProviderServer(); + java.util.concurrent.CompletableFuture future = new java.util.concurrent.CompletableFuture<>(); + net.minecraft.server.Chunk chunk = cps.getChunkAt(x, z, true, gen); + // TODO: Add back async variant + future.complete(chunk != null ? chunk.bukkitChunk : null); + return future; + } + // Paper end + public Chunk getChunkAt(int x, int z) { return this.world.getChunkProviderServer().getChunkAt(x, z, true, true).bukkitChunk; } -- 2.19.0