mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-04 10:11:29 +01:00
58a8ca3eae
We are still missing Async Chunk Loading, but plugins may be depending on this API, so it missing blocks upgrading.
39 lines
No EOL
1.5 KiB
Diff
39 lines
No EOL
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 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 0f4a894eb..995e02f1d 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
|
}
|
|
}
|
|
|
|
+ // Paper start - Async chunk load API
|
|
+ public void getChunkAtAsync(final int x, final int z, final ChunkLoadCallback callback) {
|
|
+ final ChunkProviderServer cps = this.world.getChunkProviderServer();
|
|
+ callback.onLoad(cps.getChunkAt(x, z).bukkitChunk); // TODO: Add back async variant
|
|
+ /*cps.getChunkAt(x, z, new Runnable() {
|
|
+ @Override
|
|
+ public void run() {
|
|
+ callback.onLoad(cps.getChunkAt(x, z).bukkitChunk);
|
|
+ }
|
|
+ });*/
|
|
+ }
|
|
+
|
|
+ public void getChunkAtAsync(Block block, ChunkLoadCallback callback) {
|
|
+ getChunkAtAsync(block.getX() >> 4, block.getZ() >> 4, callback);
|
|
+ }
|
|
+
|
|
+ public void getChunkAtAsync(Location location, ChunkLoadCallback callback) {
|
|
+ getChunkAtAsync(location.getBlockX() >> 4, location.getBlockZ() >> 4, callback);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public Chunk getChunkAt(int x, int z) {
|
|
return this.world.getChunkProviderServer().getChunkAt(x, z).bukkitChunk;
|
|
}
|
|
--
|