From e2dd1d514ccab1912d807d362cd4bc5007ce7b8c Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Tue, 3 Dec 2024 22:56:26 +0100 Subject: [PATCH] Add back post_teleport chunk ticket --- patches/server/0009-MC-Utils.patch | 24 +++++++++++++++---- patches/server/0010-Adventure.patch | 8 +++---- ...oleAppender-for-console-improvements.patch | 2 +- ...awn-location-event-changing-location.patch | 2 +- .../0087-Configurable-Player-Collision.patch | 4 ++-- .../0123-Enforce-Sync-Player-Saves.patch | 4 ++-- ...le-async-calls-to-restart-the-server.patch | 4 ++-- .../0144-ProfileWhitelistVerifyEvent.patch | 4 ++-- .../0175-Player.setPlayerProfile-API.patch | 4 ++-- .../0206-InventoryCloseEvent-Reason-API.patch | 2 +- ...25-Use-ConcurrentHashMap-in-JsonList.patch | 2 +- ...-Replace-OfflinePlayer-getLastPlayed.patch | 2 +- ...oggleEvent-when-whitelist-is-toggled.patch | 4 ++-- ...nd-additions-to-the-spawn-reason-API.patch | 2 +- .../0279-Add-PlayerPostRespawnEvent.patch | 6 ++--- ...move-existing-players-to-world-spawn.patch | 2 +- ...layer-is-attempted-to-be-removed-fro.patch | 2 +- ...nEvent-when-Player-is-actually-ready.patch | 2 +- ...pawn-point-if-spawn-in-unloaded-worl.patch | 2 +- .../server/0424-Add-API-for-quit-reason.patch | 2 +- .../0462-Fix-villager-boat-exploit.patch | 2 +- patches/server/0463-Add-sendOpLevel-API.patch | 6 ++--- ...0487-fix-converting-txt-to-json-file.patch | 2 +- ...ed-item-when-player-has-disconnected.patch | 2 +- .../0536-Add-PlayerKickEvent-causes.patch | 4 ++-- ...k-event-leave-message-not-being-sent.patch | 2 +- .../server/0563-Add-PlayerSetSpawnEvent.patch | 4 ++-- patches/server/0635-Validate-usernames.patch | 2 +- ...661-Force-close-world-loading-screen.patch | 2 +- ...tead-of-display-name-in-PlayerList-g.patch | 4 ++-- patches/server/0710-More-Teleport-API.patch | 8 +++++-- patches/server/0717-Collision-API.patch | 4 ++-- .../0734-Fix-a-bunch-of-vanilla-bugs.patch | 2 +- .../0767-Add-Sneaking-API-for-Entities.patch | 2 +- ...le-player-info-update-packet-on-join.patch | 2 +- .../server/0781-Add-Entity-Body-Yaw-API.patch | 4 ++-- ...Folia-scheduler-and-owned-region-API.patch | 4 ++-- ...-API-for-updating-recipes-on-clients.patch | 6 ++--- ...-API-for-an-entity-s-scoreboard-name.patch | 4 ++-- .../0849-Add-Listing-API-for-Player.patch | 2 +- patches/server/0853-Expand-Pose-API.patch | 2 +- ...g-event-call-for-entity-teleport-API.patch | 2 +- patches/server/0974-Anti-Xray.patch | 2 +- .../0987-Properly-resend-entities.patch | 6 ++--- .../1023-Improve-entity-effect-API.patch | 4 ++-- .../1035-Moonrise-optimisation-patches.patch | 10 ++++---- .../1040-Improved-Watchdog-Support.patch | 2 +- ...-Incremental-chunk-and-player-saving.patch | 4 ++-- ...Allow-using-old-ender-pearl-behavior.patch | 2 +- 49 files changed, 103 insertions(+), 83 deletions(-) diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 5ce66ed29c..00db4c45d0 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -5530,7 +5530,7 @@ index ad2d29b106df33965090be521d4f945601965a00..261943f1f188643793a72bd239dfc5fe protected ChunkDistanceManager(final Executor workerExecutor, final Executor mainThreadExecutor) { super(workerExecutor, mainThreadExecutor); diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index 83f9360d7c645c7bfca34627e40c86e2aa31143b..e7bca3db8c7d29fe984decddda83569ef921cc31 100644 +index 83f9360d7c645c7bfca34627e40c86e2aa31143b..6c2339d6a93172e25040c4868a3a47473a1f5336 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java @@ -385,7 +385,7 @@ public abstract class DistanceManager { @@ -5538,7 +5538,7 @@ index 83f9360d7c645c7bfca34627e40c86e2aa31143b..e7bca3db8c7d29fe984decddda83569e public void removeTicketsOnClosing() { - ImmutableSet> immutableset = ImmutableSet.of(TicketType.UNKNOWN); -+ ImmutableSet> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve ++ ImmutableSet> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.POST_TELEPORT, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve ObjectIterator>>> objectiterator = this.tickets.long2ObjectEntrySet().fastIterator(); while (objectiterator.hasNext()) { @@ -5745,7 +5745,7 @@ index 97a670499f4ce50239d8c09cf10c03a7520c8753..50c255c5226d50f78ead4c0a0694ac9d public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/level/TicketType.java b/src/main/java/net/minecraft/server/level/TicketType.java -index 1ab1d4054c3fc343325d60f55b6af9bdac12305a..0fdb65a1e474950a50480f4e6f99c69f8e015a50 100644 +index 1ab1d4054c3fc343325d60f55b6af9bdac12305a..4d3f7d4a8e05a8d84aa5202134eda1ce9621712e 100644 --- a/src/main/java/net/minecraft/server/level/TicketType.java +++ b/src/main/java/net/minecraft/server/level/TicketType.java @@ -7,6 +7,7 @@ import net.minecraft.util.Unit; @@ -5756,6 +5756,14 @@ index 1ab1d4054c3fc343325d60f55b6af9bdac12305a..0fdb65a1e474950a50480f4e6f99c69f private final String name; private final Comparator comparator; +@@ -24,6 +25,7 @@ public class TicketType { + public static final TicketType UNKNOWN = TicketType.create("unknown", Comparator.comparingLong(ChunkPos::toLong), 1); + public static final TicketType PLUGIN = TicketType.create("plugin", (a, b) -> 0); // CraftBukkit + public static final TicketType PLUGIN_TICKET = TicketType.create("plugin_ticket", (plugin1, plugin2) -> plugin1.getClass().getName().compareTo(plugin2.getClass().getName())); // CraftBukkit ++ public static final TicketType POST_TELEPORT = TicketType.create("post_teleport", Integer::compare, 5); // Paper - post teleport ticket type + + public static TicketType create(String name, Comparator argumentComparator) { + return new TicketType<>(name, argumentComparator, 0L); diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java index a1f4ebcd0877a6d0c41493eff5d70a408bf98e59..f1725ef766c35aa623ace58fe8bf31fc9b2bb6b3 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -5788,7 +5796,7 @@ index a1f4ebcd0877a6d0c41493eff5d70a408bf98e59..f1725ef766c35aa623ace58fe8bf31fc public BlockState getBlockState(BlockPos pos) { return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d7095aab94a9f3b9f06a033ba4d414dfae42f620..7bb87d2bdf0ead0fdca38a9685e2e15b249ec2cb 100644 +index d7095aab94a9f3b9f06a033ba4d414dfae42f620..c8957caa797a6f4c3d3fc5f0b74b7fefeb1aa2c3 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -181,6 +181,7 @@ public abstract class PlayerList { @@ -5799,6 +5807,14 @@ index d7095aab94a9f3b9f06a033ba4d414dfae42f620..7bb87d2bdf0ead0fdca38a9685e2e15b GameProfile gameprofile = player.getGameProfile(); GameProfileCache usercache = this.server.getProfileCache(); // Optional optional; // CraftBukkit - decompile error +@@ -700,6 +701,7 @@ public abstract class PlayerList { + Vec3 vec3d = teleporttransition.position(); + + entityplayer1.forceSetPositionRotation(vec3d.x, vec3d.y, vec3d.z, teleporttransition.yRot(), teleporttransition.xRot()); ++ worldserver.getChunkSource().addRegionTicket(net.minecraft.server.level.TicketType.POST_TELEPORT, new net.minecraft.world.level.ChunkPos(net.minecraft.util.Mth.floor(vec3d.x()) >> 4, net.minecraft.util.Mth.floor(vec3d.z()) >> 4), 1, entityplayer.getId()); // Paper - post teleport ticket type + // CraftBukkit end + if (teleporttransition.missingRespawnBlock()) { + entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F)); diff --git a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java index ae25aec117a7272735c824a00c1ed117fa52a921..d6e942aca1bcc769c390504a4119d6619872c4d4 100644 --- a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 8a0288ddb0..9058fccc26 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -3018,7 +3018,7 @@ index 3848cc836785829c5aa82bdb5d37d36a97f94a04..f08700abb005f487aca95c0457c09cef @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7bb87d2bdf0ead0fdca38a9685e2e15b249ec2cb..1333daa8666fe2ec4033a2f57ba6b716fcdd5343 100644 +index c8957caa797a6f4c3d3fc5f0b74b7fefeb1aa2c3..360e9b3425451963f398efdb7da8f5821cf15779 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -274,7 +274,7 @@ public abstract class PlayerList { @@ -3118,7 +3118,7 @@ index 7bb87d2bdf0ead0fdca38a9685e2e15b249ec2cb..1333daa8666fe2ec4033a2f57ba6b716 return null; } return entity; -@@ -1091,7 +1090,7 @@ public abstract class PlayerList { +@@ -1092,7 +1091,7 @@ public abstract class PlayerList { public void removeAll() { // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -3127,7 +3127,7 @@ index 7bb87d2bdf0ead0fdca38a9685e2e15b249ec2cb..1333daa8666fe2ec4033a2f57ba6b716 } // CraftBukkit end -@@ -1132,24 +1131,43 @@ public abstract class PlayerList { +@@ -1133,24 +1132,43 @@ public abstract class PlayerList { } public void broadcastChatMessage(PlayerChatMessage message, ServerPlayer sender, ChatType.Bound params) { @@ -3174,7 +3174,7 @@ index 7bb87d2bdf0ead0fdca38a9685e2e15b249ec2cb..1333daa8666fe2ec4033a2f57ba6b716 } if (flag1 && sender != null) { -@@ -1158,7 +1176,7 @@ public abstract class PlayerList { +@@ -1159,7 +1177,7 @@ public abstract class PlayerList { } diff --git a/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch index 2e317fd247..e6d817dd79 100644 --- a/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -388,7 +388,7 @@ index 3d92c61f7781221cfdc0324d11bd0088954e4a68..84a2c6c397604279ba821286f5c3c855 if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater(() -> { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1333daa8666fe2ec4033a2f57ba6b716fcdd5343..8daa027a94602d7d556cf4fbfc8fcd97caf6bd98 100644 +index 360e9b3425451963f398efdb7da8f5821cf15779..70e5ffb1502acecc93685090741ccda48473f262 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -162,8 +162,7 @@ public abstract class PlayerList { diff --git a/patches/server/0053-Fix-spawn-location-event-changing-location.patch b/patches/server/0053-Fix-spawn-location-event-changing-location.patch index cc20e90b16..a9be6cb42a 100644 --- a/patches/server/0053-Fix-spawn-location-event-changing-location.patch +++ b/patches/server/0053-Fix-spawn-location-event-changing-location.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Fix spawn location event changing location public net.minecraft.world.entity.Entity setRot(FF)V diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8daa027a94602d7d556cf4fbfc8fcd97caf6bd98..7782f26764ef79968b1e2f5e1f27f1162ed122de 100644 +index 70e5ffb1502acecc93685090741ccda48473f262..9a4ad6b24b8f067d43cd2f84e7b11dcabcf42209 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -234,7 +234,10 @@ public abstract class PlayerList { diff --git a/patches/server/0087-Configurable-Player-Collision.patch b/patches/server/0087-Configurable-Player-Collision.patch index 381fa85bb4..93036a9b2d 100644 --- a/patches/server/0087-Configurable-Player-Collision.patch +++ b/patches/server/0087-Configurable-Player-Collision.patch @@ -43,7 +43,7 @@ index b293c7f901b4f0c6e55bc3edaab1eddb72c1218f..d374ff51987c30a84e137dd623e0f649 if (io.papermc.paper.plugin.PluginInitializerManager.instance().pluginRemapper != null) io.papermc.paper.plugin.PluginInitializerManager.instance().pluginRemapper.pluginsEnabled(); // Paper - Remap plugins this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP)); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7782f26764ef79968b1e2f5e1f27f1162ed122de..005e63978a306c695e21b26498937a3b81fb2b38 100644 +index 9a4ad6b24b8f067d43cd2f84e7b11dcabcf42209..7245c5edc5677872274dc3fae91ed42943c12186 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -159,6 +159,7 @@ public abstract class PlayerList { @@ -85,7 +85,7 @@ index 7782f26764ef79968b1e2f5e1f27f1162ed122de..005e63978a306c695e21b26498937a3b this.save(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1096,6 +1114,13 @@ public abstract class PlayerList { +@@ -1097,6 +1115,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/server/0123-Enforce-Sync-Player-Saves.patch b/patches/server/0123-Enforce-Sync-Player-Saves.patch index c0c144111c..ef2d944333 100644 --- a/patches/server/0123-Enforce-Sync-Player-Saves.patch +++ b/patches/server/0123-Enforce-Sync-Player-Saves.patch @@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 005e63978a306c695e21b26498937a3b81fb2b38..6341127b5b0230da7417ab2f8c36bf963742d788 100644 +index 7245c5edc5677872274dc3fae91ed42943c12186..1670789ce8af98311a94fa4e3443df491e608032 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -997,10 +997,12 @@ public abstract class PlayerList { +@@ -998,10 +998,12 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/server/0127-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0127-Properly-handle-async-calls-to-restart-the-server.patch index e2d2362447..a86e6f8676 100644 --- a/patches/server/0127-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0127-Properly-handle-async-calls-to-restart-the-server.patch @@ -64,10 +64,10 @@ index 0eb856a27fefb8d7283617498a31b05f2a736192..b2396fe53d7db64f17671358880401cc if (waitForShutdown) { try { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6341127b5b0230da7417ab2f8c36bf963742d788..0829f5cb4e795bc44cf04bdf1b88af6b22c9cf72 100644 +index 1670789ce8af98311a94fa4e3443df491e608032..3c8553aa49c30f09c5114ac6095416fcbaa6ccd1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1110,8 +1110,15 @@ public abstract class PlayerList { +@@ -1111,8 +1111,15 @@ public abstract class PlayerList { } public void removeAll() { diff --git a/patches/server/0144-ProfileWhitelistVerifyEvent.patch b/patches/server/0144-ProfileWhitelistVerifyEvent.patch index 335095baa9..1cd6b8c630 100644 --- a/patches/server/0144-ProfileWhitelistVerifyEvent.patch +++ b/patches/server/0144-ProfileWhitelistVerifyEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0829f5cb4e795bc44cf04bdf1b88af6b22c9cf72..f4e08c6b20ba64402b8587bde3e01eedcc9c2568 100644 +index 3c8553aa49c30f09c5114ac6095416fcbaa6ccd1..a18ddaaba02a0b62c632ad566786a4edab5f6445 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -590,9 +590,9 @@ public abstract class PlayerList { @@ -21,7 +21,7 @@ index 0829f5cb4e795bc44cf04bdf1b88af6b22c9cf72..f4e08c6b20ba64402b8587bde3e01eed } else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) { IpBanListEntry ipbanentry = this.ipBans.get(socketaddress); -@@ -961,7 +961,25 @@ public abstract class PlayerList { +@@ -962,7 +962,25 @@ public abstract class PlayerList { } public boolean isWhiteListed(GameProfile profile) { diff --git a/patches/server/0175-Player.setPlayerProfile-API.patch b/patches/server/0175-Player.setPlayerProfile-API.patch index e555f43ee5..7cc69e7e00 100644 --- a/patches/server/0175-Player.setPlayerProfile-API.patch +++ b/patches/server/0175-Player.setPlayerProfile-API.patch @@ -27,10 +27,10 @@ index 4a62c1abc6f3c48bbda40325b4ce46632db3f28d..bab8c53041afb9606db55923e5466eab playerName = gameprofile.getName(); uniqueId = gameprofile.getId(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index f4e08c6b20ba64402b8587bde3e01eedcc9c2568..ac5607fb1ac771f16b14d71e08a8d4183a39a002 100644 +index a18ddaaba02a0b62c632ad566786a4edab5f6445..2f2d641e2148d59fe12dc1b4c627e3ddf4a756e9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -799,10 +799,16 @@ public abstract class PlayerList { +@@ -800,10 +800,16 @@ public abstract class PlayerList { } public void sendPlayerPermissionLevel(ServerPlayer player) { diff --git a/patches/server/0206-InventoryCloseEvent-Reason-API.patch b/patches/server/0206-InventoryCloseEvent-Reason-API.patch index a7895495df..f88c5966dd 100644 --- a/patches/server/0206-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0206-InventoryCloseEvent-Reason-API.patch @@ -96,7 +96,7 @@ index cbdf69371a65339294b3ffd3514bb0bf8c03ff36..405dec328cf591f533600ed9e2aa7360 this.player.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ac5607fb1ac771f16b14d71e08a8d4183a39a002..06338f5fa552a390db05a90b5cc796a70104ada0 100644 +index 2f2d641e2148d59fe12dc1b4c627e3ddf4a756e9..04d603befb42a55d959589c714f3fe5414ef27b0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -468,7 +468,7 @@ public abstract class PlayerList { diff --git a/patches/server/0225-Use-ConcurrentHashMap-in-JsonList.patch b/patches/server/0225-Use-ConcurrentHashMap-in-JsonList.patch index 75fd866138..e43a237eb1 100644 --- a/patches/server/0225-Use-ConcurrentHashMap-in-JsonList.patch +++ b/patches/server/0225-Use-ConcurrentHashMap-in-JsonList.patch @@ -23,7 +23,7 @@ Modified isEmpty to use the isEmpty() method instead of the slightly confusing s The point of this is readability, but does have a side-benefit of a small microptimization diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 06338f5fa552a390db05a90b5cc796a70104ada0..8bb2749f751839f7dfd8fb62f676bd54ec8b1b09 100644 +index 04d603befb42a55d959589c714f3fe5414ef27b0..2fbc957212c93ee94c2c53b89afa7f22a3d55197 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -593,7 +593,7 @@ public abstract class PlayerList { diff --git a/patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch index 6cc9f04ae6..0ec450a625 100644 --- a/patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch @@ -28,7 +28,7 @@ index 2db5ef211ac36d5aa7f337dd4a5c2600796d8b66..ae922d01caae4b2ed42641ae5039abe3 public boolean queueHealthUpdatePacket; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8bb2749f751839f7dfd8fb62f676bd54ec8b1b09..4b2826f3319dca1f795653106d22fc6948c6a27a 100644 +index 2fbc957212c93ee94c2c53b89afa7f22a3d55197..cf2ecfb06568e0b8505b6435d1de793e1b2dc75a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -182,6 +182,7 @@ public abstract class PlayerList { diff --git a/patches/server/0276-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/patches/server/0276-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 2409c16a72..b73a0624b0 100644 --- a/patches/server/0276-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/patches/server/0276-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4b2826f3319dca1f795653106d22fc6948c6a27a..97b48186a48ca037645d4a5ae84e3a95fd413a33 100644 +index cf2ecfb06568e0b8505b6435d1de793e1b2dc75a..9f645b32269e3251da7e8d69ee29d1264759a79e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1095,6 +1095,7 @@ public abstract class PlayerList { +@@ -1096,6 +1096,7 @@ public abstract class PlayerList { } public void setUsingWhiteList(boolean whitelistEnabled) { diff --git a/patches/server/0277-Fixes-and-additions-to-the-spawn-reason-API.patch b/patches/server/0277-Fixes-and-additions-to-the-spawn-reason-API.patch index 206d4526b3..d51b78c7fb 100644 --- a/patches/server/0277-Fixes-and-additions-to-the-spawn-reason-API.patch +++ b/patches/server/0277-Fixes-and-additions-to-the-spawn-reason-API.patch @@ -51,7 +51,7 @@ index 71352f1b86c594ea2edf5d1735410054d909291a..49d4feda5b352bd135aadf3c4677d236 if (entity == null) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 97b48186a48ca037645d4a5ae84e3a95fd413a33..a04cfa09d9f8594a7ad3120855efe1641abb7a47 100644 +index 9f645b32269e3251da7e8d69ee29d1264759a79e..51e6169530b775b9f325c7c14e37b97a00d5b2cf 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -223,6 +223,11 @@ public abstract class PlayerList { diff --git a/patches/server/0279-Add-PlayerPostRespawnEvent.patch b/patches/server/0279-Add-PlayerPostRespawnEvent.patch index a2ffa8e647..e7b73e0c98 100644 --- a/patches/server/0279-Add-PlayerPostRespawnEvent.patch +++ b/patches/server/0279-Add-PlayerPostRespawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerPostRespawnEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a04cfa09d9f8594a7ad3120855efe1641abb7a47..2f48182fea64a82857cbb93dc94f7019ac55215a 100644 +index 51e6169530b775b9f325c7c14e37b97a00d5b2cf..768754f11d72921e1206e7bd029c94fae650ae82 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -704,6 +704,10 @@ public abstract class PlayerList { @@ -37,7 +37,7 @@ index a04cfa09d9f8594a7ad3120855efe1641abb7a47..2f48182fea64a82857cbb93dc94f7019 return entityplayer; } // Spigot End -@@ -763,6 +772,11 @@ public abstract class PlayerList { +@@ -764,6 +773,11 @@ public abstract class PlayerList { if (iblockdata.is(Blocks.RESPAWN_ANCHOR)) { entityplayer1.connection.send(new ClientboundSoundPacket(SoundEvents.RESPAWN_ANCHOR_DEPLETE, SoundSource.BLOCKS, (double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ(), 1.0F, 1.0F, worldserver.getRandom().nextLong())); } @@ -49,7 +49,7 @@ index a04cfa09d9f8594a7ad3120855efe1641abb7a47..2f48182fea64a82857cbb93dc94f7019 } // Added from changeDimension this.sendAllPlayerInfo(entityplayer); // Update health, etc... -@@ -784,6 +798,13 @@ public abstract class PlayerList { +@@ -785,6 +799,13 @@ public abstract class PlayerList { if (entityplayer.connection.isDisconnected()) { this.save(entityplayer); } diff --git a/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch index 918a46fbf7..099054c278 100644 --- a/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch +++ b/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch @@ -35,7 +35,7 @@ index 957266d14ce2b9b99f7c97289458fc837e4d665a..21f7b26bbf2b3e231032b7a09fa6e82f this.gameMode.setLevel((ServerLevel) world); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2f48182fea64a82857cbb93dc94f7019ac55215a..e137278f9dc02eefaaf7071a3219436a94cfcfac 100644 +index 768754f11d72921e1206e7bd029c94fae650ae82..d238dbd78fd18da46c703351cccc70c0b07622db 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -226,6 +226,7 @@ public abstract class PlayerList { diff --git a/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch index fac3a9bc22..0db5556d5a 100644 --- a/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch +++ b/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch @@ -7,7 +7,7 @@ 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 e7bca3db8c7d29fe984decddda83569ef921cc31..c24644d5a77d87ae6c139f9598feafea308f2158 100644 +index 6c2339d6a93172e25040c4868a3a47473a1f5336..f7c2c03749d6be25bf33afd61e1da120770b3432 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 { diff --git a/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch index 4e4817d0f1..42ec9120c0 100644 --- a/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch +++ b/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch @@ -55,7 +55,7 @@ index d00d43697d7fc5b7fa162fd4e773f21fb5594087..07b1bc1a06ac1fec83ba76a73b3cc1bd // CraftBukkit end public boolean isRealPlayer; // Paper diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e137278f9dc02eefaaf7071a3219436a94cfcfac..ac5725230b04bc1a333863e251fe86580f909ea9 100644 +index d238dbd78fd18da46c703351cccc70c0b07622db..8239b9e2e1f5aa4f961aa40513f308f2fe44e7ef 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -299,6 +299,13 @@ public abstract class PlayerList { diff --git a/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index 938cb46bbe..fcb4074808 100644 --- a/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -10,7 +10,7 @@ Co-authored-by: Wyatt Childers Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ac5725230b04bc1a333863e251fe86580f909ea9..54de4e701adea123c0fdfb5787e951699305bb81 100644 +index 8239b9e2e1f5aa4f961aa40513f308f2fe44e7ef..f11bea4618757ac8060098ab7a7a2642ff0a1ae4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -197,6 +197,7 @@ public abstract class PlayerList { diff --git a/patches/server/0424-Add-API-for-quit-reason.patch b/patches/server/0424-Add-API-for-quit-reason.patch index 858ecc745a..ef6e4a94d3 100644 --- a/patches/server/0424-Add-API-for-quit-reason.patch +++ b/patches/server/0424-Add-API-for-quit-reason.patch @@ -52,7 +52,7 @@ index 9a8b08d4b70b8890961e4af7ce6e870aa1c7c810..f8ae8c8eff73e4e87eb34d0f2635517f this.connection.disconnect(disconnectiondetails); })); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 54de4e701adea123c0fdfb5787e951699305bb81..8566e28d18a5b1221ba4e5d55e7788f80f956296 100644 +index f11bea4618757ac8060098ab7a7a2642ff0a1ae4..e734798640cc016d54c56b7870a1a653353ff709 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -519,7 +519,7 @@ public abstract class PlayerList { diff --git a/patches/server/0462-Fix-villager-boat-exploit.patch b/patches/server/0462-Fix-villager-boat-exploit.patch index f5548b98cc..8a06e563da 100644 --- a/patches/server/0462-Fix-villager-boat-exploit.patch +++ b/patches/server/0462-Fix-villager-boat-exploit.patch @@ -5,7 +5,7 @@ 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 8566e28d18a5b1221ba4e5d55e7788f80f956296..fbe10666c4ec6caa95aa38a6f99ccca700e9a4d2 100644 +index e734798640cc016d54c56b7870a1a653353ff709..4a86a15b009412208247edd7bb8e4655f92da5d1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -544,6 +544,14 @@ public abstract class PlayerList { diff --git a/patches/server/0463-Add-sendOpLevel-API.patch b/patches/server/0463-Add-sendOpLevel-API.patch index 44d11dcef6..df8490e384 100644 --- a/patches/server/0463-Add-sendOpLevel-API.patch +++ b/patches/server/0463-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 fbe10666c4ec6caa95aa38a6f99ccca700e9a4d2..061bba184c8bc2569ce1d413435ec1360fa14007 100644 +index 4a86a15b009412208247edd7bb8e4655f92da5d1..f023959eee56d8d37cf0a76cb7352c0045cd2ea0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1025,6 +1025,11 @@ public abstract class PlayerList { +@@ -1026,6 +1026,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index fbe10666c4ec6caa95aa38a6f99ccca700e9a4d2..061bba184c8bc2569ce1d413435ec136 if (player.connection != null) { byte b0; -@@ -1039,8 +1044,10 @@ public abstract class PlayerList { +@@ -1040,8 +1045,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } diff --git a/patches/server/0487-fix-converting-txt-to-json-file.patch b/patches/server/0487-fix-converting-txt-to-json-file.patch index 7f63558c05..b71e73914b 100644 --- a/patches/server/0487-fix-converting-txt-to-json-file.patch +++ b/patches/server/0487-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index 9a3e73a5c206b78dfcf6f41a47b614342e52acc8..9d05e998d6df1069c2de69478a1f9688 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 061bba184c8bc2569ce1d413435ec1360fa14007..e80e6e402ae286358b7f26073329b2e10604153b 100644 +index f023959eee56d8d37cf0a76cb7352c0045cd2ea0..f6861901455fd9e4defb611f4475cfaca653ac30 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -179,6 +179,7 @@ public abstract class PlayerList { diff --git a/patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch index 42055a9f10..588c687302 100644 --- a/patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch @@ -7,7 +7,7 @@ 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 e80e6e402ae286358b7f26073329b2e10604153b..6ddcc928a49630e3a0f7f40cca496642419efa2c 100644 +index f6861901455fd9e4defb611f4475cfaca653ac30..ee6a3e8a8827468d787f5aa116d9876ae7654352 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -537,6 +537,14 @@ public abstract class PlayerList { diff --git a/patches/server/0536-Add-PlayerKickEvent-causes.patch b/patches/server/0536-Add-PlayerKickEvent-causes.patch index 4fc5c8660e..3cf5bd7d58 100644 --- a/patches/server/0536-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0536-Add-PlayerKickEvent-causes.patch @@ -434,7 +434,7 @@ index 9d5723cdfdbf6257a71e57842aea9ba317fc049a..1e4b288f20153ce0c91fabf164c5c832 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6ddcc928a49630e3a0f7f40cca496642419efa2c..26ba0cec3a8492d91df894a69cc1fc8076eeda0d 100644 +index ee6a3e8a8827468d787f5aa116d9876ae7654352..0dbbf067bab9f2ceb5994a1d9a411e2c1824ad16 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -632,7 +632,7 @@ public abstract class PlayerList { @@ -446,7 +446,7 @@ index 6ddcc928a49630e3a0f7f40cca496642419efa2c..26ba0cec3a8492d91df894a69cc1fc80 } // Instead of kicking then returning, we need to store the kick reason -@@ -1236,7 +1236,7 @@ public abstract class PlayerList { +@@ -1237,7 +1237,7 @@ public abstract class PlayerList { // Paper end // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { diff --git a/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch index f4726eea73..d221b29c44 100644 --- a/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch @@ -101,7 +101,7 @@ index 176bf8692e19abe0a24df3be28431b438f465613..fee3bcc109f77b2caaffe95c6bc18145 this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 26ba0cec3a8492d91df894a69cc1fc8076eeda0d..85bd61bd45690c5532f56d8f11b81f7a11f3e284 100644 +index 0dbbf067bab9f2ceb5994a1d9a411e2c1824ad16..5b6d2080a1e8f8fbc7334071011415b9cb9b4621 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -510,6 +510,11 @@ public abstract class PlayerList { diff --git a/patches/server/0563-Add-PlayerSetSpawnEvent.patch b/patches/server/0563-Add-PlayerSetSpawnEvent.patch index c4df15cc88..bd56b41cb9 100644 --- a/patches/server/0563-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0563-Add-PlayerSetSpawnEvent.patch @@ -154,10 +154,10 @@ index 4c18d13fdc2221342adb390a6b68be871036c87c..f2cc608d2cf040be2912b604f0d6cab2 public SectionPos getLastSectionPos() { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 85bd61bd45690c5532f56d8f11b81f7a11f3e284..05d2f3c26d10169f6cf43bcb6c48db5d27b5cbac 100644 +index 5b6d2080a1e8f8fbc7334071011415b9cb9b4621..9419b073ac2d64d5dad4cefbcb90b4a928ef1dc2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -802,7 +802,7 @@ public abstract class PlayerList { +@@ -803,7 +803,7 @@ public abstract class PlayerList { // CraftBukkit end if (teleporttransition.missingRespawnBlock()) { entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F)); diff --git a/patches/server/0635-Validate-usernames.patch b/patches/server/0635-Validate-usernames.patch index e8287bc641..62c4153948 100644 --- a/patches/server/0635-Validate-usernames.patch +++ b/patches/server/0635-Validate-usernames.patch @@ -32,7 +32,7 @@ index 1e4b288f20153ce0c91fabf164c5c8320c90ba7d..cb5dd77892283a1aaec45434fb99bb7f GameProfile gameprofile = this.server.getSingleplayerProfile(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 05d2f3c26d10169f6cf43bcb6c48db5d27b5cbac..3a0e0196f5bfa554b23fff9ff1a18a189b36452e 100644 +index 9419b073ac2d64d5dad4cefbcb90b4a928ef1dc2..5c18d08db9f65431a3d4f696691f16b29628fb84 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -627,7 +627,7 @@ public abstract class PlayerList { diff --git a/patches/server/0661-Force-close-world-loading-screen.patch b/patches/server/0661-Force-close-world-loading-screen.patch index 820a46bebe..f609c7e093 100644 --- a/patches/server/0661-Force-close-world-loading-screen.patch +++ b/patches/server/0661-Force-close-world-loading-screen.patch @@ -10,7 +10,7 @@ so we do not need that. The client only needs the chunk it is currently in to be loaded to close the loading screen, so we just send an empty one. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3a0e0196f5bfa554b23fff9ff1a18a189b36452e..c8bb797a322220647d5839cc5d20b3ac7c01b8ba 100644 +index 5c18d08db9f65431a3d4f696691f16b29628fb84..34a9e57e4fa5318ec25f1308ae1156705d688d5f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -406,6 +406,16 @@ public abstract class PlayerList { diff --git a/patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch index 5407679d61..7ba2f534fa 100644 --- a/patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch +++ b/patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Use username instead of display name in diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c8bb797a322220647d5839cc5d20b3ac7c01b8ba..1456945e8d6e82c59bf09150bfe24bd1ae14a8c3 100644 +index 34a9e57e4fa5318ec25f1308ae1156705d688d5f..91a3b9866e02414d2d71aa53ef1fb5fdecd8cd89 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1352,7 +1352,7 @@ public abstract class PlayerList { +@@ -1353,7 +1353,7 @@ public abstract class PlayerList { // CraftBukkit start public ServerStatsCounter getPlayerStats(ServerPlayer entityhuman) { ServerStatsCounter serverstatisticmanager = entityhuman.getStats(); diff --git a/patches/server/0710-More-Teleport-API.patch b/patches/server/0710-More-Teleport-API.patch index 567bd06573..8aa4c173f9 100644 --- a/patches/server/0710-More-Teleport-API.patch +++ b/patches/server/0710-More-Teleport-API.patch @@ -30,7 +30,7 @@ index 864ab4d3de50ee9ce9ff2b0538aa46df43985a84..90eedcb1013226cd4dbbbaf4ff9332a8 positionmoverotation = new PositionMoveRotation(CraftLocation.toVec3D(to), Vec3.ZERO, to.getYaw(), to.getPitch()); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 10fb64df10820974d11f142c102a11a5bd0f317c..2335a3501399ea37d2fab2e5267712d7d174041b 100644 +index 10fb64df10820974d11f142c102a11a5bd0f317c..ea62e2725152008e87961cedd837fa0d03787d03 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -222,15 +222,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -72,7 +72,7 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..2335a3501399ea37d2fab2e5267712d7 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { -@@ -971,6 +992,35 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -971,6 +992,39 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return CraftEntity.perm; } @@ -89,6 +89,10 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..2335a3501399ea37d2fab2e5267712d7 + world.loadChunksForMoveAsync(getHandle().getBoundingBoxAt(locationClone.getX(), locationClone.getY(), locationClone.getZ()), + this instanceof CraftPlayer ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL, (list) -> { + net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> { ++ final net.minecraft.server.level.ServerChunkCache chunkCache = world.getChunkSource(); ++ for (final net.minecraft.world.level.chunk.ChunkAccess chunk : list) { ++ chunkCache.addTicketAtLevel(net.minecraft.server.level.TicketType.POST_TELEPORT, chunk.getPos(), 33, CraftEntity.this.getEntityId()); ++ } + try { + ret.complete(CraftEntity.this.teleport(locationClone, cause, teleportFlags) ? Boolean.TRUE : Boolean.FALSE); + } catch (Throwable throwable) { diff --git a/patches/server/0717-Collision-API.patch b/patches/server/0717-Collision-API.patch index 3274a0da24..04a7bbffba 100644 --- a/patches/server/0717-Collision-API.patch +++ b/patches/server/0717-Collision-API.patch @@ -22,10 +22,10 @@ index a7748f4b7c5a1630937c702b3fd5fded93793d64..a93a879117ee1eb06842242aa03f757a // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2335a3501399ea37d2fab2e5267712d7d174041b..87edb57f843bd726e87403efa10e4287aa52e660 100644 +index ea62e2725152008e87961cedd837fa0d03787d03..1edccd83ecc498ebc07c3c6ca019eeb28c897973 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1185,4 +1185,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1189,4 +1189,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().noPhysics; } // Paper end - missing entity api diff --git a/patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch index 1d7ed8d61c..d1bf68f023 100644 --- a/patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch @@ -128,7 +128,7 @@ index aeaf2d4f7a0ad0621c210cd479c610104ec7a83b..c078b3bc75e52456f458c7febc51ea6f MutableComponent ichatmutablecomponent1 = Component.translatable("build.tooHigh", i).withStyle(ChatFormatting.RED); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1456945e8d6e82c59bf09150bfe24bd1ae14a8c3..4b8636c2107e6a16c26f259e0dbdbc40a1268e06 100644 +index 91a3b9866e02414d2d71aa53ef1fb5fdecd8cd89..23929b165ff4ca153617c54d022ae43ef5fa258c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -260,7 +260,7 @@ public abstract class PlayerList { diff --git a/patches/server/0767-Add-Sneaking-API-for-Entities.patch b/patches/server/0767-Add-Sneaking-API-for-Entities.patch index b2f14ced80..a4f307c126 100644 --- a/patches/server/0767-Add-Sneaking-API-for-Entities.patch +++ b/patches/server/0767-Add-Sneaking-API-for-Entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 87edb57f843bd726e87403efa10e4287aa52e660..087bf6f78457308488d52db04cac32d3a9dec4a8 100644 +index 1edccd83ecc498ebc07c3c6ca019eeb28c897973..0e65361b6a7371086f1ee471603209a1a347e3de 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -870,6 +870,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0776-Use-single-player-info-update-packet-on-join.patch b/patches/server/0776-Use-single-player-info-update-packet-on-join.patch index e3f807e9e0..3bef6e1531 100644 --- a/patches/server/0776-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0776-Use-single-player-info-update-packet-on-join.patch @@ -18,7 +18,7 @@ index 0c7fa826ee3f7a0851b49487484eb2ca39d9fcd7..2cd5ddcd99e77b6e28469a84d6b171b0 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4b8636c2107e6a16c26f259e0dbdbc40a1268e06..7da3e315de67f3273997ce9160995183a3a1ce71 100644 +index 23929b165ff4ca153617c54d022ae43ef5fa258c..28ca991e89fc0c651220c65cb939f9ebb12d9c93 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -364,6 +364,7 @@ public abstract class PlayerList { diff --git a/patches/server/0781-Add-Entity-Body-Yaw-API.patch b/patches/server/0781-Add-Entity-Body-Yaw-API.patch index 2a54a79069..e46f48b4ac 100644 --- a/patches/server/0781-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0781-Add-Entity-Body-Yaw-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Entity Body Yaw API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 087bf6f78457308488d52db04cac32d3a9dec4a8..38f8831306a0f9e623de27d1ff9ef26698859636 100644 +index 0e65361b6a7371086f1ee471603209a1a347e3de..f1992713a9e61a9e3cd719d4676f4c3f2917435d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1175,6 +1175,33 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1179,6 +1179,33 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } // Paper end - entity powdered snow API diff --git a/patches/server/0830-Folia-scheduler-and-owned-region-API.patch b/patches/server/0830-Folia-scheduler-and-owned-region-API.patch index 4b9bab8c95..cf424af53f 100644 --- a/patches/server/0830-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0830-Folia-scheduler-and-owned-region-API.patch @@ -1173,7 +1173,7 @@ index 0c44f59445e9cd5d2767cbabe874e137b2420a2d..4555f7f59d15a1f84c0cf76f77a6685f gameprofilerfiller.push("commandFunctions"); this.getFunctions().tick(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7da3e315de67f3273997ce9160995183a3a1ce71..3a6e918e9db6397b6f1cff531041655298ce087d 100644 +index 28ca991e89fc0c651220c65cb939f9ebb12d9c93..8b54fab09699dec0cb0fb6063accb04e48a36b6e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -597,6 +597,7 @@ public abstract class PlayerList { @@ -1342,7 +1342,7 @@ index 5c907eca23d936ba3095f2d81256775edaa737da..4c4fa7bbafb075beb0d9c1ef21e3ba2d ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 38f8831306a0f9e623de27d1ff9ef26698859636..f3788ae79abfb1dd82a5c638d9b7850c7006b658 100644 +index f1992713a9e61a9e3cd719d4676f4c3f2917435d..d078f21456ce3fb68d4a08614aa912f08728f85b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -71,6 +71,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0839-API-for-updating-recipes-on-clients.patch b/patches/server/0839-API-for-updating-recipes-on-clients.patch index b9405f1a8f..77a9a4fe09 100644 --- a/patches/server/0839-API-for-updating-recipes-on-clients.patch +++ b/patches/server/0839-API-for-updating-recipes-on-clients.patch @@ -5,10 +5,10 @@ Subject: [PATCH] API for updating recipes on clients diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3a6e918e9db6397b6f1cff531041655298ce087d..efc12d629b71ba1da664d9ecfd4575bee9b45dc3 100644 +index 8b54fab09699dec0cb0fb6063accb04e48a36b6e..bd097ae6edfc0ad810d41ed8bbc7fab34d255610 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1448,6 +1448,13 @@ public abstract class PlayerList { +@@ -1449,6 +1449,13 @@ public abstract class PlayerList { } public void reloadResources() { @@ -22,7 +22,7 @@ index 3a6e918e9db6397b6f1cff531041655298ce087d..efc12d629b71ba1da664d9ecfd4575be // CraftBukkit start /*Iterator iterator = this.advancements.values().iterator(); -@@ -1463,9 +1470,13 @@ public abstract class PlayerList { +@@ -1464,9 +1471,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch index fcbfdfdf4c..4fed66f489 100644 --- a/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch +++ b/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch @@ -7,10 +7,10 @@ Was obtainable through different methods, but you had to use different methods depending on the implementation of Entity you were working with. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f3788ae79abfb1dd82a5c638d9b7850c7006b658..56a3c69bb37b90b7af6590027a80d20f4812bef4 100644 +index d078f21456ce3fb68d4a08614aa912f08728f85b..0278cd156e3a82df4289f483967512dad63a0644 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1255,4 +1255,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1259,4 +1259,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return !this.getHandle().level().noCollision(this.getHandle(), aabb); } // Paper end - Collision API diff --git a/patches/server/0849-Add-Listing-API-for-Player.patch b/patches/server/0849-Add-Listing-API-for-Player.patch index f3d2578ca6..b23b4a4362 100644 --- a/patches/server/0849-Add-Listing-API-for-Player.patch +++ b/patches/server/0849-Add-Listing-API-for-Player.patch @@ -85,7 +85,7 @@ index 6bfb83434a184e6fdba932f692281f0303ada65f..e2541a3886504b143f858a4e75ac4746 static class EntryBuilder { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index efc12d629b71ba1da664d9ecfd4575bee9b45dc3..9067100a82a8c405cec0a19e53b3b245daa3bd75 100644 +index bd097ae6edfc0ad810d41ed8bbc7fab34d255610..f0e6e9478e42cd867237aec990fb1f739d46214e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -362,14 +362,22 @@ public abstract class PlayerList { diff --git a/patches/server/0853-Expand-Pose-API.patch b/patches/server/0853-Expand-Pose-API.patch index 39335a84ab..81b59bbf22 100644 --- a/patches/server/0853-Expand-Pose-API.patch +++ b/patches/server/0853-Expand-Pose-API.patch @@ -25,7 +25,7 @@ index c7292ddae2a2cb11434a6962706bc2a8dd5d2cdc..aa317a143e2c38a0385a83651a784034 if (pose == this.getPose()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 56a3c69bb37b90b7af6590027a80d20f4812bef4..27c8850f874040ba00fa4c226ca0662261451826 100644 +index 0278cd156e3a82df4289f483967512dad63a0644..4c3029a6e4b50afc945797ab23e8c67acba70345 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -895,6 +895,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch index aeff852db4..5eaf062157 100644 --- a/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch +++ b/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix missing event call for entity teleport API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 27c8850f874040ba00fa4c226ca0662261451826..71dfa030136492bfb03bfedc4f0d36eef5d67856 100644 +index 4c3029a6e4b50afc945797ab23e8c67acba70345..2298b3203ce6bf8aca9f819fe27ab5ef6594dbed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -259,6 +259,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0974-Anti-Xray.patch b/patches/server/0974-Anti-Xray.patch index b2a183f821..b111b27754 100644 --- a/patches/server/0974-Anti-Xray.patch +++ b/patches/server/0974-Anti-Xray.patch @@ -1158,7 +1158,7 @@ index cdd66e6ce96e2613afe7f06ca8da3cfaa6704b2d..dafa2cf7d3c49fc5bdcd68d2a9528127 if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) { new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), handler.getPlayer().getBukkitEntity()).callEvent(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9067100a82a8c405cec0a19e53b3b245daa3bd75..3e03d65ac4ef267de67684d24c6f9c303b1a0bf0 100644 +index f0e6e9478e42cd867237aec990fb1f739d46214e..0a328ec362c3c21b5b8634f8fba844b143a24509 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -426,7 +426,7 @@ public abstract class PlayerList { diff --git a/patches/server/0987-Properly-resend-entities.patch b/patches/server/0987-Properly-resend-entities.patch index 851bda3edc..3dcf6d2466 100644 --- a/patches/server/0987-Properly-resend-entities.patch +++ b/patches/server/0987-Properly-resend-entities.patch @@ -104,7 +104,7 @@ index bef4687218c4ee7a7c03a7027fb92fcad403c37c..43cf3510750ca3a1be8c61afaa94b0f8 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3e03d65ac4ef267de67684d24c6f9c303b1a0bf0..c7429a386df96a4b03c4c840ca9bd5b37d58ffc3 100644 +index 0a328ec362c3c21b5b8634f8fba844b143a24509..2d4baf17b1994647fd91083850363a36aa4ca76a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -396,7 +396,7 @@ public abstract class PlayerList { @@ -116,7 +116,7 @@ index 3e03d65ac4ef267de67684d24c6f9c303b1a0bf0..c7429a386df96a4b03c4c840ca9bd5b3 this.sendLevelInfo(player, worldserver1); -@@ -906,12 +906,17 @@ public abstract class PlayerList { +@@ -907,12 +907,17 @@ public abstract class PlayerList { } public void sendActiveEffects(LivingEntity entity, ServerGamePacketListenerImpl networkHandler) { @@ -284,7 +284,7 @@ index 04760d8ba7c560bd9d11191c666715ae8c3e4bff..021169d709964b1bb65e49bf3fcf3119 } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 71dfa030136492bfb03bfedc4f0d36eef5d67856..53ee324f353e65e1b504efeb1d0a3876b0e63991 100644 +index 2298b3203ce6bf8aca9f819fe27ab5ef6594dbed..628dd0d2ba78a36a2d64e4ece9bc395d38f833ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1008,7 +1008,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/1023-Improve-entity-effect-API.patch b/patches/server/1023-Improve-entity-effect-API.patch index 99eac03a09..47cfcf093b 100644 --- a/patches/server/1023-Improve-entity-effect-API.patch +++ b/patches/server/1023-Improve-entity-effect-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve entity effect API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 53ee324f353e65e1b504efeb1d0a3876b0e63991..8059c105195bd31f3f3ee680d4a34d6feedcbc04 100644 +index 628dd0d2ba78a36a2d64e4ece9bc395d38f833ca..b25b10c24a379097233e61bcc10add841b6a7115 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1291,4 +1291,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1295,4 +1295,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getScoreboardName(); } // Paper end - entity scoreboard name diff --git a/patches/server/1035-Moonrise-optimisation-patches.patch b/patches/server/1035-Moonrise-optimisation-patches.patch index fbd8128c1b..43178f114f 100644 --- a/patches/server/1035-Moonrise-optimisation-patches.patch +++ b/patches/server/1035-Moonrise-optimisation-patches.patch @@ -25174,7 +25174,7 @@ index e9b585387f6cbc454e7b16feb36a256e733c5488..67cfc3236a39008cfcf3acffefafda1a public void updatePlayers(List players) { diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index c24644d5a77d87ae6c139f9598feafea308f2158..746f61661e22d22f2acbbe54a5933e57fbca45b2 100644 +index f7c2c03749d6be25bf33afd61e1da120770b3432..746f61661e22d22f2acbbe54a5933e57fbca45b2 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java @@ -34,58 +34,57 @@ import net.minecraft.world.level.ChunkPos; @@ -25576,7 +25576,7 @@ index c24644d5a77d87ae6c139f9598feafea308f2158..746f61661e22d22f2acbbe54a5933e57 } public void removeTicketsOnClosing() { -- ImmutableSet> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve +- ImmutableSet> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.POST_TELEPORT, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve - ObjectIterator>>> objectiterator = this.tickets.long2ObjectEntrySet().fastIterator(); - - while (objectiterator.hasNext()) { @@ -27756,10 +27756,10 @@ index b7d29389a357f142237cecd75f8ca91cf1eb6b5b..e4b0dc3121101d54394a0c3a413dabf8 this.generatingStep = generationStep; this.cache = chunks; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c7429a386df96a4b03c4c840ca9bd5b37d58ffc3..12f04abd8a4577f6746629ef4ff7e4536a4243a7 100644 +index 2d4baf17b1994647fd91083850363a36aa4ca76a..6444d7d4523a0de7a03ad0db6c326901c1ac0117 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1419,7 +1419,7 @@ public abstract class PlayerList { +@@ -1420,7 +1420,7 @@ public abstract class PlayerList { public void setViewDistance(int viewDistance) { this.viewDistance = viewDistance; @@ -27768,7 +27768,7 @@ index c7429a386df96a4b03c4c840ca9bd5b37d58ffc3..12f04abd8a4577f6746629ef4ff7e453 Iterator iterator = this.server.getAllLevels().iterator(); while (iterator.hasNext()) { -@@ -1434,7 +1434,7 @@ public abstract class PlayerList { +@@ -1435,7 +1435,7 @@ public abstract class PlayerList { public void setSimulationDistance(int simulationDistance) { this.simulationDistance = simulationDistance; diff --git a/patches/server/1040-Improved-Watchdog-Support.patch b/patches/server/1040-Improved-Watchdog-Support.patch index b12e1355b1..660214ab2c 100644 --- a/patches/server/1040-Improved-Watchdog-Support.patch +++ b/patches/server/1040-Improved-Watchdog-Support.patch @@ -304,7 +304,7 @@ index bf2bae3166df06be240dbbeecce16a24c85897a9..c06863578c5d654706d93e73059d89c1 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 12f04abd8a4577f6746629ef4ff7e4536a4243a7..d8217fa7ef475e23d216fa6ff6d08f598d39293b 100644 +index 6444d7d4523a0de7a03ad0db6c326901c1ac0117..50866208ca1b9c63bfa40e5799693a846ab002f9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -553,7 +553,7 @@ public abstract class PlayerList { diff --git a/patches/server/1046-Incremental-chunk-and-player-saving.patch b/patches/server/1046-Incremental-chunk-and-player-saving.patch index 9b5d8793db..bd5d7d4f02 100644 --- a/patches/server/1046-Incremental-chunk-and-player-saving.patch +++ b/patches/server/1046-Incremental-chunk-and-player-saving.patch @@ -98,7 +98,7 @@ index 9b61fb06875c8070dba30ee541f85b4eed589681..c7c637fcaf02bf5a0861c9ffaca2b473 private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; private static final int FLY_STAT_RECORDING_SPEED = 25; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d8217fa7ef475e23d216fa6ff6d08f598d39293b..1b8bda718e4fb633e43ea01c40ca4c8e14e35fe4 100644 +index 50866208ca1b9c63bfa40e5799693a846ab002f9..d67c0c9cbbbe92b988f64e19e0e89414c9eb7921 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -518,6 +518,7 @@ public abstract class PlayerList { @@ -109,7 +109,7 @@ index d8217fa7ef475e23d216fa6ff6d08f598d39293b..1b8bda718e4fb633e43ea01c40ca4c8e this.playerIo.save(player); ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit -@@ -1151,9 +1152,21 @@ public abstract class PlayerList { +@@ -1152,9 +1153,21 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/server/1054-Allow-using-old-ender-pearl-behavior.patch b/patches/server/1054-Allow-using-old-ender-pearl-behavior.patch index c417ad2b78..a55e614f56 100644 --- a/patches/server/1054-Allow-using-old-ender-pearl-behavior.patch +++ b/patches/server/1054-Allow-using-old-ender-pearl-behavior.patch @@ -30,7 +30,7 @@ index a2cd4385fca0cf2ec164d06be2732755506c0249..8aff5b7dd14b835788348b22b1fec4d3 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1b8bda718e4fb633e43ea01c40ca4c8e14e35fe4..d7e24ac52fc95b9cf5399638bb8d1f1520097163 100644 +index d67c0c9cbbbe92b988f64e19e0e89414c9eb7921..9b71655a425356132afb786eff623f558e1e3498 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -602,7 +602,13 @@ public abstract class PlayerList {