diff --git a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_0.java b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_0.java index 96d487be..223f95a3 100644 --- a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_0.java +++ b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_0.java @@ -36,6 +36,7 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import org.bukkit.Bukkit; import org.bukkit.Chunk; +import org.bukkit.ChunkSnapshot; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.WorldCreator; @@ -141,7 +142,7 @@ public abstract class BukkitQueue_0 extends NMSMa public boolean queueChunkLoad(int cx, int cz, RunnableVal operation) { if (PAPER) { try { - getImpWorld().getChunkAtAsync(cx, cz, new World.ChunkLoadCallback() { + new PaperChunkCallback(getImpWorld(), cx, cz) { @Override public void onLoad(Chunk bukkitChunk) { try { @@ -155,7 +156,7 @@ public abstract class BukkitQueue_0 extends NMSMa PAPER = false; } } - }); + }; return true; } catch (Throwable ignore) { PAPER = false; diff --git a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java index fd89e1b8..be5c57bf 100644 --- a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java +++ b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/BukkitQueue_All.java @@ -56,17 +56,17 @@ public class BukkitQueue_All extends BukkitQueue_0 operation) { if (PAPER) { try { - getImpWorld().getChunkAtAsync(cx, cz, new World.ChunkLoadCallback() { + new PaperChunkCallback(getImpWorld(), cx, cz) { @Override public void onLoad(Chunk chunk) { try { ChunkSnapshot snapshot = chunk.getChunkSnapshot(); operation.run(snapshot); } catch (Throwable e) { - e.printStackTrace(); + PAPER = false; } } - }); + }; return true; } catch (Throwable ignore) { PAPER = false; diff --git a/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/PaperChunkCallback.java b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/PaperChunkCallback.java new file mode 100644 index 00000000..a9243f87 --- /dev/null +++ b/bukkit/src/main/java/com/boydti/fawe/bukkit/v0/PaperChunkCallback.java @@ -0,0 +1,12 @@ +package com.boydti.fawe.bukkit.v0; + +import org.bukkit.Chunk; +import org.bukkit.World; + +public abstract class PaperChunkCallback { + public PaperChunkCallback(World world, int x, int z) { + world.getChunkAtAsync(x, z, chunk -> PaperChunkCallback.this.onLoad(chunk)); + } + + public abstract void onLoad(Chunk chunk); +}