mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 17:01:56 +01:00
84c81146c1
Portion of diff was dropped in the mappings update commit. Also remove the option to remove invalid statistics. The server will automatically do this now as of... 1.13?, our option wasn't even doing anything.
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 bcfe4c1da..3a30349f4 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) {
|
|
--
|