geforkt von Mirrors/Paper
b9badbf2bc
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: 79f6ba25 Skip tests on default builds b85cc32f Further discourage World.regenerateChunk CraftBukkit Changes:7560d3b5
Skip tests on default buildsd0a9130d
SPIGOT-4563: Fix regenerating chunks saved to disk already Spigot Changes: 8173d06f Remove need for redundant second clone of repositories 8ede0393 Rebuild patches
46 Zeilen
2.1 KiB
Diff
46 Zeilen
2.1 KiB
Diff
From c9fb380ad89cac03569265033dd78a7cb0af754f Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sun, 22 Jul 2018 21:21:41 -0400
|
|
Subject: [PATCH] Don't save Proto Chunks
|
|
|
|
These chunks are unfinished, and waste cpu time saving these unfinished chunks.
|
|
the loadChunk method refuses to acknoledge they exists, and will restart
|
|
a new chunk generation process to begin with, so saving them serves no benefit.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
|
index 0fc4d9f52..2c4a4fc6b 100644
|
|
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
|
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
|
@@ -304,6 +304,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
|
}
|
|
|
|
public void saveChunk(World world, IChunkAccess ichunkaccess, boolean unloaded) throws IOException, ExceptionWorldConflict {
|
|
+ if (ichunkaccess.i().d() == ChunkStatus.Type.PROTOCHUNK) { return; } // Paper - don't save proto chunks
|
|
// Spigot end
|
|
world.checkSession();
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
|
|
index 70a95c263..56958a5ce 100644
|
|
--- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
|
|
+++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
|
|
@@ -21,7 +21,7 @@ public class ChunkTaskScheduler extends Scheduler<ChunkCoordIntPair, ChunkStatus
|
|
protected boolean a(Scheduler<ChunkCoordIntPair, ChunkStatus, ProtoChunk>.a scheduler_a) {
|
|
ProtoChunk protochunk = (ProtoChunk) scheduler_a.a();
|
|
|
|
- return !protochunk.ab_() && !protochunk.h();
|
|
+ return !protochunk.ab_() /*&& !protochunk.h()*/; // Paper
|
|
}
|
|
};
|
|
|
|
@@ -85,6 +85,7 @@ public class ChunkTaskScheduler extends Scheduler<ChunkCoordIntPair, ChunkStatus
|
|
}
|
|
|
|
public void a(BooleanSupplier booleansupplier) {
|
|
+ if (true) return; // Paper - we don't save proto chunks, and don't want to block thread
|
|
IChunkLoader ichunkloader = this.e;
|
|
|
|
synchronized (this.e) {
|
|
--
|
|
2.20.1
|
|
|