mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-05 02:22:12 +01:00
6fe45a6b09
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 4db9e3dc Add API to locate structures CraftBukkit Changes:65bb2d0f
Increase expiration time to 10 days88a5346f
Add API to locate structures. Spigot Changes: 68acb93f Rebuild patches
29 lines
No EOL
1.3 KiB
Diff
29 lines
No EOL
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 7 Jan 2017 16:06:44 -0500
|
|
Subject: [PATCH] Enforce Sync Chunk Unloads
|
|
|
|
Unloading Chunks async is extremely dangerous. This will force it to main
|
|
the same way we handle async chunk loads.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index f39482696..e05ad05a4 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 {
|
|
}
|
|
|
|
private boolean unloadChunk0(int x, int z, boolean save) {
|
|
+ Boolean result = MCUtil.ensureMain("Unload Chunk", () -> { // Paper - Ensure never async
|
|
net.minecraft.server.Chunk chunk = world.getChunkProviderServer().getChunkAt(x, z, false, false);
|
|
if (chunk == null) {
|
|
return true;
|
|
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
|
|
|
// If chunk had previously been queued to save, must do save to avoid loss of that data
|
|
return world.getChunkProviderServer().unloadChunk(chunk, chunk.mustSave || save);
|
|
+ }); return result != null ? result : false; // Paper - Ensure never async
|
|
}
|
|
|
|
public boolean regenerateChunk(int x, int z) {
|
|
--
|