Load Spawn Chunks Asynchronously and Spiral Out

Ensures absolute center is first in priority
Speeds up server startup
This commit is contained in:
Aikar
2020-04-19 06:01:07 -04:00
parent 37c7a3af0a
commit 9fc8102ef5
14 changed files with 186 additions and 161 deletions

View File

@@ -32,7 +32,7 @@ https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528273&page=com.atlass
https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528577&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-528577
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index 5acad8e44..af8109878 100644
index 5acad8e44f..af81098784 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -0,0 +0,0 @@ public class PaperCommand extends Command {
@@ -185,7 +185,7 @@ index 5acad8e44..af8109878 100644
* Ported from MinecraftForge - author: LexManos <LexManos@gmail.com> - License: LGPLv2.1
*/
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 96ac76c13..0db7b88bd 100644
index 96ac76c134..0db7b88bdd 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
@@ -198,7 +198,7 @@ index 96ac76c13..0db7b88bd 100644
public final ChunkGenerator<?> chunkGenerator;
private final WorldServer world;
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index 95024d6ee..4851b9fc5 100644
index 3342278bcd..2dcecc1bbd 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -0,0 +0,0 @@ import com.destroystokyo.paper.block.TargetBlockInfo;
@@ -221,7 +221,7 @@ index 95024d6ee..4851b9fc5 100644
import javax.annotation.Nullable;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.List;
import java.util.List;
import java.util.Queue;
+import java.util.Set;
import java.util.concurrent.CompletableFuture;
@@ -399,7 +399,7 @@ index 95024d6ee..4851b9fc5 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index c4bbee7d6..b6d387006 100644
index c4bbee7d6a..b6d3870063 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -0,0 +0,0 @@ public class PlayerChunk {
@@ -412,7 +412,7 @@ index c4bbee7d6..b6d387006 100644
private int dirtyCount;
private int r;
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 863c47b76..cdab5ab6b 100644
index 863c47b761..cdab5ab6be 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
@@ -434,7 +434,7 @@ index 863c47b76..cdab5ab6b 100644
private final DefinedStructureManager definedStructureManager;
private final File w;
diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java
index 77bb6b092..7a8397815 100644
index 77bb6b092a..7a8397815a 100644
--- a/src/main/java/net/minecraft/server/Ticket.java
+++ b/src/main/java/net/minecraft/server/Ticket.java
@@ -0,0 +0,0 @@ public final class Ticket<T> implements Comparable<Ticket<?>> {