Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@09904fd Re-add legacy getChunkAtAsynchronously to ChunkProviderServer
This commit is contained in:
BillyGalbreath
2022-09-02 08:20:04 -05:00
parent ff8e329e9d
commit 415a70846c
4 changed files with 27 additions and 27 deletions

View File

@@ -2978,7 +2978,7 @@ index ca42c2642a729b90d22b968af7258f3aee72e14b..7613510e5f4c22ee15651f162fe1bca1
public boolean visible = true;
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index ea1b8f4fd49678f39b1036ae6be880bacc6997f8..40094f8ed5e04eed0378c68120c918af05090601 100644
index efcb80efc69a1e5ffc81b579bf535fd94e8144d7..795691bcb61a7c2b4f903d8db3b6714908c78ac2 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -75,6 +75,9 @@ public class ServerChunkCache extends ChunkSource {
@@ -2991,7 +2991,7 @@ index ea1b8f4fd49678f39b1036ae6be880bacc6997f8..40094f8ed5e04eed0378c68120c918af
private static int getChunkCacheKey(int x, int z) {
return x & 3 | ((z & 3) << 2);
@@ -783,6 +786,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -785,6 +788,7 @@ public class ServerChunkCache extends ChunkSource {
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
gameprofilerfiller.push("pollingChunks");
@@ -2999,7 +2999,7 @@ index ea1b8f4fd49678f39b1036ae6be880bacc6997f8..40094f8ed5e04eed0378c68120c918af
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
@@ -792,18 +796,25 @@ public class ServerChunkCache extends ChunkSource {
@@ -794,18 +798,25 @@ public class ServerChunkCache extends ChunkSource {
// Paper start - per player mob spawning
NaturalSpawner.SpawnState spawnercreature_d; // moved down
if ((this.spawnFriendlies || this.spawnEnemies) && this.chunkMap.playerMobDistanceMap != null) { // don't count mobs when animals and monsters are disabled
@@ -3031,7 +3031,7 @@ index ea1b8f4fd49678f39b1036ae6be880bacc6997f8..40094f8ed5e04eed0378c68120c918af
gameprofilerfiller.popPush("filteringLoadedChunks");
// Paper - moved down
this.level.timings.chunkTicks.startTiming(); // Paper
@@ -841,8 +852,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -843,8 +854,8 @@ public class ServerChunkCache extends ChunkSource {
if ((true || this.level.isNaturalSpawningAllowed(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning // Paper - replace player chunk loader system
chunk1.incrementInhabitedTime(j);
@@ -3042,7 +3042,7 @@ index ea1b8f4fd49678f39b1036ae6be880bacc6997f8..40094f8ed5e04eed0378c68120c918af
}
if (true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { // Paper - replace player chunk loader system
@@ -904,6 +915,30 @@ public class ServerChunkCache extends ChunkSource {
@@ -906,6 +917,30 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - controlled flush for entity tracker packets
}

View File

@@ -450,10 +450,10 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849be2ed7a23 100644
index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c2689ae00ab 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -481,10 +481,10 @@ public class ServerChunkCache extends ChunkSource {
@@ -483,10 +483,10 @@ public class ServerChunkCache extends ChunkSource {
com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.level, x1, z1);
// Paper end
com.destroystokyo.paper.io.SyncLoadFinder.logSyncLoad(this.level, x1, z1); // Paper - sync load info
@@ -466,7 +466,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
this.distanceManager.clearPriorityTickets(pair); // Paper - Chunk priority
this.distanceManager.clearUrgent(pair); // Paper - Chunk priority
} // Paper
@@ -648,7 +648,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -650,7 +650,7 @@ public class ServerChunkCache extends ChunkSource {
public boolean runDistanceManagerUpdates() {
if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority
if (this.chunkMap.unloadingPlayerChunk) { LOGGER.error("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper
@@ -475,7 +475,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
boolean flag = this.distanceManager.runAllUpdates(this.chunkMap);
boolean flag1 = this.chunkMap.promoteChunkMap();
@@ -658,7 +658,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -660,7 +660,7 @@ public class ServerChunkCache extends ChunkSource {
this.clearCache();
return true;
}
@@ -484,7 +484,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
}
// Paper start
@@ -676,17 +676,17 @@ public class ServerChunkCache extends ChunkSource {
@@ -678,17 +678,17 @@ public class ServerChunkCache extends ChunkSource {
public void save(boolean flush) {
this.runDistanceManagerUpdates();
@@ -506,7 +506,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
}
// Paper end
@@ -721,22 +721,22 @@ public class ServerChunkCache extends ChunkSource {
@@ -723,22 +723,22 @@ public class ServerChunkCache extends ChunkSource {
@Override
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
this.level.getProfiler().push("purge");
@@ -535,7 +535,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
this.level.getProfiler().pop();
this.clearCache();
}
@@ -791,7 +791,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -793,7 +793,7 @@ public class ServerChunkCache extends ChunkSource {
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
gameprofilerfiller.push("naturalSpawnCount");
@@ -544,7 +544,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
int l = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - per player mob spawning
NaturalSpawner.SpawnState spawnercreature_d; // moved down
@@ -812,12 +812,12 @@ public class ServerChunkCache extends ChunkSource {
@@ -814,12 +814,12 @@ public class ServerChunkCache extends ChunkSource {
// Pufferfish end
}
// Paper end
@@ -559,7 +559,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
// Paper - moved down
@@ -871,17 +871,17 @@ public class ServerChunkCache extends ChunkSource {
@@ -873,17 +873,17 @@ public class ServerChunkCache extends ChunkSource {
}
}
// Paper end - optimise chunk tick iteration
@@ -581,7 +581,7 @@ index 40094f8ed5e04eed0378c68120c918af05090601..6b4c502cf549996411ac21251e22849b
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
this.chunkMap.needsChangeBroadcasting.clear();
@@ -893,7 +893,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -895,7 +895,7 @@ public class ServerChunkCache extends ChunkSource {
}
}
}

View File

@@ -430,10 +430,10 @@ index 56ec684bac1c29c99bac117e38d82db2b4dc20e8..e4cec79dc5911e1f000c63fe333eea04
//try (co.aikar.timings.Timing ignored1 = this.level.timings.chunkSaveDataSerialization.startTiming()) { // Paper // Purpur
nbttagcompound = ChunkSerializer.write(this.level, chunk);
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc9a5bf74c 100644
index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd83e07bbc1 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -452,9 +452,9 @@ public class ServerChunkCache extends ChunkSource {
@@ -454,9 +454,9 @@ public class ServerChunkCache extends ChunkSource {
return ifLoaded;
}
// Paper end
@@ -445,7 +445,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
long k = ChunkPos.asLong(x, z);
ChunkAccess ichunkaccess;
@@ -468,7 +468,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -470,7 +470,7 @@ public class ServerChunkCache extends ChunkSource {
}
}
@@ -454,7 +454,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = this.getChunkFutureMainThread(x, z, leastStatus, create, true); // Paper
ServerChunkCache.MainThreadExecutor chunkproviderserver_b = this.mainThreadProcessor;
@@ -567,13 +567,13 @@ public class ServerChunkCache extends ChunkSource {
@@ -569,13 +569,13 @@ public class ServerChunkCache extends ChunkSource {
this.distanceManager.addTicket(TicketType.REQUIRED_LOAD, chunkcoordintpair, l, identifier); // Paper - prevent plugin unloads from removing our ticket
if (isUrgent) this.distanceManager.markUrgent(chunkcoordintpair); // Paper - Chunk priority
if (this.chunkAbsent(playerchunk, l)) {
@@ -471,7 +471,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
if (this.chunkAbsent(playerchunk, l)) {
this.distanceManager.removeTicket(TicketType.REQUIRED_LOAD, chunkcoordintpair, l, identifier); // Paper
throw (IllegalStateException) Util.pauseInIde(new IllegalStateException("No chunk holder after ticket has been added"));
@@ -708,24 +708,24 @@ public class ServerChunkCache extends ChunkSource {
@@ -710,24 +710,24 @@ public class ServerChunkCache extends ChunkSource {
// CraftBukkit start - modelled on below
public void purgeUnload() {
if (true) return; // Paper - tickets will be removed later, this behavior isn't really well accounted for by the chunk system
@@ -501,7 +501,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
if (tickChunks) {
//this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
this.chunkMap.playerChunkManager.tick(); // Paper - this is mostly is to account for view distance changes
@@ -734,10 +734,10 @@ public class ServerChunkCache extends ChunkSource {
@@ -736,10 +736,10 @@ public class ServerChunkCache extends ChunkSource {
}
//this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur
@@ -514,7 +514,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
this.clearCache();
}
@@ -783,14 +783,14 @@ public class ServerChunkCache extends ChunkSource {
@@ -785,14 +785,14 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - optimize isOutisdeRange
LevelData worlddata = this.level.getLevelData();
@@ -532,7 +532,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
//this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
int l = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - per player mob spawning
@@ -815,13 +815,13 @@ public class ServerChunkCache extends ChunkSource {
@@ -817,13 +817,13 @@ public class ServerChunkCache extends ChunkSource {
//this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur
//this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously
@@ -548,7 +548,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
boolean flag2 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
// Paper - only shuffle if per-player mob spawning is disabled
@@ -872,15 +872,15 @@ public class ServerChunkCache extends ChunkSource {
@@ -874,15 +874,15 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - optimise chunk tick iteration
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
@@ -567,7 +567,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
//this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
@@ -894,7 +894,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -896,7 +896,7 @@ public class ServerChunkCache extends ChunkSource {
}
}
//this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur
@@ -576,7 +576,7 @@ index 6b4c502cf549996411ac21251e22849be2ed7a23..25b9f739abba986264e9f59b5125c1cc
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
// Paper start - controlled flush for entity tracker packets
List<net.minecraft.network.Connection> disabledFlushes = new java.util.ArrayList<>(this.level.players.size());
@@ -1100,7 +1100,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -1102,7 +1102,7 @@ public class ServerChunkCache extends ChunkSource {
@Override
protected void doRunTask(Runnable task) {