diff --git a/patches/server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch index 39170d6c83..5929fe8d6b 100644 --- a/patches/server/0006-MC-Utils.patch +++ b/patches/server/0006-MC-Utils.patch @@ -5067,7 +5067,7 @@ index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9 } catch (Throwable throwable) { // Spigot Start diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index d2fbb6e28db27b3207879be3027bb74410a53900..303125c4d0f8f235703975eab5eccb9aa045ccf8 100644 +index d2fbb6e28db27b3207879be3027bb74410a53900..faa0f1c72693977b65b3deb0f689756fbc83f568 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -49,9 +49,9 @@ public class ChunkHolder { @@ -5286,8 +5286,27 @@ index d2fbb6e28db27b3207879be3027bb74410a53900..303125c4d0f8f235703975eab5eccb9a } if (!playerchunk_state1.isOrAfter(playerchunk_state)) { +@@ -563,4 +642,18 @@ public class ChunkHolder { + } + }; + } ++ ++ // Paper start ++ public final boolean isEntityTickingReady() { ++ return this.isEntityTickingReady; ++ } ++ ++ public final boolean isTickingReady() { ++ return this.isTickingReady; ++ } ++ ++ public final boolean isFullChunkReady() { ++ return this.isFullChunkReady; ++ } ++ // Paper end + } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index f41f0e6aa12c89b7a8dd95a7c43510bae2d58525..85c177bdf9ab329b7ff30294fd8d45b6690d6b71 100644 +index f41f0e6aa12c89b7a8dd95a7c43510bae2d58525..3c43b9e510ec1df43a54cde475490c49e57ca1b8 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -58,6 +58,7 @@ import net.minecraft.network.protocol.game.ClientboundSetChunkCacheCenterPacket; @@ -5446,6 +5465,38 @@ index f41f0e6aa12c89b7a8dd95a7c43510bae2d58525..85c177bdf9ab329b7ff30294fd8d45b6 } @Override +@@ -1414,7 +1496,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + public class ChunkDistanceManager extends DistanceManager { + + protected ChunkDistanceManager(Executor workerExecutor, Executor mainThreadExecutor) { +- super(workerExecutor, mainThreadExecutor); ++ super(workerExecutor, mainThreadExecutor, ChunkMap.this); + } + + @Override +diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java +index ef87c37633cee4ab438f1991144188ade1c4e65f..19d3802becd353e130b785f8286e595e08dc5c5f 100644 +--- a/src/main/java/net/minecraft/server/level/DistanceManager.java ++++ b/src/main/java/net/minecraft/server/level/DistanceManager.java +@@ -59,8 +59,9 @@ public abstract class DistanceManager { + final Executor mainThreadExecutor; + private long ticketTickCounter; + private int simulationDistance = 10; ++ private final ChunkMap chunkMap; // Paper + +- protected DistanceManager(Executor workerExecutor, Executor mainThreadExecutor) { ++ protected DistanceManager(Executor workerExecutor, Executor mainThreadExecutor, ChunkMap chunkMap) { + Objects.requireNonNull(mainThreadExecutor); + ProcessorHandle mailbox = ProcessorHandle.of("player ticket throttler", mainThreadExecutor::execute); + ChunkTaskPriorityQueueSorter chunktaskqueuesorter = new ChunkTaskPriorityQueueSorter(ImmutableList.of(mailbox), workerExecutor, 4); +@@ -69,6 +70,7 @@ public abstract class DistanceManager { + this.ticketThrottlerInput = chunktaskqueuesorter.getProcessor(mailbox, true); + this.ticketThrottlerReleaser = chunktaskqueuesorter.getReleaseProcessor(mailbox); + this.mainThreadExecutor = mainThreadExecutor; ++ this.chunkMap = chunkMap; // Paper + } + + protected void purgeStaleTickets() { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java index bdc774e3fbb949290fbc94c4b0cbc8f2c09f5bd8..8509bf94f64c6b761ee38e39278d12fcedeeff75 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/patches/server/0330-ChunkMapDistance-CME.patch b/patches/server/0330-ChunkMapDistance-CME.patch index 2c5ede3247..b2a567d003 100644 --- a/patches/server/0330-ChunkMapDistance-CME.patch +++ b/patches/server/0330-ChunkMapDistance-CME.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ChunkMapDistance CME diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 5b999da8c5ad430f9157276857165596d1208f64..26a787864058dccc0365680b0259ddf0dad22b58 100644 +index 60f6d74b6da4c35f937e171a70a9e78406154f4b..51175994b37e966af8983df1f15a0fc5a638a0b5 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -70,6 +70,7 @@ public class ChunkHolder { @@ -17,7 +17,7 @@ index 5b999da8c5ad430f9157276857165596d1208f64..26a787864058dccc0365680b0259ddf0 public ChunkHolder(ChunkPos pos, int level, LevelHeightAccessor world, LevelLightEngine lightingProvider, ChunkHolder.LevelChangeListener levelUpdateListener, ChunkHolder.PlayerProvider playersWatchingChunkProvider) { diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index ef87c37633cee4ab438f1991144188ade1c4e65f..975f1aab48f04a9f3cae04141b3fb65247f0ffaf 100644 +index 19d3802becd353e130b785f8286e595e08dc5c5f..f0dac1f596911eb2109192ef16a619f8ae71d1f7 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java @@ -51,7 +51,16 @@ public abstract class DistanceManager { @@ -38,7 +38,7 @@ index ef87c37633cee4ab438f1991144188ade1c4e65f..975f1aab48f04a9f3cae04141b3fb652 final ChunkTaskPriorityQueueSorter ticketThrottler; final ProcessorHandle> ticketThrottlerInput; final ProcessorHandle ticketThrottlerReleaser; -@@ -124,26 +133,14 @@ public abstract class DistanceManager { +@@ -126,26 +135,14 @@ public abstract class DistanceManager { ; } @@ -73,7 +73,7 @@ index ef87c37633cee4ab438f1991144188ade1c4e65f..975f1aab48f04a9f3cae04141b3fb652 return true; } else { if (!this.ticketsToRelease.isEmpty()) { -@@ -432,7 +429,7 @@ public abstract class DistanceManager { +@@ -434,7 +431,7 @@ public abstract class DistanceManager { if (k != level) { playerchunk = DistanceManager.this.updateChunkScheduling(id, level, playerchunk, k); if (playerchunk != null) { diff --git a/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch index d450c95f78..cd2777bf53 100644 --- a/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch +++ b/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Don't crash if player is attempted to be removed from I suspect it deals with teleporting as it uses players current x/y/z diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index 975f1aab48f04a9f3cae04141b3fb65247f0ffaf..1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c 100644 +index f0dac1f596911eb2109192ef16a619f8ae71d1f7..8868ffcda194e8c2300181a2cdda9337dbde6284 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java -@@ -281,8 +281,8 @@ public abstract class DistanceManager { +@@ -283,8 +283,8 @@ public abstract class DistanceManager { ObjectSet objectset = (ObjectSet) this.playersPerChunk.get(i); if (objectset == null) return; // CraftBukkit - SPIGOT-6208 diff --git a/patches/removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch similarity index 77% rename from patches/removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch rename to patches/server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 8e5de74595..32bf2d4d01 100644 --- a/patches/removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -80,7 +80,7 @@ index 2fe519d4059fac06781c30e140895b604e13104f..35949e9c15eb998aa89842d34d0999cd chunkData.addProperty("queued-for-unload", chunkMap.toDrop.contains(playerChunk.pos.longKey)); chunkData.addProperty("status", status == null ? "unloaded" : status.toString()); diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 26a787864058dccc0365680b0259ddf0dad22b58..d03aeed657fc7e427d847e0b8e2d58c59e6851fa 100644 +index 51175994b37e966af8983df1f15a0fc5a638a0b5..675c13c629e77ba50ecdad8cae43cc6b8aee5eaa 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -57,7 +57,7 @@ public class ChunkHolder { @@ -223,11 +223,11 @@ index 26a787864058dccc0365680b0259ddf0dad22b58..d03aeed657fc7e427d847e0b8e2d58c5 }); } }).exceptionally((throwable) -> { -@@ -643,4 +696,134 @@ public class ChunkHolder { - } +@@ -644,7 +697,134 @@ public class ChunkHolder { }; } -+ + +- // Paper start + // Paper start - Chunk gen/load priority system + volatile int neighborPriority = -1; + volatile int priorityBoost = 0; @@ -356,13 +356,14 @@ index 26a787864058dccc0365680b0259ddf0dad22b58..d03aeed657fc7e427d847e0b8e2d58c5 + ", priority=(" + ticketLevel + " - " + priorityBoost +" vs N " + neighborPriority + ") = " + getDemandedPriority() + " A " + queueLevel + + '}'; + } -+ // Paper end - } + public final boolean isEntityTickingReady() { + return this.isEntityTickingReady; + } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b0625a01b810 100644 +index 7f4b68199b0cd8adb09ef09539b43e62885e19c5..896bca9ac8017ace5bc95d4ab1c2f96a63bd921b 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -124,6 +124,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -125,6 +125,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public final ServerLevel level; private final ThreadedLevelLightEngine lightEngine; private final BlockableEventLoop mainThreadExecutor; @@ -370,7 +371,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 public ChunkGenerator generator; public final Supplier overworldDataStorage; private final PoiManager poiManager; -@@ -241,6 +242,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -242,6 +243,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.level = world; this.generator = chunkGenerator; this.mainThreadExecutor = mainThreadExecutor; @@ -386,7 +387,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 ProcessorMailbox threadedmailbox = ProcessorMailbox.create(executor, "worldgen"); Objects.requireNonNull(mainThreadExecutor); -@@ -281,6 +291,116 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -282,6 +292,37 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }); } @@ -419,91 +420,12 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 + map.put(chunk, level); + } + } -+ -+ public void checkHighPriorityChunks(ServerPlayer player) { -+ int currentTick = MinecraftServer.currentTick; -+ if (currentTick - player.lastHighPriorityChecked < 20 || !player.isRealPlayer) { // weed out fake players -+ return; -+ } -+ player.lastHighPriorityChecked = currentTick; -+ it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap priorities = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); -+ -+ int viewDistance = getEffectiveNoTickViewDistance(); -+ net.minecraft.core.BlockPos.MutableBlockPos pos = new net.minecraft.core.BlockPos.MutableBlockPos(); -+ -+ // Prioritize circular near -+ double playerChunkX = Mth.floor(player.getX()) >> 4; -+ double playerChunkZ = Mth.floor(player.getZ()) >> 4; -+ pos.set(player.getX(), 0, player.getZ()); -+ double twoThirdModifier = 2D / 3D; -+ MCUtil.getSpiralOutChunks(pos, Math.min(6, viewDistance)).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) return; -+ -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ // Prioritize immediate -+ if (dist <= 4) { -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (27 - dist)); -+ return; -+ } -+ -+ // Prioritize nearby chunks -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (20 - dist * twoThirdModifier)); -+ }); -+ -+ // Prioritize Frustum near 3 -+ ChunkPos front3 = player.getChunkInFront(3); -+ pos.set(front3.x << 4, 0, front3.z << 4); -+ MCUtil.getSpiralOutChunks(pos, Math.min(5, viewDistance)).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) return; -+ -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (25 - dist * twoThirdModifier)); -+ }); -+ -+ // Prioritize Frustum near 5 -+ if (viewDistance > 4) { -+ ChunkPos front5 = player.getChunkInFront(5); -+ pos.set(front5.x << 4, 0, front5.z << 4); -+ MCUtil.getSpiralOutChunks(pos, 4).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) return; -+ -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (25 - dist * twoThirdModifier)); -+ }); -+ } -+ -+ // Prioritize Frustum far 7 -+ if (viewDistance > 6) { -+ ChunkPos front7 = player.getChunkInFront(7); -+ pos.set(front7.x << 4, 0, front7.z << 4); -+ MCUtil.getSpiralOutChunks(pos, 3).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) { -+ return; -+ } -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (25 - dist * twoThirdModifier)); -+ }); -+ } -+ -+ if (priorities.isEmpty()) return; -+ distanceManager.delayDistanceManagerTick = true; -+ priorities.long2IntEntrySet().fastForEach(entry -> distanceManager.markHighPriority(new ChunkPos(entry.getLongKey()), entry.getIntValue())); -+ distanceManager.delayDistanceManagerTick = false; -+ level.getChunkSource().runDistanceManagerUpdates(); -+ -+ } -+ -+ private boolean shouldSkipPrioritization(ChunkPos coord) { -+ if (playerViewDistanceNoTickMap.getObjectsInRange(coord.toLong()) == null) return true; -+ ChunkHolder chunk = getUpdatingChunkIfPresent(coord.toLong()); -+ return chunk != null && (chunk.isFullChunkReady()); -+ } + // Paper end + // Paper start public void updatePlayerMobTypeMap(Entity entity) { if (!this.level.paperConfig.perPlayerMobSpawns) { -@@ -422,6 +542,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -423,6 +464,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider List>> list = Lists.newArrayList(); int j = centerChunk.x; int k = centerChunk.z; @@ -511,7 +433,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 for (int l = -margin; l <= margin; ++l) { for (int i1 = -margin; i1 <= margin; ++i1) { -@@ -440,6 +561,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -441,6 +483,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider ChunkStatus chunkstatus = (ChunkStatus) distanceToStatus.apply(j1); CompletableFuture> completablefuture = playerchunk.getOrScheduleFuture(chunkstatus, this); @@ -526,7 +448,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 list.add(completablefuture); } -@@ -710,11 +839,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -712,11 +762,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (requiredStatus == ChunkStatus.EMPTY) { return this.scheduleChunkLoad(chunkcoordintpair); } else { @@ -547,7 +469,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 if (optional.isPresent() && ((ChunkAccess) optional.get()).getStatus().isOrAfter(requiredStatus)) { CompletableFuture> completablefuture = requiredStatus.load(this.level, this.structureManager, this.lightEngine, (ichunkaccess) -> { -@@ -726,6 +863,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -728,6 +786,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } else { return this.scheduleChunkGeneration(holder, requiredStatus); } @@ -555,7 +477,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 } } -@@ -782,14 +920,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -784,14 +843,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }; CompletableFuture chunkSaveFuture = this.level.asyncChunkTaskManager.getChunkSaveFuture(pos.x, pos.z); @@ -585,7 +507,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 return ret; // Paper end } -@@ -838,7 +986,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -843,7 +912,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.releaseLightTicket(chunkcoordintpair); return CompletableFuture.completedFuture(Either.right(playerchunk_failure)); }); @@ -597,7 +519,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 } protected void releaseLightTicket(ChunkPos pos) { -@@ -922,7 +1073,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -927,7 +999,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider long i = chunkHolder.getPos().toLong(); Objects.requireNonNull(chunkHolder); @@ -607,10 +529,10 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 } diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bbf469c4e9 100644 +index 8868ffcda194e8c2300181a2cdda9337dbde6284..4ec7fc8081c2c3d2e2d2cfcce336e5b0a35aabda 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java -@@ -111,6 +111,7 @@ public abstract class DistanceManager { +@@ -113,6 +113,7 @@ public abstract class DistanceManager { } private static int getTicketLevelAt(SortedArraySet> tickets) { @@ -618,7 +540,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb return !tickets.isEmpty() ? ((Ticket) tickets.first()).getTicketLevel() : ChunkMap.MAX_CHUNK_DISTANCE + 1; } -@@ -125,6 +126,7 @@ public abstract class DistanceManager { +@@ -127,6 +128,7 @@ public abstract class DistanceManager { public boolean runAllUpdates(ChunkMap chunkStorage) { this.naturalSpawnChunkCounter.runAllUpdates(); this.tickingTicketsTracker.runAllUpdates(); @@ -626,7 +548,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb this.playerTicketManager.runAllUpdates(); int i = Integer.MAX_VALUE - this.ticketTracker.runDistanceUpdates(Integer.MAX_VALUE); boolean flag = i != 0; -@@ -135,11 +137,13 @@ public abstract class DistanceManager { +@@ -137,11 +139,13 @@ public abstract class DistanceManager { // Paper start if (!this.pendingChunkUpdates.isEmpty()) { @@ -640,7 +562,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb // Paper end return true; } else { -@@ -175,8 +179,10 @@ public abstract class DistanceManager { +@@ -177,8 +181,10 @@ public abstract class DistanceManager { return flag; } } @@ -651,7 +573,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb SortedArraySet> arraysetsorted = this.getTickets(i); int j = DistanceManager.getTicketLevelAt(arraysetsorted); Ticket ticket1 = (Ticket) arraysetsorted.addOrGet(ticket); -@@ -190,7 +196,9 @@ public abstract class DistanceManager { +@@ -192,7 +198,9 @@ public abstract class DistanceManager { } boolean removeTicket(long i, Ticket ticket) { // CraftBukkit - void -> boolean @@ -661,7 +583,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb boolean removed = false; // CraftBukkit if (arraysetsorted.remove(ticket)) { -@@ -201,7 +209,12 @@ public abstract class DistanceManager { +@@ -203,7 +211,12 @@ public abstract class DistanceManager { this.tickets.remove(i); } @@ -675,7 +597,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb return removed; // CraftBukkit } -@@ -249,6 +262,136 @@ public abstract class DistanceManager { +@@ -251,6 +264,112 @@ public abstract class DistanceManager { }); } @@ -711,36 +633,12 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb + chunkMap.level.getChunkSource().runDistanceManagerUpdates(); + } + -+ private boolean hasPlayerTicket(ChunkPos coords, int level) { -+ SortedArraySet> tickets = this.tickets.get(coords.toLong()); -+ if (tickets == null || tickets.isEmpty()) { -+ return false; -+ } -+ for (Ticket ticket : tickets) { -+ if (ticket.getType() == TicketType.PLAYER && ticket.getTicketLevel() == level) { -+ return true; -+ } -+ } -+ -+ return false; -+ } -+ + private boolean addPriorityTicket(ChunkPos coords, TicketType ticketType, int priority) { + org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::addPriorityTicket"); + long pair = coords.toLong(); + ChunkHolder chunk = chunkMap.getUpdatingChunkIfPresent(pair); -+ boolean needsTicket = chunkMap.playerViewDistanceNoTickMap.getObjectsInRange(pair) != null && !hasPlayerTicket(coords, 33); -+ -+ if (needsTicket) { -+ Ticket ticket = new Ticket<>(TicketType.PLAYER, 33, coords); -+ this.ticketsToRelease.add(pair); -+ addTicket(pair, ticket); -+ } + if ((chunk != null && chunk.isFullChunkReady())) { -+ if (needsTicket) { -+ chunkMap.level.getChunkSource().runDistanceManagerUpdates(); -+ } -+ return needsTicket; ++ return false; + } + + boolean success; @@ -812,187 +710,11 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb protected void updateChunkForced(ChunkPos pos, boolean forced) { Ticket ticket = new Ticket<>(TicketType.FORCED, 31, pos); long i = pos.toLong(); -@@ -536,41 +679,68 @@ public abstract class DistanceManager { - - public void updateViewDistance(int watchDistance) { - ObjectIterator objectiterator = this.chunks.long2ByteEntrySet().iterator(); -+ // Paper start - set the view distance before scheduling chunk loads/unloads -+ int lastViewDistance = this.viewDistance; -+ this.viewDistance = watchDistance; -+ // Paper end - - while (objectiterator.hasNext()) { - it.unimi.dsi.fastutil.longs.Long2ByteMap.Entry it_unimi_dsi_fastutil_longs_long2bytemap_entry = (it.unimi.dsi.fastutil.longs.Long2ByteMap.Entry) objectiterator.next(); - byte b0 = it_unimi_dsi_fastutil_longs_long2bytemap_entry.getByteValue(); - long j = it_unimi_dsi_fastutil_longs_long2bytemap_entry.getLongKey(); - -- this.onLevelChange(j, b0, this.haveTicketFor(b0), b0 <= watchDistance - 2); -+ this.onLevelChange(j, b0, b0 <= lastViewDistance - 2, this.haveTicketFor(b0)); // Paper - } - -- this.viewDistance = watchDistance; -+ // this.viewDistance = watchDistance; // Paper - view distance is now set further up - } - - private void onLevelChange(long pos, int distance, boolean oldWithinViewDistance, boolean withinViewDistance) { - if (oldWithinViewDistance != withinViewDistance) { -- Ticket ticket = new Ticket<>(TicketType.PLAYER, DistanceManager.PLAYER_TICKET_LEVEL, new ChunkPos(pos)); -+ ChunkPos coords = new ChunkPos(pos); // Paper - reuse variable -+ Ticket ticket = new Ticket<>(TicketType.PLAYER, DistanceManager.PLAYER_TICKET_LEVEL, coords); // Paper - reuse variable - - if (withinViewDistance) { -+ scheduleChunkLoad(pos, net.minecraft.server.MinecraftServer.currentTick, distance, (priority) -> { // Paper - smarter ticket delay based on frustum and distance -+ // Paper start - recheck its still valid if not cancel -+ if (!isChunkInRange(pos)) { -+ DistanceManager.this.ticketThrottlerReleaser.tell(ChunkTaskPriorityQueueSorter.release(() -> { -+ DistanceManager.this.mainThreadExecutor.execute(() -> { -+ DistanceManager.this.removeTicket(pos, ticket); -+ DistanceManager.this.clearPriorityTickets(coords); -+ }); -+ }, pos, false)); -+ return; -+ } -+ // abort early if we got a ticket already -+ if (hasPlayerTicket(coords, 33)) return; -+ // skip player ticket throttle for near chunks -+ if (priority <= 3) { -+ DistanceManager.this.addTicket(pos, ticket); -+ DistanceManager.this.ticketsToRelease.add(pos); -+ return; -+ } -+ // Paper end - DistanceManager.this.ticketThrottlerInput.tell(ChunkTaskPriorityQueueSorter.message(() -> { - DistanceManager.this.mainThreadExecutor.execute(() -> { -- if (this.haveTicketFor(this.getLevel(pos))) { -+ if (isChunkInRange(pos)) { if (!hasPlayerTicket(coords, 33)) { // Paper - high priority might of already added it - DistanceManager.this.addTicket(pos, ticket); - DistanceManager.this.ticketsToRelease.add(pos); -- } else { -+ }} else { // Paper - DistanceManager.this.ticketThrottlerReleaser.tell(ChunkTaskPriorityQueueSorter.release(() -> { - }, pos, false)); - } - - }); - }, pos, () -> { -- return distance; -+ return Math.min(ChunkMap.MAX_CHUNK_DISTANCE, priority); // Paper - Chunk priority - })); -+ }); // Paper - } else { - DistanceManager.this.ticketThrottlerReleaser.tell(ChunkTaskPriorityQueueSorter.release(() -> { - DistanceManager.this.mainThreadExecutor.execute(() -> { - DistanceManager.this.removeTicket(pos, ticket); -+ DistanceManager.this.clearPriorityTickets(coords); // Paper - Chunk priority - }); - }, pos, true)); - } -@@ -612,5 +782,100 @@ public abstract class DistanceManager { - private boolean haveTicketFor(int distance) { - return distance <= this.viewDistance - 2; - } -+ -+ // Paper start - smart scheduling of player tickets -+ private boolean isChunkInRange(long i) { -+ return this.haveTicketFor(this.getLevel(i)); -+ } -+ public void scheduleChunkLoad(long i, long startTick, int initialDistance, java.util.function.Consumer task) { -+ long elapsed = net.minecraft.server.MinecraftServer.currentTick - startTick; -+ ChunkPos chunkPos = new ChunkPos(i); -+ ChunkHolder updatingChunk = chunkMap.getUpdatingChunkIfPresent(i); -+ if ((updatingChunk != null && updatingChunk.isFullChunkReady()) || !isChunkInRange(i) || getChunkPriority(chunkPos) > 0) { // Copied from above -+ // no longer needed -+ task.accept(1); -+ return; -+ } -+ -+ int desireDelay = 0; -+ double minDist = Double.MAX_VALUE; -+ com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet players = chunkMap.playerViewDistanceNoTickMap.getObjectsInRange(i); -+ if (elapsed == 0 && initialDistance <= 4) { -+ // Aim for no delay on initial 6 chunk radius tickets save on performance of the below code to only > 6 -+ minDist = initialDistance; -+ } else if (players != null) { -+ Object[] backingSet = players.getBackingSet(); -+ -+ net.minecraft.core.BlockPos blockPos = chunkPos.getWorldPosition(); -+ -+ boolean isFront = false; -+ net.minecraft.core.BlockPos.MutableBlockPos pos = new net.minecraft.core.BlockPos.MutableBlockPos(); -+ for (int index = 0, len = backingSet.length; index < len; ++index) { -+ if (!(backingSet[index] instanceof ServerPlayer)) { -+ continue; -+ } -+ ServerPlayer player = (ServerPlayer) backingSet[index]; -+ -+ ChunkPos pointInFront = player.getChunkInFront(5); -+ pos.set(pointInFront.x << 4, 0, pointInFront.z << 4); -+ double frontDist = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); -+ -+ pos.set(player.getX(), 0, player.getZ()); -+ double center = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); -+ -+ double dist = Math.min(frontDist, center); -+ if (!isFront) { -+ ChunkPos pointInBack = player.getChunkInFront(-7); -+ pos.set(pointInBack.x << 4, 0, pointInBack.z << 4); -+ double backDist = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); -+ if (frontDist < backDist) { -+ isFront = true; -+ } -+ } -+ if (dist < minDist) { -+ minDist = dist; -+ } -+ } -+ if (minDist == Double.MAX_VALUE) { -+ minDist = 15; -+ } else { -+ minDist = Math.sqrt(minDist) / 16; -+ } -+ if (minDist > 4) { -+ int desiredTimeDelayMax = isFront ? -+ (minDist < 10 ? 7 : 15) : // Front -+ (minDist < 10 ? 15 : 45); // Back -+ desireDelay += (desiredTimeDelayMax * 20) * (minDist / 32); -+ } -+ } else { -+ minDist = initialDistance; -+ desireDelay = 1; -+ } -+ long delay = desireDelay - elapsed; -+ if (delay <= 0 && minDist > 4 && minDist < Double.MAX_VALUE) { -+ boolean hasAnyNeighbor = false; -+ for (int x = -1; x <= 1; x++) { -+ for (int z = -1; z <= 1; z++) { -+ if (x == 0 && z == 0) continue; -+ long pair = ChunkPos.asLong(chunkPos.x + x, chunkPos.z + z); -+ ChunkHolder neighbor = chunkMap.getUpdatingChunkIfPresent(pair); -+ ChunkStatus current = neighbor != null ? neighbor.getChunkHolderStatus() : null; -+ if (current != null && current.isOrAfter(ChunkStatus.LIGHT)) { -+ hasAnyNeighbor = true; -+ } -+ } -+ } -+ if (!hasAnyNeighbor) { -+ delay += 20; -+ } -+ } -+ if (delay <= 0) { -+ task.accept((int) minDist); -+ } else { -+ int taskDelay = (int) Math.min(delay, minDist >= 10 ? 40 : (minDist < 6 ? 5 : 20)); -+ net.minecraft.server.MCUtil.scheduleTask(taskDelay, () -> scheduleChunkLoad(i, startTick, initialDistance, task), "Player Ticket Delayer"); -+ } -+ } -+ // Paper end - } - } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa3c790ca5 100644 +index a66d9d6df1fc0ad68f51ea96d4e1a2d725c73b05..add33f9f0c568bbae2eb32a1b87fa8c20aaf1415 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -599,6 +599,26 @@ public class ServerChunkCache extends ChunkSource { +@@ -601,6 +601,26 @@ public class ServerChunkCache extends ChunkSource { return CompletableFuture.completedFuture(either); }, this.mainThreadProcessor); } @@ -1019,7 +741,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa // Paper end - async chunk io @Nullable -@@ -639,6 +659,8 @@ public class ServerChunkCache extends ChunkSource { +@@ -641,6 +661,8 @@ public class ServerChunkCache extends ChunkSource { Objects.requireNonNull(completablefuture); if (!completablefuture.isDone()) { // Paper // Paper start - async chunk io/loading @@ -1028,7 +750,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa this.level.asyncChunkTaskManager.raisePriority(x1, z1, com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY); com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.level, x1, z1); // Paper end -@@ -647,6 +669,8 @@ public class ServerChunkCache extends ChunkSource { +@@ -649,6 +671,8 @@ public class ServerChunkCache extends ChunkSource { chunkproviderserver_b.managedBlock(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug this.level.timings.syncChunkLoad.stopTiming(); // Paper @@ -1037,7 +759,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa } // Paper ichunkaccess = (ChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; -@@ -720,10 +744,12 @@ public class ServerChunkCache extends ChunkSource { +@@ -722,10 +746,12 @@ public class ServerChunkCache extends ChunkSource { if (create && !currentlyUnloading) { // CraftBukkit end this.distanceManager.addTicket(TicketType.UNKNOWN, chunkcoordintpair, l, chunkcoordintpair); @@ -1050,7 +772,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa this.runDistanceManagerUpdates(); playerchunk = this.getVisibleChunkIfPresent(k); gameprofilerfiller.pop(); -@@ -733,7 +759,13 @@ public class ServerChunkCache extends ChunkSource { +@@ -735,7 +761,13 @@ public class ServerChunkCache extends ChunkSource { } } @@ -1065,7 +787,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa } private boolean chunkAbsent(@Nullable ChunkHolder holder, int maxLevel) { -@@ -785,6 +817,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -787,6 +819,7 @@ public class ServerChunkCache extends ChunkSource { } public boolean runDistanceManagerUpdates() { @@ -1074,25 +796,18 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa boolean flag1 = this.chunkMap.promoteChunkMap(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..3e31260a3206ffe16db2e3cbc925261f78851598 100644 +index beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..42d0e3bce81b1f0ea6cb65191a87fed4054cadb4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -185,6 +185,14 @@ public class ServerPlayer extends Player { +@@ -185,6 +185,7 @@ public class ServerPlayer extends Player { private int lastRecordedArmor = Integer.MIN_VALUE; private int lastRecordedLevel = Integer.MIN_VALUE; private int lastRecordedExperience = Integer.MIN_VALUE; -+ // Paper start - Chunk priority -+ public long lastHighPriorityChecked; -+ public void forceCheckHighPriority() { -+ lastHighPriorityChecked = -1; -+ getLevel().getChunkSource().chunkMap.checkHighPriorityChunks(this); -+ } -+ public boolean isRealPlayer; -+ // Paper end ++ public boolean isRealPlayer; // Paper - chunk priority private float lastSentHealth = -1.0E8F; private int lastSentFood = -99999999; private boolean lastFoodSaturationZero = true; -@@ -327,6 +335,21 @@ public class ServerPlayer extends Player { +@@ -327,6 +328,21 @@ public class ServerPlayer extends Player { this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper } @@ -1114,16 +829,8 @@ index beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..3e31260a3206ffe16db2e3cbc925261f // Yes, this doesn't match Vanilla, but it's the best we can do for now. // If this is an issue, PRs are welcome -@@ -649,6 +672,7 @@ public class ServerPlayer extends Player { - if (valid && !this.isSpectator() || !this.touchingUnloadedChunk()) { // Paper - don't tick dead players that are not in the world currently (pending respawn) - super.tick(); - } -+ if (valid && isAlive() && connection != null) ((ServerLevel)level).getChunkSource().chunkMap.checkHighPriorityChunks(this); // Paper - Chunk priority - - for (int i = 0; i < this.getInventory().getContainerSize(); ++i) { - ItemStack itemstack = this.getInventory().getItem(i); diff --git a/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java b/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java -index 55ac6421e43a488ebb5b070babdd1071ad3950a6..bc2ac01fb4617aa6abfd6db31980d56b53a660b5 100644 +index c0ef95f83f2d13025bedd4bcc7e177cee66b5470..fec2a2a9f958492eefbbffcaf8179a2fac5a4d99 100644 --- a/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java +++ b/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java @@ -1,6 +1,7 @@ @@ -1421,19 +1128,20 @@ index 78fbb4c3e52e900956ae0811aaf934c81ee5ea48..23d13600d6925f6746dfde08e17ba578 private final String name; private final Comparator comparator; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0bcafeb8008bd2556bcdc556b17d00ff936d7aa9..935bdd3ece5b684cbaa14ef3211239fe9722ad2f 100644 +index 0bcafeb8008bd2556bcdc556b17d00ff936d7aa9..f9733ec478fe5aa0fa678a5f4482ab6e7045c033 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1551,6 +1551,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1550,7 +1550,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser + // CraftBukkit end this.awaitingTeleportTime = this.tickCount; - this.player.absMoveTo(d0, d1, d2, f, f1); -+ this.player.forceCheckHighPriority(); // Paper +- this.player.absMoveTo(d0, d1, d2, f, f1); ++ this.player.moveTo(d0, d1, d2, f, f1); // Paper - use proper setPositionRotation for teleportation this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport, flag)); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0ac5ba6bc7b582d1ab02a90c9418c9b899175d93..8dd698a9b0cc7b6143996c90197ebc2d4fc9951d 100644 +index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..338e89a2951f6f79d4dd7abf0b378b6e2ddf1f58 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -175,6 +175,7 @@ public abstract class PlayerList { @@ -1455,16 +1163,8 @@ index 0ac5ba6bc7b582d1ab02a90c9418c9b899175d93..8dd698a9b0cc7b6143996c90197ebc2d net.minecraft.server.level.ChunkHolder updatingChunk = playerChunkMap.getUpdatingChunkIfPresent(pos.toLong()); if (updatingChunk != null) { return updatingChunk.getEntityTickingChunkFuture(); -@@ -892,6 +893,7 @@ public abstract class PlayerList { - entityplayer1.forceSetPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); - // CraftBukkit end - -+ entityplayer1.forceCheckHighPriority(); // Player - Chunk priority - while (avoidSuffocation && !worldserver1.noCollision(entityplayer1) && entityplayer1.getY() < (double) worldserver1.getMaxBuildHeight()) { - entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ()); - } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 91e034f54deb2aa084527aaa001e48ddcc2e9cd1..b8db2dad1ccd1afce01fd770650fe5f0afc40bce 100644 +index b61f728c83e006197fdb158e83d04b5498133cc3..a6e732274018cf4864a0a3e3258bf0381f3a0c79 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -222,7 +222,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -1477,7 +1177,7 @@ index 91e034f54deb2aa084527aaa001e48ddcc2e9cd1..b8db2dad1ccd1afce01fd770650fe5f0 public float yRotO; public float xRotO; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index c76e46afa685fbaa5c83aff4ef72b5fe32bc6d10..ccd12f130d32c95b191073bfd59e60223394c30b 100644 +index b92da719a5d35a60a2e13ccb0f55c41b242f9b50..875977f11678b34465abac30463675f57cf9fc4e 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -137,7 +137,7 @@ public class LevelChunk extends ChunkAccess { @@ -1489,7 +1189,7 @@ index c76e46afa685fbaa5c83aff4ef72b5fe32bc6d10..ccd12f130d32c95b191073bfd59e6022 private long neighbourChunksLoadedBitset; private final LevelChunk[] loadedNeighbourChunks = new LevelChunk[(NEIGHBOUR_CACHE_RADIUS * 2 + 1) * (NEIGHBOUR_CACHE_RADIUS * 2 + 1)]; -@@ -674,6 +674,7 @@ public class LevelChunk extends ChunkAccess { +@@ -675,6 +675,7 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start public void loadCallback() { @@ -1497,7 +1197,7 @@ index c76e46afa685fbaa5c83aff4ef72b5fe32bc6d10..ccd12f130d32c95b191073bfd59e6022 // Paper start - neighbour cache int chunkX = this.chunkPos.x; int chunkZ = this.chunkPos.z; -@@ -728,6 +729,7 @@ public class LevelChunk extends ChunkAccess { +@@ -729,6 +730,7 @@ public class LevelChunk extends ChunkAccess { } public void unloadCallback() { diff --git a/patches/server/0466-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0467-Optimize-NetworkManager-Exception-Handling.patch similarity index 100% rename from patches/server/0466-Optimize-NetworkManager-Exception-Handling.patch rename to patches/server/0467-Optimize-NetworkManager-Exception-Handling.patch diff --git a/patches/server/0467-Optimize-the-advancement-data-player-iteration-to-be.patch b/patches/server/0468-Optimize-the-advancement-data-player-iteration-to-be.patch similarity index 100% rename from patches/server/0467-Optimize-the-advancement-data-player-iteration-to-be.patch rename to patches/server/0468-Optimize-the-advancement-data-player-iteration-to-be.patch diff --git a/patches/server/0468-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0469-Fix-arrows-never-despawning-MC-125757.patch similarity index 100% rename from patches/server/0468-Fix-arrows-never-despawning-MC-125757.patch rename to patches/server/0469-Fix-arrows-never-despawning-MC-125757.patch diff --git a/patches/server/0469-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0470-Thread-Safe-Vanilla-Command-permission-checking.patch similarity index 100% rename from patches/server/0469-Thread-Safe-Vanilla-Command-permission-checking.patch rename to patches/server/0470-Thread-Safe-Vanilla-Command-permission-checking.patch diff --git a/patches/server/0470-Move-range-check-for-block-placing-up.patch b/patches/server/0471-Move-range-check-for-block-placing-up.patch similarity index 97% rename from patches/server/0470-Move-range-check-for-block-placing-up.patch rename to patches/server/0471-Move-range-check-for-block-placing-up.patch index f7c7d2dd76..e8ef2a7ab7 100644 --- a/patches/server/0470-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0471-Move-range-check-for-block-placing-up.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0bcafeb8008bd2556bcdc556b17d00ff936d7aa9..26bd27d3dd6e99488fd0a77257866b1eb1b191b8 100644 +index f9733ec478fe5aa0fa678a5f4482ab6e7045c033..851bbe0bab26f39f19aa85cb2779fb06c77f7e46 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1666,6 +1666,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0471-Fix-SPIGOT-5989.patch b/patches/server/0472-Fix-SPIGOT-5989.patch similarity index 91% rename from patches/server/0471-Fix-SPIGOT-5989.patch rename to patches/server/0472-Fix-SPIGOT-5989.patch index e1b03213b1..14228d6834 100644 --- a/patches/server/0471-Fix-SPIGOT-5989.patch +++ b/patches/server/0472-Fix-SPIGOT-5989.patch @@ -10,7 +10,7 @@ This fixes that by checking if the modified spawn location is still at a respawn anchor. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9dcb1a0da8 100644 +index 338e89a2951f6f79d4dd7abf0b378b6e2ddf1f58..2320731041fdef4eb29888a55e11126fb345d9ea 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -78,6 +78,7 @@ import net.minecraft.world.level.GameRules; @@ -21,7 +21,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.border.BorderChangeListener; import net.minecraft.world.level.border.WorldBorder; -@@ -828,6 +829,7 @@ public abstract class PlayerList { +@@ -829,6 +830,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; boolean isRespawn = false; @@ -29,7 +29,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d // Paper end // CraftBukkit start - fire PlayerRespawnEvent -@@ -838,7 +840,7 @@ public abstract class PlayerList { +@@ -839,7 +841,7 @@ public abstract class PlayerList { Optional optional; if (blockposition != null) { @@ -38,7 +38,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d } else { optional = Optional.empty(); } -@@ -882,7 +884,12 @@ public abstract class PlayerList { +@@ -883,7 +885,12 @@ public abstract class PlayerList { } // Spigot End @@ -52,7 +52,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d if (!flag) entityplayer.reset(); // SPIGOT-4785 isRespawn = true; // Paper } else { -@@ -920,8 +927,12 @@ public abstract class PlayerList { +@@ -921,8 +928,12 @@ public abstract class PlayerList { } // entityplayer1.initInventoryMenu(); entityplayer1.setHealth(entityplayer1.getHealth()); diff --git a/patches/server/0472-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/server/0473-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch similarity index 100% rename from patches/server/0472-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch rename to patches/server/0473-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch diff --git a/patches/server/0473-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/server/0474-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch similarity index 100% rename from patches/server/0473-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch rename to patches/server/0474-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch diff --git a/patches/server/0474-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0475-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch similarity index 100% rename from patches/server/0474-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch rename to patches/server/0475-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch diff --git a/patches/server/0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/patches/server/0476-Add-missing-strikeLighting-call-to-World-spigot-stri.patch similarity index 83% rename from patches/server/0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch rename to patches/server/0476-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index a4268d290a..88219897ac 100644 --- a/patches/server/0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/patches/server/0476-Add-missing-strikeLighting-call-to-World-spigot-stri.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3bc98586792960f50ca25929f1d91fc60a8577ce..5bf060d5b4a22d0fea0c70513d9b0914614e5bbb 100644 +index ea4e897e04de9474abec5f6d0819bff4471b51ee..3ed68022c06a6b0d9b1d98fcdf64c2c4ba42480e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1994,6 +1994,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2000,6 +2000,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() ); lightning.visualOnly = true; lightning.isSilent = isSilent; diff --git a/patches/server/0476-Fix-some-rails-connecting-improperly.patch b/patches/server/0477-Fix-some-rails-connecting-improperly.patch similarity index 100% rename from patches/server/0476-Fix-some-rails-connecting-improperly.patch rename to patches/server/0477-Fix-some-rails-connecting-improperly.patch diff --git a/patches/server/0477-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0478-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch similarity index 100% rename from patches/server/0477-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch rename to patches/server/0478-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch diff --git a/patches/server/0478-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0479-Do-not-let-the-server-load-chunks-from-newer-version.patch similarity index 100% rename from patches/server/0478-Do-not-let-the-server-load-chunks-from-newer-version.patch rename to patches/server/0479-Do-not-let-the-server-load-chunks-from-newer-version.patch diff --git a/patches/server/0479-Brand-support.patch b/patches/server/0480-Brand-support.patch similarity index 94% rename from patches/server/0479-Brand-support.patch rename to patches/server/0480-Brand-support.patch index c2ccf08dea..2b5a621828 100644 --- a/patches/server/0479-Brand-support.patch +++ b/patches/server/0480-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 26bd27d3dd6e99488fd0a77257866b1eb1b191b8..c5fc4a2470093202f38472df84355ba0404645c5 100644 +index 851bbe0bab26f39f19aa85cb2779fb06c77f7e46..77c98907372faa4b9dc0cfb11ceed82e03d7b6eb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; @@ -72,10 +72,10 @@ index 26bd27d3dd6e99488fd0a77257866b1eb1b191b8..c5fc4a2470093202f38472df84355ba0 return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ac535aef823ebe286847dafb8b0678de5d3128a1..465961e0e21fe15c366a492a1de94c6da7bbc51c 100644 +index e8f487d8338f1ef0b68150c30dcab5f9b3140e7d..d99000543d880c3d9904e84059cf9ecf89fb8ac8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2482,6 +2482,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2492,6 +2492,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0480-Add-setMaxPlayers-API.patch b/patches/server/0481-Add-setMaxPlayers-API.patch similarity index 94% rename from patches/server/0480-Add-setMaxPlayers-API.patch rename to patches/server/0481-Add-setMaxPlayers-API.patch index aec64524fd..d06bf0fdf3 100644 --- a/patches/server/0480-Add-setMaxPlayers-API.patch +++ b/patches/server/0481-Add-setMaxPlayers-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add #setMaxPlayers API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 724c503da333ac4dd8ed865ba48cac9dcb1a0da8..b797b41c55d4a96fecd50b4bd0cde47b0a2b29a7 100644 +index 2320731041fdef4eb29888a55e11126fb345d9ea..310bed27c04ef812aa8607c9dca789db13341d25 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -144,7 +144,7 @@ public abstract class PlayerList { diff --git a/patches/server/0481-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0482-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 100% rename from patches/server/0481-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/server/0482-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/server/0482-Don-t-require-FACING-data.patch b/patches/server/0483-Don-t-require-FACING-data.patch similarity index 100% rename from patches/server/0482-Don-t-require-FACING-data.patch rename to patches/server/0483-Don-t-require-FACING-data.patch diff --git a/patches/server/0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch similarity index 96% rename from patches/server/0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch rename to patches/server/0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 78ce2bb7a2..6274515c9b 100644 --- a/patches/server/0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -17,7 +17,7 @@ index cda574e825164587bd126029d5b556c049c18015..01b4bd2176b751f895e39002f105a171 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig.keepLoadedRange, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5bf060d5b4a22d0fea0c70513d9b0914614e5bbb..9e155f0a76014e84106d9e322016d36a2254f62a 100644 +index 3ed68022c06a6b0d9b1d98fcdf64c2c4ba42480e..85b688ee046c160f689495d97e2c48bef4ad6cdb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -245,11 +245,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0484-Add-moon-phase-API.patch b/patches/server/0485-Add-moon-phase-API.patch similarity index 89% rename from patches/server/0484-Add-moon-phase-API.patch rename to patches/server/0485-Add-moon-phase-API.patch index 14d949e83c..1d31d3db9a 100644 --- a/patches/server/0484-Add-moon-phase-API.patch +++ b/patches/server/0485-Add-moon-phase-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9e155f0a76014e84106d9e322016d36a2254f62a..1f12da32b5bc10f77a5b8f4a9b32cbb89d7f2968 100644 +index 85b688ee046c160f689495d97e2c48bef4ad6cdb..b2efce98e8d6f5297646e4f270bc2d5cc7e182f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -183,6 +183,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0485-Prevent-headless-pistons-from-being-created.patch b/patches/server/0486-Prevent-headless-pistons-from-being-created.patch similarity index 100% rename from patches/server/0485-Prevent-headless-pistons-from-being-created.patch rename to patches/server/0486-Prevent-headless-pistons-from-being-created.patch diff --git a/patches/server/0486-Add-BellRingEvent.patch b/patches/server/0487-Add-BellRingEvent.patch similarity index 100% rename from patches/server/0486-Add-BellRingEvent.patch rename to patches/server/0487-Add-BellRingEvent.patch diff --git a/patches/server/0487-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0488-Add-zombie-targets-turtle-egg-config.patch similarity index 100% rename from patches/server/0487-Add-zombie-targets-turtle-egg-config.patch rename to patches/server/0488-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/server/0488-Buffer-joins-to-world.patch b/patches/server/0489-Buffer-joins-to-world.patch similarity index 100% rename from patches/server/0488-Buffer-joins-to-world.patch rename to patches/server/0489-Buffer-joins-to-world.patch diff --git a/patches/server/0489-Optimize-redstone-algorithm.patch b/patches/server/0490-Optimize-redstone-algorithm.patch similarity index 100% rename from patches/server/0489-Optimize-redstone-algorithm.patch rename to patches/server/0490-Optimize-redstone-algorithm.patch diff --git a/patches/server/0490-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0491-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 100% rename from patches/server/0490-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/server/0491-Fix-hex-colors-not-working-in-some-kick-messages.patch diff --git a/patches/server/0491-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0492-PortalCreateEvent-needs-to-know-its-entity.patch similarity index 100% rename from patches/server/0491-PortalCreateEvent-needs-to-know-its-entity.patch rename to patches/server/0492-PortalCreateEvent-needs-to-know-its-entity.patch diff --git a/patches/server/0492-Fix-CraftTeam-null-check.patch b/patches/server/0493-Fix-CraftTeam-null-check.patch similarity index 100% rename from patches/server/0492-Fix-CraftTeam-null-check.patch rename to patches/server/0493-Fix-CraftTeam-null-check.patch diff --git a/patches/server/0493-Add-more-Evoker-API.patch b/patches/server/0494-Add-more-Evoker-API.patch similarity index 100% rename from patches/server/0493-Add-more-Evoker-API.patch rename to patches/server/0494-Add-more-Evoker-API.patch diff --git a/patches/server/0494-Add-methods-to-get-translation-keys.patch b/patches/server/0495-Add-methods-to-get-translation-keys.patch similarity index 98% rename from patches/server/0494-Add-methods-to-get-translation-keys.patch rename to patches/server/0495-Add-methods-to-get-translation-keys.patch index a74edd8d2e..fe6531e508 100644 --- a/patches/server/0494-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0495-Add-methods-to-get-translation-keys.patch @@ -42,7 +42,7 @@ index eb99e0c2462a2d1ab4508a5c3f1580b6e31d7465..c536eceef3365a7b726cd970df345ba1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0bb3290f3ff23d7f653ce87943d7c6d156770926..b3afb10f96e0662714ff89244132a6df8bbd3769 100644 +index a849724a9fb642bcd4de3c6438937adc882c610e..1380df5f70f9284b47b9e6426672d82df384b2c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -442,6 +442,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0495-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/server/0495-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/server/0496-Cache-block-data-strings.patch b/patches/server/0497-Cache-block-data-strings.patch similarity index 100% rename from patches/server/0496-Cache-block-data-strings.patch rename to patches/server/0497-Cache-block-data-strings.patch diff --git a/patches/server/0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0498-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 87% rename from patches/server/0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0498-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index 39864e687f..4c8f952d4d 100644 --- a/patches/server/0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0498-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c5fc4a2470093202f38472df84355ba0404645c5..2074760beee6fdc2e94bb0f5dcfbae7b5813e8c9 100644 +index 77c98907372faa4b9dc0cfb11ceed82e03d7b6eb..2074760beee6fdc2e94bb0f5dcfbae7b5813e8c9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -680,7 +680,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -21,17 +21,8 @@ index c5fc4a2470093202f38472df84355ba0404645c5..2074760beee6fdc2e94bb0f5dcfbae7b this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1554,7 +1554,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser - // CraftBukkit end - - this.awaitingTeleportTime = this.tickCount; -- this.player.absMoveTo(d0, d1, d2, f, f1); -+ this.player.moveTo(d0, d1, d2, f, f1); // Paper - use proper setPositionRotation for teleportation - this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport, flag)); - } - diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b61f728c83e006197fdb158e83d04b5498133cc3..a7dfb3e53b3618b7071ee9840906debade1c5f83 100644 +index a6e732274018cf4864a0a3e3258bf0381f3a0c79..dc34a9140811858ac6fc6d03b7c63aac81e67ab9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -150,6 +150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0498-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0499-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/server/0498-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0499-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/server/0499-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0500-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/server/0499-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0500-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/server/0500-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0501-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 96% rename from patches/server/0500-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0501-Extend-block-drop-capture-to-capture-all-items-added.patch index 1f124fb3b3..351e53142d 100644 --- a/patches/server/0500-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/patches/server/0501-Extend-block-drop-capture-to-capture-all-items-added.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f9daa7183e29d203e73b242c285d10cda44aab11..bc57099ffc447a713b92896a1348728702ef51b2 100644 +index 01b4bd2176b751f895e39002f105a171a32d65af..5c236b0330b298bcae61112409a4a6c7f51d0530 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1226,6 +1226,13 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch b/patches/server/0502-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch similarity index 84% rename from patches/server/0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch rename to patches/server/0502-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch index 192ec5831d..f9dd2a6967 100644 --- a/patches/server/0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch +++ b/patches/server/0502-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't mark dirty in invalid locations (SPIGOT-6086) diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 26a787864058dccc0365680b0259ddf0dad22b58..292a26a2e13d97e4796bfe00c4d5789f94e67cc1 100644 +index d03aeed657fc7e427d847e0b8e2d58c59e6851fa..3d38a5cd7db0436b4d3fe6b3476025b30d5186dc 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -206,6 +206,7 @@ public class ChunkHolder { +@@ -207,6 +207,7 @@ public class ChunkHolder { } public void blockChanged(BlockPos pos) { diff --git a/patches/server/0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 94% rename from patches/server/0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index e59c48e559..5cf36c4670 100644 --- a/patches/server/0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a7dfb3e53b3618b7071ee9840906debade1c5f83..b5d3032ce9f711ff2843b2c22ad2b4aa2c147504 100644 +index dc34a9140811858ac6fc6d03b7c63aac81e67ab9..f8c268fc2986eb5de7b4ffed39cbde0eb1c2ca5d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3927,4 +3927,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0503-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0504-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/server/0503-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0504-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/server/0504-Entity-isTicking.patch b/patches/server/0505-Entity-isTicking.patch similarity index 95% rename from patches/server/0504-Entity-isTicking.patch rename to patches/server/0505-Entity-isTicking.patch index e05036d875..76d39361aa 100644 --- a/patches/server/0504-Entity-isTicking.patch +++ b/patches/server/0505-Entity-isTicking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b5d3032ce9f711ff2843b2c22ad2b4aa2c147504..a6ca13b92b81f5fe7a8d9d65476b0e032a8a029b 100644 +index f8c268fc2986eb5de7b4ffed39cbde0eb1c2ca5d..8e3c69e53af1e79da5fd96d722fe08e49923113f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -52,6 +52,7 @@ import net.minecraft.network.syncher.SynchedEntityData; diff --git a/patches/server/0505-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0506-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 100% rename from patches/server/0505-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0506-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch diff --git a/patches/server/0506-Fix-Concurrency-issue-in-WeightedList.patch b/patches/server/0507-Fix-Concurrency-issue-in-WeightedList.patch similarity index 97% rename from patches/server/0506-Fix-Concurrency-issue-in-WeightedList.patch rename to patches/server/0507-Fix-Concurrency-issue-in-WeightedList.patch index 8a6302fb84..4f6d7689d1 100644 --- a/patches/server/0506-Fix-Concurrency-issue-in-WeightedList.patch +++ b/patches/server/0507-Fix-Concurrency-issue-in-WeightedList.patch @@ -7,7 +7,7 @@ if multiple threads from worldgen sort at same time, it will crash. So make a copy of the list for sorting purposes. diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java -index 893c37cc7e33f4baa98131afca45a258600ddc75..09998d160a6d79fdb5a5041a5d572649a1532e6a 100644 +index c1f22c5e17418f91736237af1495a8a9910a61d5..e644bdd3a6f7c09a44149da03587b796674fa568 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java @@ -16,7 +16,7 @@ public class GateBehavior extends Behavior { diff --git a/patches/server/0507-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0508-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from patches/server/0507-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to patches/server/0508-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/server/0508-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0509-Fix-for-large-move-vectors-crashing-server.patch similarity index 100% rename from patches/server/0508-Fix-for-large-move-vectors-crashing-server.patch rename to patches/server/0509-Fix-for-large-move-vectors-crashing-server.patch diff --git a/patches/server/0509-Optimise-getType-calls.patch b/patches/server/0510-Optimise-getType-calls.patch similarity index 100% rename from patches/server/0509-Optimise-getType-calls.patch rename to patches/server/0510-Optimise-getType-calls.patch diff --git a/patches/server/0510-Villager-resetOffers.patch b/patches/server/0511-Villager-resetOffers.patch similarity index 100% rename from patches/server/0510-Villager-resetOffers.patch rename to patches/server/0511-Villager-resetOffers.patch diff --git a/patches/server/0511-Improve-inlinig-for-some-hot-IBlockData-methods.patch b/patches/server/0512-Improve-inlinig-for-some-hot-IBlockData-methods.patch similarity index 100% rename from patches/server/0511-Improve-inlinig-for-some-hot-IBlockData-methods.patch rename to patches/server/0512-Improve-inlinig-for-some-hot-IBlockData-methods.patch diff --git a/patches/server/0512-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0513-Retain-block-place-order-when-capturing-blockstates.patch similarity index 93% rename from patches/server/0512-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0513-Retain-block-place-order-when-capturing-blockstates.patch index 3b82a22694..5ee9bbec33 100644 --- a/patches/server/0512-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0513-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,7 +10,7 @@ In general, look at making this logic more robust (i.e properly handling cases where a captured entry is overriden) - but for now this will do. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 4f97f11c248cbb06dbd604da0e88d9570e641af7..c68cb2ee352325d3f0ef98827df04b0c7bf1b293 100644 +index 0bcb14f1377d603c93c471ce206d2e38d0278b60..5ca6254d104fbd407a98daf732dd6ac119914ee3 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -149,7 +149,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0513-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0514-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 94% rename from patches/server/0513-Reduce-blockpos-allocation-from-pathfinding.patch rename to patches/server/0514-Reduce-blockpos-allocation-from-pathfinding.patch index 9b026b7259..9e0f352b59 100644 --- a/patches/server/0513-Reduce-blockpos-allocation-from-pathfinding.patch +++ b/patches/server/0514-Reduce-blockpos-allocation-from-pathfinding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reduce blockpos allocation from pathfinding diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index c33fda773ec071d27e924461a30a2938db35c231..46d3640b6556a104889f1d57e61d60b5094c28f2 100644 +index 16b3b4a168e37f0b4c8d6c41a4e3a4095f26115e..5e28c09d782166be6d0fbc6778ef9f6c4d7af409 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java @@ -471,7 +471,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { diff --git a/patches/server/0514-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0515-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/server/0514-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0515-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/server/0515-Player-elytra-boost-API.patch b/patches/server/0516-Player-elytra-boost-API.patch similarity index 94% rename from patches/server/0515-Player-elytra-boost-API.patch rename to patches/server/0516-Player-elytra-boost-API.patch index d5334002c4..5078f4db60 100644 --- a/patches/server/0515-Player-elytra-boost-API.patch +++ b/patches/server/0516-Player-elytra-boost-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 465961e0e21fe15c366a492a1de94c6da7bbc51c..bb3e706aae719c8cff904425c09cc3b0f82534f1 100644 +index d99000543d880c3d9904e84059cf9ecf89fb8ac8..26fe2e651d7432591bd5ef910e6db06ba214fd4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -562,6 +562,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0516-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0517-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from patches/server/0516-Fixed-TileEntityBell-memory-leak.patch rename to patches/server/0517-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/server/0517-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0518-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/server/0517-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0518-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/server/0518-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0519-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/server/0518-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0519-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/server/0519-Add-ignore-discounts-API.patch b/patches/server/0520-Add-ignore-discounts-API.patch similarity index 100% rename from patches/server/0519-Add-ignore-discounts-API.patch rename to patches/server/0520-Add-ignore-discounts-API.patch diff --git a/patches/server/0520-Toggle-for-removing-existing-dragon.patch b/patches/server/0521-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/server/0520-Toggle-for-removing-existing-dragon.patch rename to patches/server/0521-Toggle-for-removing-existing-dragon.patch diff --git a/patches/server/0521-Fix-client-lag-on-advancement-loading.patch b/patches/server/0522-Fix-client-lag-on-advancement-loading.patch similarity index 95% rename from patches/server/0521-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0522-Fix-client-lag-on-advancement-loading.patch index 9ae9e35657..4abc66ce71 100644 --- a/patches/server/0521-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0522-Fix-client-lag-on-advancement-loading.patch @@ -15,7 +15,7 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e28bb9f0f27d2d7347f48891256ac8225e1e1459..29d079927ac5f48f14e6f41a32b03174cc622dda 100644 +index 33b85d2cd6be32d70a9621c02666e297fc78ff97..463cabee7f4f40f2f8d4f4502296d1abfff18229 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -323,7 +323,13 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0522-Item-no-age-no-player-pickup.patch b/patches/server/0523-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/server/0522-Item-no-age-no-player-pickup.patch rename to patches/server/0523-Item-no-age-no-player-pickup.patch diff --git a/patches/server/0523-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0524-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/server/0523-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0524-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/0524-Beacon-API-custom-effect-ranges.patch b/patches/server/0525-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/server/0524-Beacon-API-custom-effect-ranges.patch rename to patches/server/0525-Beacon-API-custom-effect-ranges.patch diff --git a/patches/server/0525-Add-API-for-quit-reason.patch b/patches/server/0526-Add-API-for-quit-reason.patch similarity index 94% rename from patches/server/0525-Add-API-for-quit-reason.patch rename to patches/server/0526-Add-API-for-quit-reason.patch index a50d4fd29b..3c598188f6 100644 --- a/patches/server/0525-Add-API-for-quit-reason.patch +++ b/patches/server/0526-Add-API-for-quit-reason.patch @@ -25,10 +25,10 @@ index d30bc3f1da336b421d9a42070184e07169dd14e4..a6eadf71957b37e2acc5d09f0ce4ee96 Connection.LOGGER.debug("Failed to sent packet", throwable); ConnectionProtocol enumprotocol = this.getCurrentProtocol(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..207c566603671685f7d0abbb11274d2027568a05 100644 +index 42d0e3bce81b1f0ea6cb65191a87fed4054cadb4..8932fb6ab89e4de71661c0eec8397350ea4ce6f6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -254,6 +254,7 @@ public class ServerPlayer extends Player { +@@ -255,6 +255,7 @@ public class ServerPlayer extends Player { public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper @@ -49,10 +49,10 @@ index 2dd47eab63cf9322a5844e748709e220272a8cfe..c0a685cfe62aeda3583763ecc1e4fa12 this.connection.disconnect(ichatbasecomponent); }); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b797b41c55d4a96fecd50b4bd0cde47b0a2b29a7..d637f092f6e615bedf8fb206e172302052547566 100644 +index 310bed27c04ef812aa8607c9dca789db13341d25..6aaa5174bb0eff3216667b4c8d3912d02e1c66e2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -594,7 +594,7 @@ public abstract class PlayerList { +@@ -595,7 +595,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/server/0526-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0527-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/server/0526-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0527-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/server/0527-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0528-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/server/0527-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0528-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/server/0528-Expose-world-spawn-angle.patch b/patches/server/0529-Expose-world-spawn-angle.patch similarity index 88% rename from patches/server/0528-Expose-world-spawn-angle.patch rename to patches/server/0529-Expose-world-spawn-angle.patch index d51dbea4a1..60424105f6 100644 --- a/patches/server/0528-Expose-world-spawn-angle.patch +++ b/patches/server/0529-Expose-world-spawn-angle.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose world spawn angle diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d637f092f6e615bedf8fb206e172302052547566..d0c90c15a068a17dcafd5df9962e84ef27e021b5 100644 +index 6aaa5174bb0eff3216667b4c8d3912d02e1c66e2..388e02966660b42d812a89ad290a4b94b450b5fe 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -872,7 +872,7 @@ public abstract class PlayerList { +@@ -873,7 +873,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); @@ -18,7 +18,7 @@ index d637f092f6e615bedf8fb206e172302052547566..d0c90c15a068a17dcafd5df9962e84ef Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1f12da32b5bc10f77a5b8f4a9b32cbb89d7f2968..48557c6fdf9ffcce52713fc47ccf0ac9a9f73d0d 100644 +index b2efce98e8d6f5297646e4f270bc2d5cc7e182f0..4e6d24ce3e14ad56b2e926d6b4aea36f882f5bf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -236,7 +236,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0529-Add-Destroy-Speed-API.patch b/patches/server/0530-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/server/0529-Add-Destroy-Speed-API.patch rename to patches/server/0530-Add-Destroy-Speed-API.patch diff --git a/patches/server/0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 89% rename from patches/server/0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 03d9cdbfc7..291319052a 100644 --- a/patches/server/0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bb3e706aae719c8cff904425c09cc3b0f82534f1..f4a94bc00a8318af810c3c859decbf88decfa98d 100644 +index 26fe2e651d7432591bd5ef910e6db06ba214fd4f..f4e5e1029eefd4a951b8e8ab291a2b94e4c96936 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2069,7 +2069,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2079,7 +2079,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/server/0531-Add-LivingEntity-clearActiveItem.patch b/patches/server/0532-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/server/0531-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0532-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/server/0532-Add-PlayerItemCooldownEvent.patch b/patches/server/0533-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/server/0532-Add-PlayerItemCooldownEvent.patch rename to patches/server/0533-Add-PlayerItemCooldownEvent.patch diff --git a/patches/server/0533-More-lightning-API.patch b/patches/server/0534-More-lightning-API.patch similarity index 100% rename from patches/server/0533-More-lightning-API.patch rename to patches/server/0534-More-lightning-API.patch diff --git a/patches/server/0534-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0535-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 98% rename from patches/server/0534-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0535-Climbing-should-not-bypass-cramming-gamerule.patch index 3b767d04a4..3156cd4168 100644 --- a/patches/server/0534-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0535-Climbing-should-not-bypass-cramming-gamerule.patch @@ -21,7 +21,7 @@ index 5c22b8993385c1e6c72fe1fbd5f14c76253eec74..0759b9dbd37ca640b7fe410e0ecb6519 private void keepLoadedRange() { keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 10)) * 16); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a6ca13b92b81f5fe7a8d9d65476b0e032a8a029b..e12eb951d52d4bfa30e1d25139444d7663d3b946 100644 +index 8e3c69e53af1e79da5fd96d722fe08e49923113f..3a3f756ad620763ac63490e76200635b88df24df 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1698,6 +1698,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0535-Added-missing-default-perms-for-commands.patch b/patches/server/0536-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/server/0535-Added-missing-default-perms-for-commands.patch rename to patches/server/0536-Added-missing-default-perms-for-commands.patch diff --git a/patches/server/0536-Add-PlayerShearBlockEvent.patch b/patches/server/0537-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/server/0536-Add-PlayerShearBlockEvent.patch rename to patches/server/0537-Add-PlayerShearBlockEvent.patch diff --git a/patches/server/0537-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0538-Fix-curing-zombie-villager-discount-exploit.patch similarity index 100% rename from patches/server/0537-Fix-curing-zombie-villager-discount-exploit.patch rename to patches/server/0538-Fix-curing-zombie-villager-discount-exploit.patch diff --git a/patches/server/0538-Limit-recipe-packets.patch b/patches/server/0539-Limit-recipe-packets.patch similarity index 100% rename from patches/server/0538-Limit-recipe-packets.patch rename to patches/server/0539-Limit-recipe-packets.patch diff --git a/patches/server/0539-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0540-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/server/0539-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0540-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/server/0540-MC-4-Fix-item-position-desync.patch b/patches/server/0541-MC-4-Fix-item-position-desync.patch similarity index 97% rename from patches/server/0540-MC-4-Fix-item-position-desync.patch rename to patches/server/0541-MC-4-Fix-item-position-desync.patch index 5cd5c2de45..d8ce6d2d2a 100644 --- a/patches/server/0540-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0541-MC-4-Fix-item-position-desync.patch @@ -43,7 +43,7 @@ index b30c08bfb8c55161543a4ef09f2e462e0a1fe4ae..ec93f5300cc7d423ec0d292f0f8443f9 public Vec3 updateEntityPosition(Vec3 orig) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e12eb951d52d4bfa30e1d25139444d7663d3b946..b3ba775d4c4674dc8cd85145cacf9ca93737fe04 100644 +index 3a3f756ad620763ac63490e76200635b88df24df..4fb76a37e73f8186341629a77ad0bbf12bec133d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3746,6 +3746,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0541-Player-Chunk-Load-Unload-Events.patch b/patches/server/0542-Player-Chunk-Load-Unload-Events.patch similarity index 90% rename from patches/server/0541-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0542-Player-Chunk-Load-Unload-Events.patch index 6def485799..a5d6b0bd8a 100644 --- a/patches/server/0541-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0542-Player-Chunk-Load-Unload-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 207c566603671685f7d0abbb11274d2027568a05..6166d1ce68742fbcb365c59cd44a611addbe2f8c 100644 +index 8932fb6ab89e4de71661c0eec8397350ea4ce6f6..820e634abadca014baf11387865118e834859f7a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2091,11 +2091,21 @@ public class ServerPlayer extends Player { +@@ -2107,11 +2107,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket) { this.connection.send(chunkDataPacket); diff --git a/patches/server/0542-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0543-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/server/0542-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0543-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/server/0543-Expose-LivingEntity-hurt-direction.patch b/patches/server/0544-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/server/0543-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0544-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/server/0544-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0545-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/server/0544-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0545-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/server/0545-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0546-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 100% rename from patches/server/0545-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0546-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/server/0546-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0547-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 100% rename from patches/server/0546-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0547-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch diff --git a/patches/server/0547-Implement-TargetHitEvent.patch b/patches/server/0548-Implement-TargetHitEvent.patch similarity index 100% rename from patches/server/0547-Implement-TargetHitEvent.patch rename to patches/server/0548-Implement-TargetHitEvent.patch diff --git a/patches/server/0548-Additional-Block-Material-API-s.patch b/patches/server/0549-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/server/0548-Additional-Block-Material-API-s.patch rename to patches/server/0549-Additional-Block-Material-API-s.patch diff --git a/patches/server/0549-Fix-harming-potion-dupe.patch b/patches/server/0550-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/server/0549-Fix-harming-potion-dupe.patch rename to patches/server/0550-Fix-harming-potion-dupe.patch diff --git a/patches/server/0550-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0551-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 100% rename from patches/server/0550-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0551-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/server/0551-Cache-burn-durations.patch b/patches/server/0552-Cache-burn-durations.patch similarity index 100% rename from patches/server/0551-Cache-burn-durations.patch rename to patches/server/0552-Cache-burn-durations.patch diff --git a/patches/server/0552-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0553-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/server/0552-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0553-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/server/0553-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0554-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 100% rename from patches/server/0553-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0554-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/server/0554-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0555-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/server/0554-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0555-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/server/0555-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0556-Fix-interact-event-not-being-called-in-adventure.patch similarity index 100% rename from patches/server/0555-Fix-interact-event-not-being-called-in-adventure.patch rename to patches/server/0556-Fix-interact-event-not-being-called-in-adventure.patch diff --git a/patches/server/0556-Zombie-API-breaking-doors.patch b/patches/server/0557-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/server/0556-Zombie-API-breaking-doors.patch rename to patches/server/0557-Zombie-API-breaking-doors.patch diff --git a/patches/server/0557-Fix-nerfed-slime-when-splitting.patch b/patches/server/0558-Fix-nerfed-slime-when-splitting.patch similarity index 100% rename from patches/server/0557-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0558-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/server/0558-Add-EntityLoadCrossbowEvent.patch b/patches/server/0559-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/server/0558-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0559-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/server/0559-Guardian-beam-workaround.patch b/patches/server/0560-Guardian-beam-workaround.patch similarity index 100% rename from patches/server/0559-Guardian-beam-workaround.patch rename to patches/server/0560-Guardian-beam-workaround.patch diff --git a/patches/server/0560-Added-WorldGameRuleChangeEvent.patch b/patches/server/0561-Added-WorldGameRuleChangeEvent.patch similarity index 98% rename from patches/server/0560-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0561-Added-WorldGameRuleChangeEvent.patch index 800a25dbbb..025ce4d5ee 100644 --- a/patches/server/0560-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0561-Added-WorldGameRuleChangeEvent.patch @@ -64,7 +64,7 @@ index 888d812118c15c212284687ae5842a94f5715d52..e7ca5d6fb8922e7e8065864f736b0605 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 48557c6fdf9ffcce52713fc47ccf0ac9a9f73d0d..6835fc0fa6aba42edb5b78bcbe46fdc20af5f288 100644 +index 4e6d24ce3e14ad56b2e926d6b4aea36f882f5bf3..77bbac3a5d98083589a54d03964d14be2d15df95 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1733,8 +1733,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0561-Added-ServerResourcesReloadedEvent.patch b/patches/server/0562-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/server/0561-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0562-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/server/0562-Added-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch similarity index 100% rename from patches/server/0562-Added-world-settings-for-mobs-picking-up-loot.patch rename to patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/server/0563-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0564-Implemented-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/server/0563-Implemented-BlockFailedDispenseEvent.patch rename to patches/server/0564-Implemented-BlockFailedDispenseEvent.patch diff --git a/patches/server/0564-Added-PlayerLecternPageChangeEvent.patch b/patches/server/0565-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/server/0564-Added-PlayerLecternPageChangeEvent.patch rename to patches/server/0565-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/server/0565-Added-PlayerLoomPatternSelectEvent.patch b/patches/server/0566-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/server/0565-Added-PlayerLoomPatternSelectEvent.patch rename to patches/server/0566-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/server/0566-Configurable-door-breaking-difficulty.patch b/patches/server/0567-Configurable-door-breaking-difficulty.patch similarity index 100% rename from patches/server/0566-Configurable-door-breaking-difficulty.patch rename to patches/server/0567-Configurable-door-breaking-difficulty.patch diff --git a/patches/server/0567-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0568-Empty-commands-shall-not-be-dispatched.patch similarity index 100% rename from patches/server/0567-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0568-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/server/0568-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0569-Implement-API-to-expose-exact-interaction-point.patch similarity index 100% rename from patches/server/0568-Implement-API-to-expose-exact-interaction-point.patch rename to patches/server/0569-Implement-API-to-expose-exact-interaction-point.patch diff --git a/patches/server/0569-Remove-stale-POIs.patch b/patches/server/0570-Remove-stale-POIs.patch similarity index 100% rename from patches/server/0569-Remove-stale-POIs.patch rename to patches/server/0570-Remove-stale-POIs.patch diff --git a/patches/server/0570-Fix-villager-boat-exploit.patch b/patches/server/0571-Fix-villager-boat-exploit.patch similarity index 88% rename from patches/server/0570-Fix-villager-boat-exploit.patch rename to patches/server/0571-Fix-villager-boat-exploit.patch index c453000b71..687f9dbb75 100644 --- a/patches/server/0570-Fix-villager-boat-exploit.patch +++ b/patches/server/0571-Fix-villager-boat-exploit.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d0c90c15a068a17dcafd5df9962e84ef27e021b5..f3b29cfe6e07fda6aeb36e5f13711e562524c8b1 100644 +index 388e02966660b42d812a89ad290a4b94b450b5fe..eb622110d0d4f5a87dda91835d4fba339cc5f770 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -619,6 +619,14 @@ public abstract class PlayerList { +@@ -620,6 +620,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { diff --git a/patches/server/0571-Add-sendOpLevel-API.patch b/patches/server/0572-Add-sendOpLevel-API.patch similarity index 86% rename from patches/server/0571-Add-sendOpLevel-API.patch rename to patches/server/0572-Add-sendOpLevel-API.patch index 2831aee156..1c76718146 100644 --- a/patches/server/0571-Add-sendOpLevel-API.patch +++ b/patches/server/0572-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index f3b29cfe6e07fda6aeb36e5f13711e562524c8b1..7057f7aa02b819e32f2067d3c1c7c0eefb082fce 100644 +index eb622110d0d4f5a87dda91835d4fba339cc5f770..1bafdc0e64c06632ce78eea83abd167f9fd0cc1f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1117,6 +1117,11 @@ public abstract class PlayerList { +@@ -1118,6 +1118,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index f3b29cfe6e07fda6aeb36e5f13711e562524c8b1..7057f7aa02b819e32f2067d3c1c7c0ee if (player.connection != null) { byte b0; -@@ -1131,8 +1136,10 @@ public abstract class PlayerList { +@@ -1132,8 +1137,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,7 +32,7 @@ index f3b29cfe6e07fda6aeb36e5f13711e562524c8b1..7057f7aa02b819e32f2067d3c1c7c0ee // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f4a94bc00a8318af810c3c859decbf88decfa98d..87ed5271d623f239c94d18464458469c8e789bba 100644 +index f4e5e1029eefd4a951b8e8ab291a2b94e4c96936..890a7ad0b18358d87b5dd746784e0025b30d08f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -576,6 +576,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0572-Add-StructureLocateEvent.patch b/patches/server/0573-Add-StructureLocateEvent.patch similarity index 95% rename from patches/server/0572-Add-StructureLocateEvent.patch rename to patches/server/0573-Add-StructureLocateEvent.patch index ba28d11887..61178fc4a9 100644 --- a/patches/server/0572-Add-StructureLocateEvent.patch +++ b/patches/server/0573-Add-StructureLocateEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add StructureLocateEvent diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index 583b87b20490fd7254f5e966af3b6a627f53a7cb..13e789b3b7ea3be73ec73bb5357cb603da8d5e0d 100644 +index 408624c5fcc5277dfb13d76c67746228d5bf24dc..e2b7da265e9616ac47e6be72cc6e6d2c75cfec44 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java @@ -183,6 +183,20 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource { diff --git a/patches/server/0573-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0574-Collision-option-for-requiring-a-player-participant.patch similarity index 97% rename from patches/server/0573-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0574-Collision-option-for-requiring-a-player-participant.patch index 729ab5d3d0..51b74e2d72 100644 --- a/patches/server/0573-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0574-Collision-option-for-requiring-a-player-participant.patch @@ -28,7 +28,7 @@ index 4d723f5327a64cd8257bab502ae59a35b4a35cc1..e8f5ad4925b4d02bf79f9f56d0dac3f0 public int wanderingTraderSpawnDayTicks = 24000; public int wanderingTraderSpawnChanceFailureIncrement = 25; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b3ba775d4c4674dc8cd85145cacf9ca93737fe04..392b2745821077d4d3a99872a8b4d50da305c97c 100644 +index 4fb76a37e73f8186341629a77ad0bbf12bec133d..c8ae1d96b22cd01127169cc7b39a31caaff406a9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1581,6 +1581,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0574-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0575-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 100% rename from patches/server/0574-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0575-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/server/0575-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0576-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/server/0575-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0576-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0576-Make-schedule-command-per-world.patch b/patches/server/0577-Make-schedule-command-per-world.patch similarity index 100% rename from patches/server/0576-Make-schedule-command-per-world.patch rename to patches/server/0577-Make-schedule-command-per-world.patch diff --git a/patches/server/0577-Configurable-max-leash-distance.patch b/patches/server/0578-Configurable-max-leash-distance.patch similarity index 100% rename from patches/server/0577-Configurable-max-leash-distance.patch rename to patches/server/0578-Configurable-max-leash-distance.patch diff --git a/patches/server/0578-Implement-BlockPreDispenseEvent.patch b/patches/server/0579-Implement-BlockPreDispenseEvent.patch similarity index 100% rename from patches/server/0578-Implement-BlockPreDispenseEvent.patch rename to patches/server/0579-Implement-BlockPreDispenseEvent.patch diff --git a/patches/server/0579-added-Wither-API.patch b/patches/server/0580-added-Wither-API.patch similarity index 100% rename from patches/server/0579-added-Wither-API.patch rename to patches/server/0580-added-Wither-API.patch diff --git a/patches/server/0580-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0581-Added-firing-of-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/server/0580-Added-firing-of-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0581-Added-firing-of-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/server/0581-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/server/0581-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0582-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0583-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/server/0582-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0583-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/server/0583-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0584-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 100% rename from patches/server/0583-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0584-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/server/0584-Skip-distance-map-update-when-spawning-disabled.patch b/patches/server/0585-Skip-distance-map-update-when-spawning-disabled.patch similarity index 87% rename from patches/server/0584-Skip-distance-map-update-when-spawning-disabled.patch rename to patches/server/0585-Skip-distance-map-update-when-spawning-disabled.patch index 4811e70599..5009b17585 100644 --- a/patches/server/0584-Skip-distance-map-update-when-spawning-disabled.patch +++ b/patches/server/0585-Skip-distance-map-update-when-spawning-disabled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Skip distance map update when spawning disabled. diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index a66d9d6df1fc0ad68f51ea96d4e1a2d725c73b05..f716fea06702f21f1aaf0aefcc5b3ea170d2013d 100644 +index add33f9f0c568bbae2eb32a1b87fa8c20aaf1415..b8090bbd6e38772a937d31b4523b27e88e6d0727 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -893,7 +893,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -926,7 +926,7 @@ public class ServerChunkCache extends ChunkSource { int l = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - per player mob spawning NaturalSpawner.SpawnState spawnercreature_d; // moved down diff --git a/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0586-Reset-shield-blocking-on-dimension-change.patch similarity index 83% rename from patches/server/0585-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0586-Reset-shield-blocking-on-dimension-change.patch index c390cc8d73..f49f87d1a9 100644 --- a/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0586-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6166d1ce68742fbcb365c59cd44a611addbe2f8c..f8805dad18a5b9fa37b4f2c214acb17d59167f9d 100644 +index 820e634abadca014baf11387865118e834859f7a..d7bcab2d3830ccd807b0d021d71db2e2fae0c6d0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1151,6 +1151,11 @@ public class ServerPlayer extends Player { +@@ -1167,6 +1167,11 @@ public class ServerPlayer extends Player { this.level.getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/server/0586-add-DragonEggFormEvent.patch b/patches/server/0587-add-DragonEggFormEvent.patch similarity index 100% rename from patches/server/0586-add-DragonEggFormEvent.patch rename to patches/server/0587-add-DragonEggFormEvent.patch diff --git a/patches/server/0587-EntityMoveEvent.patch b/patches/server/0588-EntityMoveEvent.patch similarity index 92% rename from patches/server/0587-EntityMoveEvent.patch rename to patches/server/0588-EntityMoveEvent.patch index 9e4a847a3f..ff244de79b 100644 --- a/patches/server/0587-EntityMoveEvent.patch +++ b/patches/server/0588-EntityMoveEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] EntityMoveEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ad1e731900973deebdc363f34c4cf72058e4363d..6694e0d6d7d8d60f54ea1a2d2dcb5a8894b5b4b9 100644 +index 36e59108d8939ea0c4dfbe5a24ff72b42a7f7216..07b04d6fec9bd7615129ba6bd4fd465cb4bc1e84 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1489,6 +1489,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 24ff621292d04d241f432e3a43e9dca92a35be55..bc9bb3f9ea041283a5fa1000f1043db5160f04ba 100644 +index aecd2e432be6c9843fd6b96131392fe4c0c28767..cc644dc53f23ac300270dd513c277e7db3bf1898 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -205,6 +205,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -29,7 +29,7 @@ index 24ff621292d04d241f432e3a43e9dca92a35be55..bc9bb3f9ea041283a5fa1000f1043db5 return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index de90fc7af633576a33b0d35715c3cb68bb9f5b21..fbd33490d7e1394c0989ca20fb36f0033a9e1c26 100644 +index 81df34945237ccb78fc4e2c97f78ccfeaa947637..455fd68005262da367b6200713adf0266bdb08b6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3222,6 +3222,20 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0589-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 95% rename from patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0589-added-option-to-disable-pathfinding-updates-on-block.patch index d859f5f3c2..7cdc8c89d7 100644 --- a/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/patches/server/0589-added-option-to-disable-pathfinding-updates-on-block.patch @@ -21,7 +21,7 @@ index 1eaea3659dbd99767a045e0f66143bebb604c047..3c5dd72a4c98703602c41f2a04f1c793 public boolean phantomOnlyAttackInsomniacs = true; private void phantomSettings() { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index bc9bb3f9ea041283a5fa1000f1043db5160f04ba..d09a9886a6fa8a7e180ab0c1c4a5b437b621f236 100644 +index cc644dc53f23ac300270dd513c277e7db3bf1898..e72a6417409a272692fe351cda088b7477dda4af 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1360,6 +1360,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0589-Inline-shift-direction-fields.patch b/patches/server/0590-Inline-shift-direction-fields.patch similarity index 100% rename from patches/server/0589-Inline-shift-direction-fields.patch rename to patches/server/0590-Inline-shift-direction-fields.patch diff --git a/patches/server/0590-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0591-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/server/0590-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0591-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/server/0591-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0592-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/server/0591-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0592-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/server/0592-living-entity-allow-attribute-registration.patch b/patches/server/0593-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/server/0592-living-entity-allow-attribute-registration.patch rename to patches/server/0593-living-entity-allow-attribute-registration.patch diff --git a/patches/server/0593-fix-dead-slime-setSize-invincibility.patch b/patches/server/0594-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/server/0593-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0594-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0594-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0595-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/server/0594-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0595-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/server/0595-Add-support-for-hex-color-codes-in-console.patch b/patches/server/0596-Add-support-for-hex-color-codes-in-console.patch similarity index 100% rename from patches/server/0595-Add-support-for-hex-color-codes-in-console.patch rename to patches/server/0596-Add-support-for-hex-color-codes-in-console.patch diff --git a/patches/server/0596-Expose-Tracked-Players.patch b/patches/server/0597-Expose-Tracked-Players.patch similarity index 100% rename from patches/server/0596-Expose-Tracked-Players.patch rename to patches/server/0597-Expose-Tracked-Players.patch diff --git a/patches/server/0597-Remove-streams-from-SensorNearest.patch b/patches/server/0598-Remove-streams-from-SensorNearest.patch similarity index 100% rename from patches/server/0597-Remove-streams-from-SensorNearest.patch rename to patches/server/0598-Remove-streams-from-SensorNearest.patch diff --git a/patches/server/0598-Throw-proper-exception-on-empty-JsonList-file.patch b/patches/server/0599-Throw-proper-exception-on-empty-JsonList-file.patch similarity index 100% rename from patches/server/0598-Throw-proper-exception-on-empty-JsonList-file.patch rename to patches/server/0599-Throw-proper-exception-on-empty-JsonList-file.patch diff --git a/patches/server/0599-Improve-ServerGUI.patch b/patches/server/0600-Improve-ServerGUI.patch similarity index 100% rename from patches/server/0599-Improve-ServerGUI.patch rename to patches/server/0600-Improve-ServerGUI.patch diff --git a/patches/server/0600-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch b/patches/server/0601-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch similarity index 100% rename from patches/server/0600-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch rename to patches/server/0601-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch diff --git a/patches/server/0601-fix-converting-txt-to-json-file.patch b/patches/server/0602-fix-converting-txt-to-json-file.patch similarity index 94% rename from patches/server/0601-fix-converting-txt-to-json-file.patch rename to patches/server/0602-fix-converting-txt-to-json-file.patch index ad7fb68f81..4402faf5e9 100644 --- a/patches/server/0601-fix-converting-txt-to-json-file.patch +++ b/patches/server/0602-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index e968b880e435b8753314d85b919a0abc4f35be25..02d7b16f81ebf9f902a36d4f31802b20 if (!OldUsersConverter.serverReadyAfterUserconversion(this)) { return false; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7057f7aa02b819e32f2067d3c1c7c0eefb082fce..8784748564021eecf0e2553925d234c789fc9c5a 100644 +index 1bafdc0e64c06632ce78eea83abd167f9fd0cc1f..effcca445789a55fffca8f9019c910f1cb1ac207 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -174,6 +174,7 @@ public abstract class PlayerList { @@ -58,4 +58,4 @@ index 7057f7aa02b819e32f2067d3c1c7c0eefb082fce..8784748564021eecf0e2553925d234c7 + abstract public void loadAndSaveFiles(); // Paper - moved from DedicatedPlayerList constructor public void placeNewPlayer(Connection connection, ServerPlayer player) { - ServerPlayer prev = pendingPlayers.put(player.getUUID(), player);// Paper + player.isRealPlayer = true; // Paper - Chunk priority diff --git a/patches/server/0602-Add-worldborder-events.patch b/patches/server/0603-Add-worldborder-events.patch similarity index 100% rename from patches/server/0602-Add-worldborder-events.patch rename to patches/server/0603-Add-worldborder-events.patch diff --git a/patches/server/0603-added-PlayerNameEntityEvent.patch b/patches/server/0604-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/server/0603-added-PlayerNameEntityEvent.patch rename to patches/server/0604-added-PlayerNameEntityEvent.patch diff --git a/patches/server/0604-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0605-Prevent-grindstones-from-overstacking-items.patch similarity index 100% rename from patches/server/0604-Prevent-grindstones-from-overstacking-items.patch rename to patches/server/0605-Prevent-grindstones-from-overstacking-items.patch diff --git a/patches/server/0605-Add-recipe-to-cook-events.patch b/patches/server/0606-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/server/0605-Add-recipe-to-cook-events.patch rename to patches/server/0606-Add-recipe-to-cook-events.patch diff --git a/patches/server/0606-Add-Block-isValidTool.patch b/patches/server/0607-Add-Block-isValidTool.patch similarity index 100% rename from patches/server/0606-Add-Block-isValidTool.patch rename to patches/server/0607-Add-Block-isValidTool.patch diff --git a/patches/server/0607-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0608-Allow-using-signs-inside-spawn-protection.patch similarity index 100% rename from patches/server/0607-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0608-Allow-using-signs-inside-spawn-protection.patch diff --git a/patches/server/0608-Implement-Keyed-on-World.patch b/patches/server/0609-Implement-Keyed-on-World.patch similarity index 94% rename from patches/server/0608-Implement-Keyed-on-World.patch rename to patches/server/0609-Implement-Keyed-on-World.patch index 1176ab978c..3fdd148209 100644 --- a/patches/server/0608-Implement-Keyed-on-World.patch +++ b/patches/server/0609-Implement-Keyed-on-World.patch @@ -34,10 +34,10 @@ index 5c8dc52d012117ebf9721fb26d3c0e9d84a751f4..9d77ecf330d93b3c2925d097b753c887 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6835fc0fa6aba42edb5b78bcbe46fdc20af5f288..69f6675e3a1e979687d956576719c46003ea3b0e 100644 +index 77bbac3a5d98083589a54d03964d14be2d15df95..6f09c88f04fd182f0e321f47b7b8c2e9332d2877 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1950,6 +1950,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1956,6 +1956,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); }, net.minecraft.server.MinecraftServer.getServer()); } diff --git a/patches/server/0609-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0610-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/server/0609-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0610-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0610-Item-Rarity-API.patch b/patches/server/0611-Item-Rarity-API.patch similarity index 96% rename from patches/server/0610-Item-Rarity-API.patch rename to patches/server/0611-Item-Rarity-API.patch index 123c9ca9bc..a87f26bb6e 100644 --- a/patches/server/0610-Item-Rarity-API.patch +++ b/patches/server/0611-Item-Rarity-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item Rarity API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 29d079927ac5f48f14e6f41a32b03174cc622dda..191d5bee5651e5b8e60547f819836370ce6124bc 100644 +index 463cabee7f4f40f2f8d4f4502296d1abfff18229..6ef091d64a2b7a61fabc7c325c90754f4b500bff 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -476,6 +476,20 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0611-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0612-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0611-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0612-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0612-copy-TESign-isEditable-from-snapshots.patch b/patches/server/0613-copy-TESign-isEditable-from-snapshots.patch similarity index 100% rename from patches/server/0612-copy-TESign-isEditable-from-snapshots.patch rename to patches/server/0613-copy-TESign-isEditable-from-snapshots.patch diff --git a/patches/server/0613-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0614-Drop-carried-item-when-player-has-disconnected.patch similarity index 88% rename from patches/server/0613-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0614-Drop-carried-item-when-player-has-disconnected.patch index d62117e667..8015cee5ed 100644 --- a/patches/server/0613-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0614-Drop-carried-item-when-player-has-disconnected.patch @@ -7,10 +7,10 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro Closes #5036 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8784748564021eecf0e2553925d234c789fc9c5a..4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34 100644 +index effcca445789a55fffca8f9019c910f1cb1ac207..ada17f16131be10670223615a36dca3fee6bfb73 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -612,6 +612,14 @@ public abstract class PlayerList { +@@ -613,6 +613,14 @@ public abstract class PlayerList { } // Paper end diff --git a/patches/server/0614-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0615-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/server/0614-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0615-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/server/0615-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0616-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 100% rename from patches/server/0615-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/server/0616-Don-t-ignore-result-of-PlayerEditBookEvent.patch diff --git a/patches/server/0616-Entity-load-save-limit-per-chunk.patch b/patches/server/0617-Entity-load-save-limit-per-chunk.patch similarity index 100% rename from patches/server/0616-Entity-load-save-limit-per-chunk.patch rename to patches/server/0617-Entity-load-save-limit-per-chunk.patch diff --git a/patches/server/0617-fix-cancelling-block-falling-causing-client-desync.patch b/patches/server/0618-fix-cancelling-block-falling-causing-client-desync.patch similarity index 100% rename from patches/server/0617-fix-cancelling-block-falling-causing-client-desync.patch rename to patches/server/0618-fix-cancelling-block-falling-causing-client-desync.patch diff --git a/patches/server/0618-Expose-protocol-version.patch b/patches/server/0619-Expose-protocol-version.patch similarity index 91% rename from patches/server/0618-Expose-protocol-version.patch rename to patches/server/0619-Expose-protocol-version.patch index 343fe771e8..84f610e670 100644 --- a/patches/server/0618-Expose-protocol-version.patch +++ b/patches/server/0619-Expose-protocol-version.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 191d5bee5651e5b8e60547f819836370ce6124bc..e567e9ccd6017e3c95e868efb78388030ee0f676 100644 +index 6ef091d64a2b7a61fabc7c325c90754f4b500bff..80dc84864755bf46b9be46d69cd23f588628f9bd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -490,6 +490,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0619-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch b/patches/server/0620-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch similarity index 100% rename from patches/server/0619-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch rename to patches/server/0620-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch diff --git a/patches/server/0620-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0621-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/server/0620-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0621-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0621-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0622-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 100% rename from patches/server/0621-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0622-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/server/0622-Add-bypass-host-check.patch b/patches/server/0623-Add-bypass-host-check.patch similarity index 100% rename from patches/server/0622-Add-bypass-host-check.patch rename to patches/server/0623-Add-bypass-host-check.patch diff --git a/patches/server/0623-Set-area-affect-cloud-rotation.patch b/patches/server/0624-Set-area-affect-cloud-rotation.patch similarity index 100% rename from patches/server/0623-Set-area-affect-cloud-rotation.patch rename to patches/server/0624-Set-area-affect-cloud-rotation.patch diff --git a/patches/server/0624-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0625-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/server/0624-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0625-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/server/0625-Fix-duplicating-give-items-on-item-drop-cancel.patch b/patches/server/0626-Fix-duplicating-give-items-on-item-drop-cancel.patch similarity index 100% rename from patches/server/0625-Fix-duplicating-give-items-on-item-drop-cancel.patch rename to patches/server/0626-Fix-duplicating-give-items-on-item-drop-cancel.patch diff --git a/patches/server/0626-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0627-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/server/0626-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0627-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0627-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0628-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/server/0627-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0628-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/server/0628-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0629-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/server/0628-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0629-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0629-Fix-checkReach-check-for-Shulker-boxes.patch b/patches/server/0630-Fix-checkReach-check-for-Shulker-boxes.patch similarity index 100% rename from patches/server/0629-Fix-checkReach-check-for-Shulker-boxes.patch rename to patches/server/0630-Fix-checkReach-check-for-Shulker-boxes.patch diff --git a/patches/server/0630-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0631-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 100% rename from patches/server/0630-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0631-fix-PlayerItemHeldEvent-firing-twice.patch diff --git a/patches/server/0631-Added-PlayerDeepSleepEvent.patch b/patches/server/0632-Added-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/server/0631-Added-PlayerDeepSleepEvent.patch rename to patches/server/0632-Added-PlayerDeepSleepEvent.patch diff --git a/patches/server/0632-More-World-API.patch b/patches/server/0633-More-World-API.patch similarity index 97% rename from patches/server/0632-More-World-API.patch rename to patches/server/0633-More-World-API.patch index f18a07935e..d7ad6f7b3f 100644 --- a/patches/server/0632-More-World-API.patch +++ b/patches/server/0633-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 69f6675e3a1e979687d956576719c46003ea3b0e..35b3e76cde3449b805435e6af8e8a296fee905d7 100644 +index 6f09c88f04fd182f0e321f47b7b8c2e9332d2877..9a4f4cca21f9715628de5fd43030e50c5cf28cac 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1902,6 +1902,65 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0633-Added-PlayerBedFailEnterEvent.patch b/patches/server/0634-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/server/0633-Added-PlayerBedFailEnterEvent.patch rename to patches/server/0634-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0634-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0635-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/server/0634-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0635-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0636-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch similarity index 86% rename from patches/server/0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch rename to patches/server/0636-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch index 098dbff6d9..5b8ac91c08 100644 --- a/patches/server/0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch +++ b/patches/server/0636-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix anchor respawn acting as a bed respawn from the end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34..e6deeeb1456e79f91d2ea73b34e4770d32b05d3b 100644 +index ada17f16131be10670223615a36dca3fee6bfb73..a0b75c776e5830c00bb861f76b2cde4692b13933 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -845,6 +845,7 @@ public abstract class PlayerList { +@@ -846,6 +846,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; @@ -17,7 +17,7 @@ index 4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34..e6deeeb1456e79f91d2ea73b34e4770d boolean isRespawn = false; boolean isLocAltered = false; // Paper - Fix SPIGOT-5989 // Paper end -@@ -865,6 +866,7 @@ public abstract class PlayerList { +@@ -866,6 +867,7 @@ public abstract class PlayerList { if (optional.isPresent()) { BlockState iblockdata = worldserver1.getBlockState(blockposition); boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR); @@ -25,7 +25,7 @@ index 4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34..e6deeeb1456e79f91d2ea73b34e4770d Vec3 vec3d = (Vec3) optional.get(); float f1; -@@ -893,7 +895,7 @@ public abstract class PlayerList { +@@ -894,7 +896,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/patches/server/0636-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0637-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/server/0636-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0637-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0637-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0638-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 94% rename from patches/server/0637-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/server/0638-add-RespawnFlags-to-PlayerRespawnEvent.patch index e1c5194a04..8311775a03 100644 --- a/patches/server/0637-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0638-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -18,10 +18,10 @@ index eb811f9fcaf84edce3b59fc5f53cd72ffaf1506c..9daad376b7c837ac5dcda5f54d520e2a } else { if (this.player.getHealth() > 0.0F) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e6deeeb1456e79f91d2ea73b34e4770d32b05d3b..bc2f8dd01039d855a174358825d2fdc8d0f0f526 100644 +index a0b75c776e5830c00bb861f76b2cde4692b13933..84505eccbd58746e9410846562698d7b3bfbcc34 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -804,6 +804,12 @@ public abstract class PlayerList { +@@ -805,6 +805,12 @@ public abstract class PlayerList { } public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation) { @@ -34,7 +34,7 @@ index e6deeeb1456e79f91d2ea73b34e4770d32b05d3b..bc2f8dd01039d855a174358825d2fdc8 entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot -@@ -895,7 +901,7 @@ public abstract class PlayerList { +@@ -896,7 +902,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/patches/server/0638-Add-Channel-initialization-listeners.patch b/patches/server/0639-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/server/0638-Add-Channel-initialization-listeners.patch rename to patches/server/0639-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0639-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0640-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/server/0639-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0640-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0640-Add-more-WanderingTrader-API.patch b/patches/server/0641-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/server/0640-Add-more-WanderingTrader-API.patch rename to patches/server/0641-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0641-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0642-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/server/0641-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0642-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0642-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0643-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/server/0642-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0643-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0643-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0644-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/server/0643-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/server/0644-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0644-Inventory-close.patch b/patches/server/0645-Inventory-close.patch similarity index 100% rename from patches/server/0644-Inventory-close.patch rename to patches/server/0645-Inventory-close.patch diff --git a/patches/server/0645-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0646-call-PortalCreateEvent-players-and-end-platform.patch similarity index 91% rename from patches/server/0645-call-PortalCreateEvent-players-and-end-platform.patch rename to patches/server/0646-call-PortalCreateEvent-players-and-end-platform.patch index 2e3a348184..3b93eb8fb0 100644 --- a/patches/server/0645-call-PortalCreateEvent-players-and-end-platform.patch +++ b/patches/server/0646-call-PortalCreateEvent-players-and-end-platform.patch @@ -5,10 +5,10 @@ Subject: [PATCH] call PortalCreateEvent players and end platform diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f8805dad18a5b9fa37b4f2c214acb17d59167f9d..3650036d18d66194fad37610e8a4de7a2eac97d7 100644 +index d7bcab2d3830ccd807b0d021d71db2e2fae0c6d0..8141c7b4102195ce7d11011a51228f8715c94ac1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1178,15 +1178,21 @@ public class ServerPlayer extends Player { +@@ -1194,15 +1194,21 @@ public class ServerPlayer extends Player { private void createEndPlatform(ServerLevel world, BlockPos centerPos) { BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable(); diff --git a/patches/server/0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 98% rename from patches/server/0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index e0d213b1e4..73dba9db51 100644 --- a/patches/server/0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/server/0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch @@ -48,7 +48,7 @@ index ecf12ed5014202181e78af051e4a9ca88a275794..e23fe546291e670f89447398507d08a0 @Override public void setItemSlot(EquipmentSlot slot, ItemStack stack) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 7344301e1cdeccd95375b77f6955edb508362a7b..4442db77e1a0b517aab3a7dc74a4aaac5afc32e0 100644 +index 573107f1281e68c7ba00d4dea8fac02f2d18504d..5c35b73c13c3826be9705e05154076810a78d147 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -144,7 +144,7 @@ public class Phantom extends FlyingMob implements Enemy { diff --git a/patches/server/0647-Fix-CraftPotionBrewer-cache.patch b/patches/server/0648-Fix-CraftPotionBrewer-cache.patch similarity index 100% rename from patches/server/0647-Fix-CraftPotionBrewer-cache.patch rename to patches/server/0648-Fix-CraftPotionBrewer-cache.patch diff --git a/patches/server/0648-Add-basic-Datapack-API.patch b/patches/server/0649-Add-basic-Datapack-API.patch similarity index 100% rename from patches/server/0648-Add-basic-Datapack-API.patch rename to patches/server/0649-Add-basic-Datapack-API.patch diff --git a/patches/server/0649-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0650-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/server/0649-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0650-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0650-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0651-additions-to-PlayerGameModeChangeEvent.patch similarity index 95% rename from patches/server/0650-additions-to-PlayerGameModeChangeEvent.patch rename to patches/server/0651-additions-to-PlayerGameModeChangeEvent.patch index 566ec15647..8d00694c0f 100644 --- a/patches/server/0650-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0651-additions-to-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ index d75f78d2e3fb1376e8f6a8668c98a04a693c99e1..79f6089b934124c3309c6bee2e48b36b } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3650036d18d66194fad37610e8a4de7a2eac97d7..aec3fd5bd9103af17eb476d5411b84d76f72bfe4 100644 +index 8141c7b4102195ce7d11011a51228f8715c94ac1..0407973474ce463a4dae91dd518e67d38def94bb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1787,8 +1787,15 @@ public class ServerPlayer extends Player { +@@ -1803,8 +1803,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index 3650036d18d66194fad37610e8a4de7a2eac97d7..aec3fd5bd9103af17eb476d5411b84d7 } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1800,7 +1807,7 @@ public class ServerPlayer extends Player { +@@ -1816,7 +1823,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index 3650036d18d66194fad37610e8a4de7a2eac97d7..aec3fd5bd9103af17eb476d5411b84d7 } } -@@ -2182,6 +2189,16 @@ public class ServerPlayer extends Player { +@@ -2198,6 +2205,16 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -139,10 +139,10 @@ index 9daad376b7c837ac5dcda5f54d520e2adfda0481..311df240858d4416306a795d893bdf7d } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 87ed5271d623f239c94d18464458469c8e789bba..4c1430a6499dd44bb07c9d13de511d365a93db58 100644 +index 890a7ad0b18358d87b5dd746784e0025b30d08f6..faf75252015d3852578c4ff047082a269f728592 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1257,7 +1257,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1267,7 +1267,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0651-ItemStack-repair-check-API.patch b/patches/server/0652-ItemStack-repair-check-API.patch similarity index 97% rename from patches/server/0651-ItemStack-repair-check-API.patch rename to patches/server/0652-ItemStack-repair-check-API.patch index 324c24c531..3fa1f719a3 100644 --- a/patches/server/0651-ItemStack-repair-check-API.patch +++ b/patches/server/0652-ItemStack-repair-check-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e567e9ccd6017e3c95e868efb78388030ee0f676..5e6941963f12a7f11603884a1b0bf844ea3a3514 100644 +index 80dc84864755bf46b9be46d69cd23f588628f9bd..e3f55036f44a92adb268880a458518bcccca34be 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -491,6 +491,14 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0652-More-Enchantment-API.patch b/patches/server/0653-More-Enchantment-API.patch similarity index 100% rename from patches/server/0652-More-Enchantment-API.patch rename to patches/server/0653-More-Enchantment-API.patch diff --git a/patches/server/0653-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0654-Fix-and-optimise-world-force-upgrading.patch similarity index 99% rename from patches/server/0653-Fix-and-optimise-world-force-upgrading.patch rename to patches/server/0654-Fix-and-optimise-world-force-upgrading.patch index 08eb0ecaa3..4bd6506b3a 100644 --- a/patches/server/0653-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0654-Fix-and-optimise-world-force-upgrading.patch @@ -274,7 +274,7 @@ index f685ab3cc6e4fd76e8dec3d2d3627a13715cda44..36a1d58dd238c835ce3cc9c2376a86a0 Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 478eb61a9e5aab8b004e75c264eca9ca79e51fbb..d93e6d987e013bce37d511ac6c5b2481d86b9235 100644 +index 877863aace3df7f50c6ad054023445bf09b1cef3..0562f00a4d3fc2c6d317f1a112e54e23046fda54 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -556,11 +556,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier persistentStateManagerFactory, int viewDistance, boolean dsync) { super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync); this.visibleChunkMap = this.updatingChunkMap.clone(); -@@ -499,6 +500,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -549,6 +550,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @Nullable ChunkHolder updateChunkScheduling(long pos, int level, @Nullable ChunkHolder holder, int k) { @@ -27,7 +27,7 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad if (k > ChunkMap.MAX_CHUNK_DISTANCE && level > ChunkMap.MAX_CHUNK_DISTANCE) { return holder; } else { -@@ -658,6 +660,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -708,6 +710,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (completablefuture1 != completablefuture) { this.scheduleUnload(pos, holder); } else { @@ -40,7 +40,7 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad // Paper start boolean removed; if ((removed = this.pendingUnloads.remove(pos, holder)) && ichunkaccess != null) { -@@ -693,6 +701,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -743,6 +751,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.regionManagers.get(index).removeChunk(holder.pos.x, holder.pos.z); } } // Paper end @@ -49,13 +49,13 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad } }; diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 3c95e322a2ecf4fc212e168c4aa475d2e4e7ce69..7908e35a5842beb422edfed624561caffe08e6ef 100644 +index d5fad1d1b586ce9d405f986b34a8a935f9d3490a..fd419bf8780e148fb8235f3c11cfde36eb621f5e 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -787,6 +787,7 @@ public class ServerChunkCache extends ChunkSource { - } +@@ -820,6 +820,7 @@ public class ServerChunkCache extends ChunkSource { public boolean runDistanceManagerUpdates() { + if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority + if (this.chunkMap.unloadingPlayerChunk) { net.minecraft.server.MinecraftServer.LOGGER.fatal("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); diff --git a/patches/server/0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch b/patches/server/0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch similarity index 91% rename from patches/server/0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch rename to patches/server/0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch index ab866270de..66d4b5f21b 100644 --- a/patches/server/0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch +++ b/patches/server/0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch @@ -8,10 +8,10 @@ This WILL cause state corruption if it happens. So, don't allow it. diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index be8e63fb3e5c65157ea4ed9c0e3910aaba8c3d45..7418245d5d08706ca2a1378e769abfb0de1076ed 100644 +index bad5b629b0c15432a723db0c2275a5abdeda3ea0..663fe2ddad1a65862c6bd4fe15f047e270bcd3ba 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -385,7 +385,13 @@ public class ChunkHolder { +@@ -386,7 +386,13 @@ public class ChunkHolder { CompletableFuture completablefuture1 = new CompletableFuture(); completablefuture1.thenRunAsync(() -> { @@ -25,7 +25,7 @@ index be8e63fb3e5c65157ea4ed9c0e3910aaba8c3d45..7418245d5d08706ca2a1378e769abfb0 }, executor); this.pendingFullStateConfirmation = completablefuture1; completablefuture.thenAccept((either) -> { -@@ -397,7 +403,12 @@ public class ChunkHolder { +@@ -403,7 +409,12 @@ public class ChunkHolder { private void demoteFullChunk(ChunkMap playerchunkmap, ChunkHolder.FullChunkStatus playerchunk_state) { this.pendingFullStateConfirmation.cancel(false); diff --git a/patches/server/0737-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0738-Do-not-submit-profile-lookups-to-worldgen-threads.patch similarity index 100% rename from patches/server/0737-Do-not-submit-profile-lookups-to-worldgen-threads.patch rename to patches/server/0738-Do-not-submit-profile-lookups-to-worldgen-threads.patch diff --git a/patches/server/0738-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0739-Log-when-the-async-catcher-is-tripped.patch similarity index 100% rename from patches/server/0738-Log-when-the-async-catcher-is-tripped.patch rename to patches/server/0739-Log-when-the-async-catcher-is-tripped.patch diff --git a/patches/server/0739-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0740-Sanitize-ResourceLocation-error-logging.patch similarity index 100% rename from patches/server/0739-Sanitize-ResourceLocation-error-logging.patch rename to patches/server/0740-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0740-Optimise-general-POI-access.patch b/patches/server/0741-Optimise-general-POI-access.patch similarity index 100% rename from patches/server/0740-Optimise-general-POI-access.patch rename to patches/server/0741-Optimise-general-POI-access.patch diff --git a/patches/server/0741-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0742-Allow-controlled-flushing-for-network-manager.patch similarity index 100% rename from patches/server/0741-Allow-controlled-flushing-for-network-manager.patch rename to patches/server/0742-Allow-controlled-flushing-for-network-manager.patch diff --git a/patches/server/0742-Add-more-async-catchers.patch b/patches/server/0743-Add-more-async-catchers.patch similarity index 100% rename from patches/server/0742-Add-more-async-catchers.patch rename to patches/server/0743-Add-more-async-catchers.patch diff --git a/patches/server/0743-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0744-Rewrite-entity-bounding-box-lookup-calls.patch similarity index 99% rename from patches/server/0743-Rewrite-entity-bounding-box-lookup-calls.patch rename to patches/server/0744-Rewrite-entity-bounding-box-lookup-calls.patch index 2d7fa25573..98fc42cb05 100644 --- a/patches/server/0743-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0744-Rewrite-entity-bounding-box-lookup-calls.patch @@ -953,7 +953,7 @@ index 5d189257f494eb12b5fd98b12da6dd09ca14f972..913b56361dece6c699ed7fad7e580d40 + // Paper end } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7713f26d4a97df94c27694d28881d298e4c54147..3110f8cbf65ba0fefbf78f90915ee358694d20ca 100644 +index 4a763c6321abed6955a8adfb6dfd4f9f4593bc2f..3acb5defa7cb1290820425016599ddbbe885d5ed 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -386,6 +386,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0744-Execute-chunk-tasks-mid-tick.patch b/patches/server/0745-Execute-chunk-tasks-mid-tick.patch similarity index 100% rename from patches/server/0744-Execute-chunk-tasks-mid-tick.patch rename to patches/server/0745-Execute-chunk-tasks-mid-tick.patch diff --git a/patches/server/0745-Do-not-copy-visible-chunks.patch b/patches/server/0746-Do-not-copy-visible-chunks.patch similarity index 92% rename from patches/server/0745-Do-not-copy-visible-chunks.patch rename to patches/server/0746-Do-not-copy-visible-chunks.patch index 2135208f67..37327a78f2 100644 --- a/patches/server/0745-Do-not-copy-visible-chunks.patch +++ b/patches/server/0746-Do-not-copy-visible-chunks.patch @@ -22,7 +22,7 @@ index f436ab35798c9b6e6cb2eb60d2c02cbf9b742e69..85beb460aa59313cf2ace2d6a6bf2493 continue; } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 2fe519d4059fac06781c30e140895b604e13104f..7082c61b2dbe524c334efa56a73b24565b996b42 100644 +index 35949e9c15eb998aa89842d34d0999cd973590e0..15f0c85ba9f4f9666e94e67dde43eb2e945ecfbf 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -619,7 +619,7 @@ public final class MCUtil { @@ -35,7 +35,7 @@ index 2fe519d4059fac06781c30e140895b604e13104f..7082c61b2dbe524c334efa56a73b2456 List allChunks = new ArrayList<>(visibleChunks.values()); List players = world.players; diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d688ca0d756 100644 +index 32b101b85cce51e35905357a3f80b46f340add1a..7bf89ff76809e1d85b4656c8d9964400ab2c181f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -117,9 +117,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -52,7 +52,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 private final Long2ObjectLinkedOpenHashMap pendingUnloads; public final LongSet entitiesInLevel; public final ServerLevel level; -@@ -238,7 +240,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -239,7 +241,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider boolean unloadingPlayerChunk = false; // Paper - do not allow ticket level changes while unloading chunks public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureManager structureManager, Executor executor, BlockableEventLoop mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier persistentStateManagerFactory, int viewDistance, boolean dsync) { super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync); @@ -61,7 +61,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 this.pendingUnloads = new Long2ObjectLinkedOpenHashMap(); this.entitiesInLevel = new LongOpenHashSet(); this.toDrop = new LongOpenHashSet(); -@@ -382,12 +384,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -423,12 +425,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @Nullable public ChunkHolder getUpdatingChunkIfPresent(long pos) { @@ -81,7 +81,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 } protected IntSupplier getChunkQueueLevel(long pos) { -@@ -529,7 +536,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -579,7 +586,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider // Paper end } @@ -90,7 +90,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 this.modified = true; } -@@ -551,7 +558,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -601,7 +608,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider protected void saveAllChunks(boolean flush) { if (flush) { @@ -99,7 +99,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 MutableBoolean mutableboolean = new MutableBoolean(); do { -@@ -582,7 +589,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -632,7 +639,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider //this.flushWorker(); // Paper - nuke IOWorker this.level.asyncChunkTaskManager.flush(); // Paper - flush to preserve behavior compat with pre-async behaviour } else { @@ -108,7 +108,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 } } -@@ -616,7 +623,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -666,7 +673,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider while (longiterator.hasNext()) { // Spigot long j = longiterator.nextLong(); longiterator.remove(); // Spigot @@ -117,7 +117,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 if (playerchunk != null) { this.pendingUnloads.put(j, playerchunk); -@@ -642,7 +649,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -692,7 +699,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } int l = 0; @@ -126,7 +126,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 while (l < 20 && shouldKeepTicking.getAsBoolean() && objectiterator.hasNext()) { if (this.saveChunkIfNeeded((ChunkHolder) objectiterator.next())) { -@@ -720,7 +727,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -770,7 +777,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (!this.modified) { return false; } else { @@ -140,7 +140,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 this.modified = false; return true; } -@@ -1174,7 +1186,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1246,7 +1258,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.viewDistance = j; this.distanceManager.updatePlayerTickets(this.viewDistance); @@ -149,7 +149,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 while (objectiterator.hasNext()) { ChunkHolder playerchunk = (ChunkHolder) objectiterator.next(); -@@ -1216,7 +1228,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1288,7 +1300,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } public int size() { @@ -158,7 +158,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 } public DistanceManager getDistanceManager() { -@@ -1224,13 +1236,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1296,13 +1308,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } protected Iterable getChunks() { @@ -175,7 +175,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 while (objectbidirectionaliterator.hasNext()) { Entry entry = (Entry) objectbidirectionaliterator.next(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 69a4572c0eb4019491e099cf75049728a9aa4f99..a4188556cc6e657d9b288f2a410c716ca7b100db 100644 +index 25ab3a26a46b592f0953047ecafed4733f037cd1..9c3a728b42fb18bb39377cf34e59add2c4cce73c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -149,7 +149,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0746-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0747-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/0746-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/0747-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0747-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0748-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/server/0747-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/server/0748-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0748-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0749-Detail-more-information-in-watchdog-dumps.patch similarity index 99% rename from patches/server/0748-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/0749-Detail-more-information-in-watchdog-dumps.patch index 5a422cba90..c20c1b8877 100644 --- a/patches/server/0748-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0749-Detail-more-information-in-watchdog-dumps.patch @@ -123,7 +123,7 @@ index 5d4f20a31ad99b4e808bb9a7aaa2153666af493f..928ac2d5b93b93aa7494374f4f344655 private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3110f8cbf65ba0fefbf78f90915ee358694d20ca..96794dcb87c3606e9d112d4159be8be31ad4329e 100644 +index 3acb5defa7cb1290820425016599ddbbe885d5ed..cb89d7973dabd42fb8c19d71bdb5917a363d545c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -860,7 +860,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0749-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0750-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/server/0749-Manually-inline-methods-in-BlockPosition.patch rename to patches/server/0750-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0750-Distance-manager-tick-timings.patch b/patches/server/0751-Distance-manager-tick-timings.patch similarity index 87% rename from patches/server/0750-Distance-manager-tick-timings.patch rename to patches/server/0751-Distance-manager-tick-timings.patch index 8b5b3e68ec..b154b2fda8 100644 --- a/patches/server/0750-Distance-manager-tick-timings.patch +++ b/patches/server/0751-Distance-manager-tick-timings.patch @@ -19,18 +19,18 @@ index eada966d7f108a6081be7a848f5c1dfcb1eed676..a977f7483f37df473096b2234dc1308b public static final Timing midTickChunkTasks = Timings.ofSafe("Mid Tick Chunk Tasks"); diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 7908e35a5842beb422edfed624561caffe08e6ef..8cad7941263bb1c48884c4fd883200eb2634db5d 100644 +index fd419bf8780e148fb8235f3c11cfde36eb621f5e..4548d53d65887d9646cd021c56882439f2b62778 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -788,6 +788,7 @@ public class ServerChunkCache extends ChunkSource { - +@@ -821,6 +821,7 @@ public class ServerChunkCache extends ChunkSource { public boolean runDistanceManagerUpdates() { + if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority if (this.chunkMap.unloadingPlayerChunk) { net.minecraft.server.MinecraftServer.LOGGER.fatal("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper + co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); -@@ -797,6 +798,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -830,6 +831,7 @@ public class ServerChunkCache extends ChunkSource { this.clearCache(); return true; } diff --git a/patches/server/0751-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0752-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/server/0751-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/server/0752-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0752-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0753-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 100% rename from patches/server/0752-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/server/0753-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0753-Add-packet-limiter-config.patch b/patches/server/0754-Add-packet-limiter-config.patch similarity index 100% rename from patches/server/0753-Add-packet-limiter-config.patch rename to patches/server/0754-Add-packet-limiter-config.patch diff --git a/patches/server/0754-Lag-compensate-block-breaking.patch b/patches/server/0755-Lag-compensate-block-breaking.patch similarity index 100% rename from patches/server/0754-Lag-compensate-block-breaking.patch rename to patches/server/0755-Lag-compensate-block-breaking.patch diff --git a/patches/server/0755-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0756-Use-correct-LevelStem-registry-when-loading-default-.patch similarity index 100% rename from patches/server/0755-Use-correct-LevelStem-registry-when-loading-default-.patch rename to patches/server/0756-Use-correct-LevelStem-registry-when-loading-default-.patch diff --git a/patches/server/0756-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0757-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/server/0756-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/server/0757-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0757-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0758-Consolidate-flush-calls-for-entity-tracker-packets.patch similarity index 93% rename from patches/server/0757-Consolidate-flush-calls-for-entity-tracker-packets.patch rename to patches/server/0758-Consolidate-flush-calls-for-entity-tracker-packets.patch index f4977cc630..2315d82776 100644 --- a/patches/server/0757-Consolidate-flush-calls-for-entity-tracker-packets.patch +++ b/patches/server/0758-Consolidate-flush-calls-for-entity-tracker-packets.patch @@ -22,10 +22,10 @@ With this change I could get all 200 on at 0ms ping. So in general this patch should reduce Netty I/O thread load. diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 8cad7941263bb1c48884c4fd883200eb2634db5d..7c8198009de30229dcce73ae5c0ca60ba7224cef 100644 +index 4548d53d65887d9646cd021c56882439f2b62778..5068903204529864d2748efae3de525d06331305 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -975,7 +975,24 @@ public class ServerChunkCache extends ChunkSource { +@@ -1008,7 +1008,24 @@ public class ServerChunkCache extends ChunkSource { }); gameprofilerfiller.pop(); gameprofilerfiller.pop(); diff --git a/patches/server/0758-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0759-Don-t-lookup-fluid-state-when-raytracing.patch similarity index 100% rename from patches/server/0758-Don-t-lookup-fluid-state-when-raytracing.patch rename to patches/server/0759-Don-t-lookup-fluid-state-when-raytracing.patch diff --git a/patches/server/0759-Time-scoreboard-search.patch b/patches/server/0760-Time-scoreboard-search.patch similarity index 100% rename from patches/server/0759-Time-scoreboard-search.patch rename to patches/server/0760-Time-scoreboard-search.patch diff --git a/patches/server/0760-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0761-Send-full-pos-packets-for-hard-colliding-entities.patch similarity index 100% rename from patches/server/0760-Send-full-pos-packets-for-hard-colliding-entities.patch rename to patches/server/0761-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/0761-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0762-Do-not-run-raytrace-logic-for-AIR.patch similarity index 100% rename from patches/server/0761-Do-not-run-raytrace-logic-for-AIR.patch rename to patches/server/0762-Do-not-run-raytrace-logic-for-AIR.patch diff --git a/patches/server/0762-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0763-Oprimise-map-impl-for-tracked-players.patch similarity index 89% rename from patches/server/0762-Oprimise-map-impl-for-tracked-players.patch rename to patches/server/0763-Oprimise-map-impl-for-tracked-players.patch index 49845d7d97..a025d72448 100644 --- a/patches/server/0762-Oprimise-map-impl-for-tracked-players.patch +++ b/patches/server/0763-Oprimise-map-impl-for-tracked-players.patch @@ -7,7 +7,7 @@ Reference2BooleanOpenHashMap is going to have better lookups than HashMap. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index b244713d4a5bc6eb3d9536a56fdc9d688ca0d756..925da0baa59f742dbe727c6323cc90b65159f314 100644 +index 7bf89ff76809e1d85b4656c8d9964400ab2c181f..0e2dc7d748125691ec85b4d79a8dc4f6244374d1 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -105,6 +105,7 @@ import org.apache.logging.log4j.LogManager; @@ -18,7 +18,7 @@ index b244713d4a5bc6eb3d9536a56fdc9d688ca0d756..925da0baa59f742dbe727c6323cc90b6 public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider { -@@ -1828,7 +1829,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1900,7 +1901,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider final Entity entity; private final int range; SectionPos lastSectionPos; diff --git a/patches/server/0763-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0764-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/server/0763-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/server/0764-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0764-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0765-Allow-removal-addition-of-entities-to-entity-ticklis.patch similarity index 100% rename from patches/server/0764-Allow-removal-addition-of-entities-to-entity-ticklis.patch rename to patches/server/0765-Allow-removal-addition-of-entities-to-entity-ticklis.patch diff --git a/patches/server/0765-Optimise-random-block-ticking.patch b/patches/server/0766-Optimise-random-block-ticking.patch similarity index 100% rename from patches/server/0765-Optimise-random-block-ticking.patch rename to patches/server/0766-Optimise-random-block-ticking.patch diff --git a/patches/server/0766-Optimise-non-flush-packet-sending.patch b/patches/server/0767-Optimise-non-flush-packet-sending.patch similarity index 100% rename from patches/server/0766-Optimise-non-flush-packet-sending.patch rename to patches/server/0767-Optimise-non-flush-packet-sending.patch diff --git a/patches/server/0767-Optimise-nearby-player-lookups.patch b/patches/server/0768-Optimise-nearby-player-lookups.patch similarity index 98% rename from patches/server/0767-Optimise-nearby-player-lookups.patch rename to patches/server/0768-Optimise-nearby-player-lookups.patch index 0d6a80476c..4f1e4b9270 100644 --- a/patches/server/0767-Optimise-nearby-player-lookups.patch +++ b/patches/server/0768-Optimise-nearby-player-lookups.patch @@ -9,10 +9,10 @@ since the penalty of a map lookup could outweigh the benefits of searching less players (as it basically did in the outside range patch). diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 7418245d5d08706ca2a1378e769abfb0de1076ed..8a7cc96f563c3fb8807d4a8a3249fc0892710d17 100644 +index 663fe2ddad1a65862c6bd4fe15f047e270bcd3ba..ed3c947d5d951932a8329e196715bd2d403475d4 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -94,6 +94,12 @@ public class ChunkHolder { +@@ -95,6 +95,12 @@ public class ChunkHolder { this.setTicketLevel(level); this.changedBlocksPerSection = new ShortSet[world.getSectionsCount()]; this.chunkMap = (ChunkMap)playersWatchingChunkProvider; // Paper @@ -26,10 +26,10 @@ index 7418245d5d08706ca2a1378e769abfb0de1076ed..8a7cc96f563c3fb8807d4a8a3249fc08 // 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 925da0baa59f742dbe727c6323cc90b65159f314..3b2db473e5eacbcf55ae8786aff5ac71388a98ee 100644 +index 0e2dc7d748125691ec85b4d79a8dc4f6244374d1..dac0cf30f7868c465471f8e41058ff7e55d4786d 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -190,21 +190,36 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -191,21 +191,36 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider final CallbackExecutor chunkLoadConversionCallbackExecutor = new CallbackExecutor(); // Paper // Paper start - distance maps private final com.destroystokyo.paper.util.misc.PooledLinkedHashSets pooledLinkedPlayerHashSets = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets<>(); @@ -66,7 +66,7 @@ index 925da0baa59f742dbe727c6323cc90b65159f314..3b2db473e5eacbcf55ae8786aff5ac71 } // Paper end // Paper start -@@ -280,6 +295,23 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -290,6 +305,23 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.regionManagers.add(this.dataRegionManager); // Paper end this.playerMobDistanceMap = this.level.paperConfig.perPlayerMobSpawns ? new com.destroystokyo.paper.util.PlayerMobDistanceMap() : null; // Paper @@ -308,7 +308,7 @@ index 63ba93538d990fdd4c9e8c491bb715adc8d57986..e9a37fc6791366ea421f2766a36dc2e0 private static Boolean isValidSpawnPostitionForType(ServerLevel world, MobCategory group, StructureFeatureManager structureAccessor, ChunkGenerator chunkGenerator, MobSpawnSettings.SpawnerData spawnEntry, BlockPos.MutableBlockPos pos, double squaredDistance) { // Paper diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index b92da719a5d35a60a2e13ccb0f55c41b242f9b50..a9807f9182a4d70e09486612606c7c1d0a6734ac 100644 +index 875977f11678b34465abac30463675f57cf9fc4e..65541807d19cb3e14d86f72bed843b0d2d2d4511 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -231,6 +231,93 @@ public class LevelChunk extends ChunkAccess { diff --git a/patches/server/0768-Optimise-WorldServer-notify.patch b/patches/server/0769-Optimise-WorldServer-notify.patch similarity index 98% rename from patches/server/0768-Optimise-WorldServer-notify.patch rename to patches/server/0769-Optimise-WorldServer-notify.patch index 9e09b42d3b..ad82ff4838 100644 --- a/patches/server/0768-Optimise-WorldServer-notify.patch +++ b/patches/server/0769-Optimise-WorldServer-notify.patch @@ -8,10 +8,10 @@ Instead, only iterate over navigators in the current region that are eligible for repathing. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 3b2db473e5eacbcf55ae8786aff5ac71388a98ee..6fc7c1cf269466362dce91fa2cf525e67bee6c15 100644 +index dac0cf30f7868c465471f8e41058ff7e55d4786d..6b9752e74ebef0be5c3c7a9534602fb6d05d1a29 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -227,15 +227,81 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -228,15 +228,81 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public final io.papermc.paper.chunk.SingleThreadChunkRegionManager dataRegionManager; public static final class DataRegionData implements io.papermc.paper.chunk.SingleThreadChunkRegionManager.RegionData { @@ -93,7 +93,7 @@ index 3b2db473e5eacbcf55ae8786aff5ac71388a98ee..6fc7c1cf269466362dce91fa2cf525e6 } @Override -@@ -245,6 +311,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -246,6 +312,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider final DataRegionSectionData sectionData = (DataRegionSectionData)section.sectionData; final DataRegionData oldRegionData = oldRegion == null ? null : (DataRegionData)oldRegion.regionData; final DataRegionData newRegionData = (DataRegionData)newRegion.regionData; diff --git a/patches/server/0769-Remove-streams-for-villager-AI.patch b/patches/server/0770-Remove-streams-for-villager-AI.patch similarity index 100% rename from patches/server/0769-Remove-streams-for-villager-AI.patch rename to patches/server/0770-Remove-streams-for-villager-AI.patch diff --git a/patches/server/0770-Rewrite-dataconverter-system.patch b/patches/server/0771-Rewrite-dataconverter-system.patch similarity index 100% rename from patches/server/0770-Rewrite-dataconverter-system.patch rename to patches/server/0771-Rewrite-dataconverter-system.patch diff --git a/patches/server/0771-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0772-Use-Velocity-compression-and-cipher-natives.patch similarity index 100% rename from patches/server/0771-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/0772-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/0772-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0773-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch similarity index 100% rename from patches/server/0772-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch rename to patches/server/0773-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch diff --git a/patches/server/0773-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0774-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch similarity index 100% rename from patches/server/0773-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch rename to patches/server/0774-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch diff --git a/patches/server/0774-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0775-Async-catch-modifications-to-critical-entity-state.patch similarity index 100% rename from patches/server/0774-Async-catch-modifications-to-critical-entity-state.patch rename to patches/server/0775-Async-catch-modifications-to-critical-entity-state.patch diff --git a/patches/server/0775-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0776-Fix-Bukkit-NamespacedKey-shenanigans.patch similarity index 100% rename from patches/server/0775-Fix-Bukkit-NamespacedKey-shenanigans.patch rename to patches/server/0776-Fix-Bukkit-NamespacedKey-shenanigans.patch diff --git a/patches/server/0776-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0777-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 100% rename from patches/server/0776-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/server/0777-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0777-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0778-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/server/0777-Check-requirement-before-suggesting-root-nodes.patch rename to patches/server/0778-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0778-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0779-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/server/0778-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/server/0779-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0779-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0780-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/server/0779-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/server/0780-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0780-Ensure-valid-vehicle-status.patch b/patches/server/0781-Ensure-valid-vehicle-status.patch similarity index 84% rename from patches/server/0780-Ensure-valid-vehicle-status.patch rename to patches/server/0781-Ensure-valid-vehicle-status.patch index 4c6ebe2cfa..964eaf4b0d 100644 --- a/patches/server/0780-Ensure-valid-vehicle-status.patch +++ b/patches/server/0781-Ensure-valid-vehicle-status.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure valid vehicle status diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 67b482f6cafc55b6b262f23c2b56e4d8c6d089c2..510334bc98d2112489fcece46b660000b14ce6a5 100644 +index 03400c55ff5929e88161f1915a2df140b3830dff..7756344556c1c5be0385100212a0155c53f61dc4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -487,7 +487,7 @@ public class ServerPlayer extends Player { +@@ -503,7 +503,7 @@ public class ServerPlayer extends Player { } } diff --git a/patches/server/0781-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0782-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/server/0781-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/server/0782-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0782-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0783-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/server/0782-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/server/0783-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0783-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0784-Don-t-log-debug-logging-being-disabled.patch similarity index 100% rename from patches/server/0783-Don-t-log-debug-logging-being-disabled.patch rename to patches/server/0784-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0784-Mark-fish-and-axolotls-from-buckets-as-persistent.patch b/patches/server/0785-Mark-fish-and-axolotls-from-buckets-as-persistent.patch similarity index 100% rename from patches/server/0784-Mark-fish-and-axolotls-from-buckets-as-persistent.patch rename to patches/server/0785-Mark-fish-and-axolotls-from-buckets-as-persistent.patch diff --git a/patches/server/0785-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0786-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/server/0785-fix-various-menus-with-empty-level-accesses.patch rename to patches/server/0786-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch similarity index 90% rename from patches/server/0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch rename to patches/server/0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch index 736fe8fbff..e12e74adb1 100644 --- a/patches/server/0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch +++ b/patches/server/0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch @@ -12,10 +12,10 @@ time to save, as flush saving performs a full flush at the end anyways. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 6fc7c1cf269466362dce91fa2cf525e67bee6c15..176065656029a8486f2bfb39bdd4da1e86fbca89 100644 +index 6b9752e74ebef0be5c3c7a9534602fb6d05d1a29..81a9fbf33e486d0a3c337eaadfe330fa79f6fd9d 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -665,6 +665,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -715,6 +715,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } protected void saveAllChunks(boolean flush) { @@ -32,7 +32,7 @@ index 6fc7c1cf269466362dce91fa2cf525e67bee6c15..176065656029a8486f2bfb39bdd4da1e if (flush) { List list = (List) this.updatingChunks.getVisibleValuesCopy().stream().filter(ChunkHolder::wasAccessibleSinceLastSave).peek(ChunkHolder::refreshAccessibility).collect(Collectors.toList()); // Paper MutableBoolean mutableboolean = new MutableBoolean(); -@@ -687,6 +697,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -737,6 +747,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }).filter((ichunkaccess) -> { return ichunkaccess instanceof ImposterProtoChunk || ichunkaccess instanceof LevelChunk; }).filter(this::save).forEach((ichunkaccess) -> { diff --git a/patches/server/0787-Preserve-overstacked-loot.patch b/patches/server/0788-Preserve-overstacked-loot.patch similarity index 100% rename from patches/server/0787-Preserve-overstacked-loot.patch rename to patches/server/0788-Preserve-overstacked-loot.patch diff --git a/patches/server/0788-Update-head-rotation-in-missing-places.patch b/patches/server/0789-Update-head-rotation-in-missing-places.patch similarity index 93% rename from patches/server/0788-Update-head-rotation-in-missing-places.patch rename to patches/server/0789-Update-head-rotation-in-missing-places.patch index 84c254198a..055d4a44c2 100644 --- a/patches/server/0788-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0789-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 96794dcb87c3606e9d112d4159be8be31ad4329e..9cb875b2904c902f3fb0af5b0dd571c3e02aacbd 100644 +index cb89d7973dabd42fb8c19d71bdb5917a363d545c..cefb5a3fc5778870c8992c65c22e387d147ab5e9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1616,6 +1616,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0789-prevent-unintended-light-block-manipulation.patch b/patches/server/0790-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/server/0789-prevent-unintended-light-block-manipulation.patch rename to patches/server/0790-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0790-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch b/patches/server/0791-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch similarity index 100% rename from patches/server/0790-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch rename to patches/server/0791-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch diff --git a/patches/server/0791-Fix-CraftCriteria-defaults-map.patch b/patches/server/0792-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/server/0791-Fix-CraftCriteria-defaults-map.patch rename to patches/server/0792-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0792-Fix-upstreams-block-state-factories.patch b/patches/server/0793-Fix-upstreams-block-state-factories.patch similarity index 100% rename from patches/server/0792-Fix-upstreams-block-state-factories.patch rename to patches/server/0793-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0793-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0794-Add-config-option-for-logging-player-ip-addresses.patch similarity index 97% rename from patches/server/0793-Add-config-option-for-logging-player-ip-addresses.patch rename to patches/server/0794-Add-config-option-for-logging-player-ip-addresses.patch index 55104ba133..ccb2bf9351 100644 --- a/patches/server/0793-Add-config-option-for-logging-player-ip-addresses.patch +++ b/patches/server/0794-Add-config-option-for-logging-player-ip-addresses.patch @@ -81,10 +81,10 @@ index d2dd8b802ecea7fd2efe5f07fcef65c26e1adfbc..33a29890435d6065a2cc4f8e8bf8209c @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index dca3b995c02507e5df299abe60f518480ce56d21..600005948a3106f2e074be5e816e4b4b82519a11 100644 +index 898a81a23755f9ab1d1df34a422ef61010fe009f..9baebd34b79711a7c8f64e28f17dfa39b4a9eadd 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -236,7 +236,7 @@ public abstract class PlayerList { +@@ -237,7 +237,7 @@ public abstract class PlayerList { String s1 = "local"; if (connection.getRemoteAddress() != null) { @@ -93,7 +93,7 @@ index dca3b995c02507e5df299abe60f518480ce56d21..600005948a3106f2e074be5e816e4b4b } // Spigot start - spawn location event -@@ -299,7 +299,7 @@ public abstract class PlayerList { +@@ -300,7 +300,7 @@ public abstract class PlayerList { playerconnection.playerJoinReady = () -> { postChunkLoadJoin( player, finalWorldserver, connection, playerconnection, diff --git a/patches/server/0794-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0795-VanillaCommandWrapper-didnt-account-for-entity-sende.patch similarity index 100% rename from patches/server/0794-VanillaCommandWrapper-didnt-account-for-entity-sende.patch rename to patches/server/0795-VanillaCommandWrapper-didnt-account-for-entity-sende.patch diff --git a/patches/server/0795-Add-root-admin-user-detection.patch b/patches/server/0796-Add-root-admin-user-detection.patch similarity index 100% rename from patches/server/0795-Add-root-admin-user-detection.patch rename to patches/server/0796-Add-root-admin-user-detection.patch diff --git a/patches/server/0796-Always-allow-item-changing-in-Fireball.patch b/patches/server/0797-Always-allow-item-changing-in-Fireball.patch similarity index 100% rename from patches/server/0796-Always-allow-item-changing-in-Fireball.patch rename to patches/server/0797-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0797-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0798-don-t-attempt-to-teleport-dead-entities.patch similarity index 91% rename from patches/server/0797-don-t-attempt-to-teleport-dead-entities.patch rename to patches/server/0798-don-t-attempt-to-teleport-dead-entities.patch index 939d4f6bcf..b1f59581d2 100644 --- a/patches/server/0797-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0798-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9cb875b2904c902f3fb0af5b0dd571c3e02aacbd..e8ed9ae272ee203b3e8ad036bd4e45aac14f9a6a 100644 +index cefb5a3fc5778870c8992c65c22e387d147ab5e9..7ab0e73fa156c83c940079c0955a3947f5b93562 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -673,7 +673,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0798-Call-onRemove-logic-for-breakNaturally.patch b/patches/server/0799-Call-onRemove-logic-for-breakNaturally.patch similarity index 100% rename from patches/server/0798-Call-onRemove-logic-for-breakNaturally.patch rename to patches/server/0799-Call-onRemove-logic-for-breakNaturally.patch diff --git a/patches/server/0799-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0800-Fix-anvil-prepare-event-not-working-with-zero-xp.patch similarity index 100% rename from patches/server/0799-Fix-anvil-prepare-event-not-working-with-zero-xp.patch rename to patches/server/0800-Fix-anvil-prepare-event-not-working-with-zero-xp.patch