From dbf563359289ee3bddce540d2ee7ef2b209711b5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
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<Chunk> getChunkAtAsync(final int x, final int z, final boolean gen) {
+        final ChunkProviderServer cps = this.world.getChunkProviderServer();
+        java.util.concurrent.CompletableFuture<Chunk> 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