3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-25 07:40:06 +01:00
Paper/Spigot-Server-Patches/0116-Fix-Chunk-Unload-Queue-Issues.patch

39 Zeilen
1.8 KiB
Diff

2018-07-26 01:05:07 +02:00
From 5f487664b0a7c81473babc61ebcb4d2b577b2405 Mon Sep 17 00:00:00 2001
2016-06-23 04:18:41 +02:00
From: Aikar <aikar@aikar.co>
Date: Thu, 12 May 2016 02:03:56 -0400
Subject: [PATCH] Fix Chunk Unload Queue Issues
Vanilla implemented similar logic as Paper had pre 1.9.4, but Spigot
has not resolved all the bugs with the changes.
This patch fixes known issues and really should be applied by Spigot team.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
2018-07-23 10:39:55 +02:00
index 695c6d3b70..acc21aec02 100644
2016-06-23 04:18:41 +02:00
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -58,7 +58,7 @@ public class Chunk implements IChunkAccess {
private long A; public long getInhabitedTime() { return A; } // Paper - OBFHELPER
private int B;
private final ConcurrentLinkedQueue<BlockPosition> C;
2016-06-23 04:18:41 +02:00
- public boolean d;
2016-11-17 03:23:38 +01:00
+ public boolean d; public void setShouldUnload(boolean unload) { this.d = unload; } public boolean isUnloading() { return d; } // Paper - OBFHELPER
private ChunkStatus D;
private int E;
private final AtomicInteger F;
2016-06-23 04:18:41 +02:00
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
2018-07-26 01:05:07 +02:00
index 0e04d65981..2925c345a1 100644
2016-06-23 04:18:41 +02:00
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
2018-07-26 01:05:07 +02:00
@@ -312,6 +312,7 @@ public class ChunkProviderServer implements IChunkProvider {
2016-06-23 04:18:41 +02:00
if (chunk != null && chunk.d) {
// CraftBukkit start - move unload logic to own method
+ chunk.setShouldUnload(false); // Paper
if (!unloadChunk(chunk, true)) {
continue;
}
--
2.18.0
2016-06-23 04:18:41 +02:00