Update to Minecraft 1.17.1 (#6097)

This commit is contained in:
Nassim Jahnke 2021-07-07 08:52:40 +02:00 committed by GitHub
parent a831634d44
commit 56fd1a2f84
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
266 changed files with 1415 additions and 1491 deletions

View file

@ -37,7 +37,7 @@ index 8104b9be5a8e8d57f6f50475788aec6a762a0f7e..e6883cad6c604673535deacc19463aee
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index d2ac486acadd3a1ac829208f9f4594418594f459..19bf44ab6b1f6803eb41208fd07ec0f3dad22c6e 100644
index 073aa637fcaf14a5ae8b203604d75b74829cbc4e..1b2e7af2824cecc5010f2beefa4f5b838c5ca09d 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -241,6 +241,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@ -92,16 +92,16 @@ index d2ac486acadd3a1ac829208f9f4594418594f459..19bf44ab6b1f6803eb41208fd07ec0f3
// Paper start - no-tick view distance
int effectiveTickViewDistance = this.getEffectiveViewDistance();
int effectiveNoTickViewDistance = Math.max(this.getEffectiveNoTickViewDistance(), effectiveTickViewDistance);
@@ -340,7 +364,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -342,7 +366,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.mainThreadMailbox = this.queueSorter.getProcessor(mailbox, false);
this.mailboxLight = this.queueSorter.getProcessor(lightthreaded, false);// Paper
this.lightEngine = new ThreadedLevelLightEngine(chunkProvider, this, this.level.dimensionType().hasSkyLight(), threadedmailbox1, this.queueSorter.getProcessor(threadedmailbox1, false));
- this.distanceManager = new ChunkMap.ChunkDistanceManager(executor, mainThreadExecutor);
+ this.distanceManager = new ChunkMap.ChunkDistanceManager(executor, mainThreadExecutor); this.distanceManager.chunkMap = this; // Paper
this.overworldDataStorage = persistentStateManagerFactory;
this.poiManager = new PoiManager(new File(this.storageFolder, "poi"), dataFixer, dsync, world);
this.poiManager = new PoiManager(new File(file, "poi"), dataFixer, dsync, world);
this.setViewDistance(viewDistance);
@@ -384,6 +408,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -386,6 +410,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.playerEntityTrackerTrackMaps[ordinal] = new com.destroystokyo.paper.util.misc.PlayerAreaMap(this.pooledLinkedPlayerHashSets);
}
// Paper end - use distance map to optimise entity tracker
@ -140,7 +140,7 @@ index d2ac486acadd3a1ac829208f9f4594418594f459..19bf44ab6b1f6803eb41208fd07ec0f3
// Paper start - no-tick view distance
this.setNoTickViewDistance(this.level.paperConfig.noTickViewDistance);
this.playerViewDistanceTickMap = new com.destroystokyo.paper.util.misc.PlayerAreaMap(this.pooledLinkedPlayerHashSets,
@@ -653,6 +709,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -655,6 +711,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
} else {
if (holder != null) {
holder.setTicketLevel(level);
@ -148,7 +148,7 @@ index d2ac486acadd3a1ac829208f9f4594418594f459..19bf44ab6b1f6803eb41208fd07ec0f3
}
if (holder != null) {
@@ -1474,29 +1531,50 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1475,29 +1532,50 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return this.isOutsideOfRange(chunkPos, false);
}
@ -291,10 +291,10 @@ index b49d380ef088aed3204ec71abc437c348ef004fa..577b391dcba1db712c1e2c83296e1c87
public String getDebugStatus() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index ba10da7899143e8a8c16bc1413fd8de4e5645f46..147f6fd5174a2c489dfb7ea2ce2d2dc7dacfb89d 100644
index da2a7abd3d2bd1a83e2a3f3a458287730e5a29da..d6cb161981d3cdef4669522ba51cb1db83f9e04c 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -730,6 +730,37 @@ public class ServerChunkCache extends ChunkSource {
@@ -729,6 +729,37 @@ public class ServerChunkCache extends ChunkSource {
boolean flag1 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
if (!flag) {
@ -332,7 +332,7 @@ index ba10da7899143e8a8c16bc1413fd8de4e5645f46..147f6fd5174a2c489dfb7ea2ce2d2dc7
this.level.getProfiler().push("pollingChunks");
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
boolean flag2 = level.ticksPerAnimalSpawns != 0L && worlddata.getGameTime() % level.ticksPerAnimalSpawns == 0L; // CraftBukkit
@@ -759,15 +790,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -758,15 +789,7 @@ public class ServerChunkCache extends ChunkSource {
this.level.getProfiler().pop();
//List<PlayerChunk> list = Lists.newArrayList(this.playerChunkMap.f()); // Paper
//Collections.shuffle(list); // Paper
@ -349,8 +349,8 @@ index ba10da7899143e8a8c16bc1413fd8de4e5645f46..147f6fd5174a2c489dfb7ea2ce2d2dc7
this.level.timings.chunkTicks.startTiming(); // Paper
final int[] chunksTicked = {0}; this.chunkMap.forEachVisibleChunk((playerchunk) -> { // Paper - safe iterator incase chunk loads, also no wrapping
Optional<LevelChunk> optional = ((Either) playerchunk.getTickingChunkFuture().getNow(ChunkHolder.UNLOADED_LEVEL_CHUNK)).left();
@@ -782,9 +805,9 @@ public class ServerChunkCache extends ChunkSource {
this.level.getProfiler().pop();
@@ -775,9 +798,9 @@ public class ServerChunkCache extends ChunkSource {
LevelChunk chunk = (LevelChunk) optional.get();
ChunkPos chunkcoordintpair = chunk.getPos();
- if (this.level.isPositionEntityTicking(chunkcoordintpair) && !this.chunkMap.noPlayersCloseForSpawning(chunkcoordintpair)) {
@ -362,10 +362,10 @@ index ba10da7899143e8a8c16bc1413fd8de4e5645f46..147f6fd5174a2c489dfb7ea2ce2d2dc7
if (chunksTicked[0]++ % 10 == 0) this.level.getServer().midTickLoadChunks(); // Paper
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8f67cbf2b66adfcebff1c6caef5b0996bb7c24ae..eefe6f77d616768d3cfc93b7e2030d59b49b9e21 100644
index bd51cf65e05b2c6303a4a454f8eee04a97331a69..9fab262e420ca693778c6d41a0cf7b2783875ae2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -249,6 +249,7 @@ public class ServerPlayer extends Player {
@@ -250,6 +250,7 @@ public class ServerPlayer extends Player {
// CraftBukkit end
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper