diff --git a/patches/api/0277-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0277-add-RespawnFlags-to-PlayerRespawnEvent.patch index 3b5d058fcc..c596be8b98 100644 --- a/patches/api/0277-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/api/0277-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,32 +5,34 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java -index f5bdb5244c8d993c624f938c8fb7ccff74655d75..3715584a8289200ffb968e384e359ab574aaec5c 100644 +index 03225d2b4c91caa58c2995d9cf0e7fb4663749ab..b45f265ec7819b06a9a8361e8c1e43fd88b3138b 100644 --- a/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerRespawnEvent.java -@@ -17,17 +17,30 @@ public class PlayerRespawnEvent extends PlayerEvent { - private Location respawnLocation; +@@ -18,6 +18,7 @@ public class PlayerRespawnEvent extends PlayerEvent { private final boolean isBedSpawn; private final boolean isAnchorSpawn; + private final RespawnReason respawnReason; + private final java.util.Set respawnFlags; // Paper @Deprecated public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn) { - this(respawnPlayer, respawnLocation, isBedSpawn, false); +@@ -29,12 +30,24 @@ public class PlayerRespawnEvent extends PlayerEvent { + this(respawnPlayer, respawnLocation, isBedSpawn, false, RespawnReason.PLUGIN); } + @Deprecated // Paper - public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn, final boolean isAnchorSpawn) { + public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, @NotNull final RespawnReason respawnReason) { + // Paper start -+ this(respawnPlayer, respawnLocation, isBedSpawn, isAnchorSpawn, com.google.common.collect.ImmutableSet.builder()); ++ this(respawnPlayer, respawnLocation, isBedSpawn, isAnchorSpawn, respawnReason, com.google.common.collect.ImmutableSet.builder()); + } + -+ public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, @NotNull final com.google.common.collect.ImmutableSet.Builder respawnFlags) { ++ public PlayerRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, @NotNull final RespawnReason respawnReason, @NotNull final com.google.common.collect.ImmutableSet.Builder respawnFlags) { + // Paper end super(respawnPlayer); this.respawnLocation = respawnLocation; this.isBedSpawn = isBedSpawn; this.isAnchorSpawn = isAnchorSpawn; + this.respawnReason = respawnReason; + // Paper start + if (this.isBedSpawn) { respawnFlags.add(RespawnFlag.BED_SPAWN); } + if (this.isAnchorSpawn) { respawnFlags.add(RespawnFlag.ANCHOR_SPAWN); } @@ -39,9 +41,9 @@ index f5bdb5244c8d993c624f938c8fb7ccff74655d75..3715584a8289200ffb968e384e359ab5 } /** -@@ -80,4 +93,31 @@ public class PlayerRespawnEvent extends PlayerEvent { - public static HandlerList getHandlerList() { - return handlers; +@@ -116,4 +129,31 @@ public class PlayerRespawnEvent extends PlayerEvent { + */ + PLUGIN; } + + // Paper start diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 1b0c642215..d54c8245ce 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -6593,10 +6593,10 @@ index a63d5ba706a5b8e430aedc045bdeb3a410bd0eef..e96a0ca47e4701ba187555bd92c96834 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 b001044f221b04d185522932b8e3b7591afac3db..6529064505dc3de875be1764f88897736b85975d 100644 +index 3ab9d73dd1f2d2ade24b3e04616a5312debd948f..7a8b26068a244be553d55f0018a9edebe00b6dff 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 { +@@ -183,6 +183,7 @@ public abstract class PlayerList { } public void placeNewPlayer(Connection connection, ServerPlayer player) { diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 35430e12db..f04adfc2bc 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2319,7 +2319,7 @@ index 3243cfd90e11176efc2059d864fb962497d70942..7e4c10bfdaf1e7f2dfc03d220e5c7319 // CraftBukkit end this.chatVisibility = packet.chatVisibility(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0975e4fbf 100644 +index 29cbad55217400f5ba830b876422dc1823c33a71..9116de00912e07dc049735a183719f6f8c2660b4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -187,6 +187,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; @@ -2331,7 +2331,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 import com.mojang.datafixers.util.Pair; import java.util.Arrays; import java.util.concurrent.ExecutionException; -@@ -250,7 +252,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -251,7 +253,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final int NO_BLOCK_UPDATES_TO_ACK = -1; private static final int TRACKED_MESSAGE_DISCONNECT_THRESHOLD = 4096; private static final Component CHAT_VALIDATION_FAILED = Component.translatable("multiplayer.disconnect.chat_validation_failed"); @@ -2340,7 +2340,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 private final MinecraftServer server; public ServerPlayer player; private int tickCount; -@@ -438,14 +440,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -439,14 +441,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return this.server.isSingleplayerOwner(this.player.getGameProfile()); } @@ -2364,7 +2364,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 // CraftBukkit start - fire PlayerKickEvent if (this.processedDisconnect) { return; -@@ -454,7 +459,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -455,7 +460,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -2373,7 +2373,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 return null; } }; -@@ -471,9 +476,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -472,9 +477,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } @@ -2385,7 +2385,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); -@@ -485,7 +490,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -486,7 +491,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } this.player.kickLeaveMessage = event.getLeaveMessage(); // CraftBukkit - SPIGOT-3034: Forward leave message to PlayerQuitEvent // Send the possibly modified leave message @@ -2394,7 +2394,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 // CraftBukkit end this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> { -@@ -1782,9 +1787,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1783,9 +1788,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic */ this.player.disconnect(); @@ -2409,7 +2409,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 } // CraftBukkit end this.player.getTextFilter().leave(); -@@ -1881,11 +1888,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1882,11 +1889,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } CompletableFuture completablefuture = this.filterTextPacket(playerchatmessage.signedContent()); @@ -2423,7 +2423,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 this.broadcastChatMessage(playerchatmessage1); }, this.server.chatExecutor); // CraftBukkit - async chat -@@ -1985,7 +1992,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1986,7 +1993,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Optional optional = this.unpackAndApplyLastSeen(acknowledgment); if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales @@ -2432,7 +2432,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 return Optional.empty(); } else { this.player.resetLastActionTime(); -@@ -2043,7 +2050,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2044,7 +2051,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin @@ -2446,7 +2446,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 Player player = this.getCraftPlayer(); AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server)); String originalFormat = event.getFormat(), originalMessage = event.getMessage(); -@@ -2173,7 +2185,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2174,7 +2186,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } }); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check @@ -2455,7 +2455,7 @@ index 000fd11480d783eab80a93fedde48f66e6b1298b..b3b6121dcfb6451d177431d51fa8a3e0 } else { this.chat(s, message, true); } -@@ -2995,30 +3007,30 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2996,30 +3008,30 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } @@ -2535,7 +2535,7 @@ index 1cb95db25a20d38faacd99a5805630c1598e9db3..d99b2235038eb1aba8cda474c4aa51e2 @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0e3e1729f 100644 +index 7a8b26068a244be553d55f0018a9edebe00b6dff..d00a2da03f8911f0e07ca22c8c569be7fc189842 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -8,6 +8,7 @@ import com.mojang.logging.LogUtils; @@ -2546,7 +2546,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 import java.io.File; import java.net.SocketAddress; import java.nio.file.Path; -@@ -273,7 +274,7 @@ public abstract class PlayerList { +@@ -274,7 +275,7 @@ public abstract class PlayerList { } // CraftBukkit start ichatmutablecomponent.withStyle(ChatFormatting.YELLOW); @@ -2555,7 +2555,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 playerconnection.teleport(player.getX(), player.getY(), player.getZ(), player.getYRot(), player.getXRot()); ServerStatus serverping = this.server.getStatus(); -@@ -294,19 +295,18 @@ public abstract class PlayerList { +@@ -295,19 +296,18 @@ public abstract class PlayerList { // Ensure that player inventory is populated with its viewer player.containerMenu.transferTo(player.containerMenu, bukkitPlayer); @@ -2580,7 +2580,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 } // CraftBukkit end -@@ -503,7 +503,7 @@ public abstract class PlayerList { +@@ -504,7 +504,7 @@ public abstract class PlayerList { } @@ -2589,7 +2589,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 ServerLevel worldserver = entityplayer.getLevel(); entityplayer.awardStat(Stats.LEAVE_GAME); -@@ -514,7 +514,7 @@ public abstract class PlayerList { +@@ -515,7 +515,7 @@ public abstract class PlayerList { entityplayer.closeContainer(); } @@ -2598,7 +2598,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 this.cserver.getPluginManager().callEvent(playerQuitEvent); entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); -@@ -567,7 +567,7 @@ public abstract class PlayerList { +@@ -568,7 +568,7 @@ public abstract class PlayerList { this.cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity()); // CraftBukkit end @@ -2607,7 +2607,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 } // CraftBukkit start - Whole method, SocketAddress to LoginListener, added hostname to signature, return EntityPlayer -@@ -613,10 +613,10 @@ public abstract class PlayerList { +@@ -614,10 +614,10 @@ public abstract class PlayerList { } // return chatmessage; @@ -2620,7 +2620,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 } else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) { IpBanListEntry ipbanentry = this.ipBans.get(socketaddress); -@@ -626,17 +626,17 @@ public abstract class PlayerList { +@@ -627,17 +627,17 @@ public abstract class PlayerList { } // return chatmessage; @@ -2641,7 +2641,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 return null; } return entity; -@@ -1147,7 +1147,7 @@ public abstract class PlayerList { +@@ -1148,7 +1148,7 @@ public abstract class PlayerList { public void removeAll() { // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -2650,7 +2650,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 } // CraftBukkit end -@@ -1188,24 +1188,43 @@ public abstract class PlayerList { +@@ -1189,24 +1189,43 @@ public abstract class PlayerList { } public void broadcastChatMessage(PlayerChatMessage message, ServerPlayer sender, ChatType.Bound params) { @@ -2697,7 +2697,7 @@ index 6529064505dc3de875be1764f88897736b85975d..d19d1f1595a226ce0472be5e2efafbc0 } if (flag1 && sender != null) { -@@ -1214,7 +1233,7 @@ public abstract class PlayerList { +@@ -1215,7 +1234,7 @@ public abstract class PlayerList { } @@ -3471,10 +3471,10 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa public boolean isOp() { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf206a4d55 100644 +index e108a2b346c5f8b87165a5d1b259784f23fef2b7..9ee53533095259c9af9ce31840c9039dc456dafa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -279,14 +279,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -280,14 +280,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -3514,7 +3514,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf @Override public String getPlayerListName() { return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -305,42 +330,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -306,42 +331,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -3566,7 +3566,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf this.getHandle().connection.send(packet); } -@@ -372,6 +397,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -373,6 +398,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.disconnect(message == null ? "" : message); } @@ -3590,7 +3590,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf @Override public void setCompassTarget(Location loc) { if (this.getHandle().connection == null) return; -@@ -700,6 +742,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -701,6 +743,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -3626,7 +3626,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -727,14 +798,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -728,14 +799,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } Component[] components = CraftSign.sanitizeLines(lines); @@ -3644,7 +3644,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf } @Override -@@ -1616,7 +1688,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1618,7 +1690,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url) { @@ -3653,7 +3653,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf } @Override -@@ -1631,7 +1703,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1633,7 +1705,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash, boolean force) { @@ -3662,7 +3662,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf } @Override -@@ -1647,6 +1719,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1649,6 +1721,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -3684,7 +3684,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf public void addChannel(String channel) { Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); channel = StandardMessenger.validateAndCorrectChannel(channel); -@@ -2051,6 +2138,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2053,6 +2140,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -3697,7 +3697,7 @@ index f8e659dcf69705ab54bc3f47e2ca95d0419c65e4..ba2853ae514e31bf46a72e2f845c8edf @Override public int getPing() { return this.getHandle().latency; -@@ -2096,6 +2189,254 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2098,6 +2191,254 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index 5a6ee38fe9..918a37f4b7 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -1270,10 +1270,10 @@ index aa164a81d072d9390fa1400120e801979e5d74d0..f2798373e7d07cc0e46c39297c29e7be this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b3b6121dcfb6451d177431d51fa8a3e0975e4fbf..f4db9e1f22e8954665d8a971b5f044e113fa173b 100644 +index 9116de00912e07dc049735a183719f6f8c2660b4..e9c8c008ce37ceec3be993e672786eaeb8d01a7e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -337,7 +337,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -338,7 +338,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void tick() { @@ -1281,7 +1281,7 @@ index b3b6121dcfb6451d177431d51fa8a3e0975e4fbf..f4db9e1f22e8954665d8a971b5f044e1 if (this.ackBlockChangesUpTo > -1) { this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo)); this.ackBlockChangesUpTo = -1; -@@ -418,7 +417,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -419,7 +418,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling")); } @@ -1289,7 +1289,7 @@ index b3b6121dcfb6451d177431d51fa8a3e0975e4fbf..f4db9e1f22e8954665d8a971b5f044e1 } -@@ -2137,7 +2135,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2138,7 +2136,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private void handleCommand(String s) { @@ -1298,7 +1298,7 @@ index b3b6121dcfb6451d177431d51fa8a3e0975e4fbf..f4db9e1f22e8954665d8a971b5f044e1 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2147,7 +2145,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2148,7 +2146,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1307,7 +1307,7 @@ index b3b6121dcfb6451d177431d51fa8a3e0975e4fbf..f4db9e1f22e8954665d8a971b5f044e1 return; } -@@ -2160,7 +2158,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2161,7 +2159,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -1317,7 +1317,7 @@ index b3b6121dcfb6451d177431d51fa8a3e0975e4fbf..f4db9e1f22e8954665d8a971b5f044e1 } // 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 d19d1f1595a226ce0472be5e2efafbc0e3e1729f..470e752234813d1031721be95d0bf1178e423a59 100644 +index d00a2da03f8911f0e07ca22c8c569be7fc189842..53e85923c417cf4d853c27e6fedbe7ff525a897c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1,5 +1,6 @@ @@ -1327,7 +1327,7 @@ index d19d1f1595a226ce0472be5e2efafbc0e3e1729f..470e752234813d1031721be95d0bf117 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1036,10 +1037,11 @@ public abstract class PlayerList { +@@ -1037,10 +1038,11 @@ public abstract class PlayerList { } public void saveAll() { @@ -1846,10 +1846,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ba2853ae514e31bf46a72e2f845c8edf206a4d55..67cfa69c73c04931a190918c17a1cd5f9cb006c6 100644 +index 9ee53533095259c9af9ce31840c9039dc456dafa..97a8c43ff3f32d929de117ff608a69221b1ab571 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2522,6 +2522,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2524,6 +2524,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR)); } diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch index 38e8c7bac4..fa15df0b79 100644 --- a/patches/server/0018-Rewrite-chunk-system.patch +++ b/patches/server/0018-Rewrite-chunk-system.patch @@ -15915,10 +15915,10 @@ index e96a0ca47e4701ba187555bd92c968345bc85677..73b96f804079288e9c5fcc11da54e61e + // Paper end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f4db9e1f22e8954665d8a971b5f044e113fa173b..c1db84d0ed569dd44d1f54cca227f77890e0f66a 100644 +index e9c8c008ce37ceec3be993e672786eaeb8d01a7e..542c6ebbf01b91709b73052eca3889347a5aa90a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -778,6 +778,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -779,6 +779,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.disconnect(Component.translatable("disconnect.spam")); return; } @@ -15933,10 +15933,10 @@ index f4db9e1f22e8954665d8a971b5f044e113fa173b..c1db84d0ed569dd44d1f54cca227f778 StringReader stringreader = new StringReader(packet.getCommand()); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 470e752234813d1031721be95d0bf1178e423a59..23edaa206ef8f9ca9ecea0fdd7f0b58ed9fa3a12 100644 +index 53e85923c417cf4d853c27e6fedbe7ff525a897c..cb365522a2b462e8c3e44eac68c64ad99c8738ff 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -252,7 +252,7 @@ public abstract class PlayerList { +@@ -253,7 +253,7 @@ public abstract class PlayerList { boolean flag1 = gamerules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO); // Spigot - view distance @@ -15945,7 +15945,7 @@ index 470e752234813d1031721be95d0bf1178e423a59..23edaa206ef8f9ca9ecea0fdd7f0b58e player.getBukkitEntity().sendSupportedChannels(); // CraftBukkit playerconnection.send(new ClientboundUpdateEnabledFeaturesPacket(FeatureFlags.REGISTRY.toNames(worldserver1.enabledFeatures()))); playerconnection.send(new ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.BRAND, (new FriendlyByteBuf(Unpooled.buffer())).writeUtf(this.getServer().getServerModName()))); -@@ -790,8 +790,8 @@ public abstract class PlayerList { +@@ -791,8 +791,8 @@ public abstract class PlayerList { // CraftBukkit start LevelData worlddata = worldserver1.getLevelData(); entityplayer1.connection.send(new ClientboundRespawnPacket(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), (byte) i, entityplayer1.getLastDeathLocation())); @@ -15956,7 +15956,7 @@ index 470e752234813d1031721be95d0bf1178e423a59..23edaa206ef8f9ca9ecea0fdd7f0b58e entityplayer1.spawnIn(worldserver1); entityplayer1.unsetRemoved(); entityplayer1.connection.teleport(new Location(worldserver1.getWorld(), entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot())); -@@ -1287,7 +1287,7 @@ public abstract class PlayerList { +@@ -1288,7 +1288,7 @@ public abstract class PlayerList { public void setViewDistance(int viewDistance) { this.viewDistance = viewDistance; @@ -15965,7 +15965,7 @@ index 470e752234813d1031721be95d0bf1178e423a59..23edaa206ef8f9ca9ecea0fdd7f0b58e Iterator iterator = this.server.getAllLevels().iterator(); while (iterator.hasNext()) { -@@ -1302,7 +1302,7 @@ public abstract class PlayerList { +@@ -1303,7 +1303,7 @@ public abstract class PlayerList { public void setSimulationDistance(int simulationDistance) { this.simulationDistance = simulationDistance; @@ -17997,10 +17997,10 @@ index 4186943ba9e94758d579477e8fadaf8e05ef93f3..1684b3ee1b51597e799486bbe129b344 // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 67cfa69c73c04931a190918c17a1cd5f9cb006c6..83471457a723a41141d06f0fd11a042d6e5d7918 100644 +index 97a8c43ff3f32d929de117ff608a69221b1ab571..6d14414d7ee86dcb176ad46c564d6823b0bd16a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -178,6 +178,81 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -179,6 +179,81 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = System.currentTimeMillis(); } diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch index a38fd6154c..31ba328ffe 100644 --- a/patches/server/0030-Player-affects-spawning-API.patch +++ b/patches/server/0030-Player-affects-spawning-API.patch @@ -137,10 +137,10 @@ index be6e3e21ad62da01e5e2dd78e300cbc8efdbeb42..ea98625fe7c00743b8df74a24e6d4b75 for(Player player : this.players()) { if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 83471457a723a41141d06f0fd11a042d6e5d7918..de288116429c7ee87ba2e180e3e39855feee27f5 100644 +index 6d14414d7ee86dcb176ad46c564d6823b0bd16a3..889ef0d01fd8d6c77e5721beceb9b911a793ab3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2227,8 +2227,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2229,8 +2229,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0032-Only-refresh-abilities-if-needed.patch b/patches/server/0032-Only-refresh-abilities-if-needed.patch index 9cbc4822bd..59909e5b04 100644 --- a/patches/server/0032-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0032-Only-refresh-abilities-if-needed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index de288116429c7ee87ba2e180e3e39855feee27f5..1e710c73c45fc34d2809e75b5e43c32e1cd7c7f1 100644 +index 889ef0d01fd8d6c77e5721beceb9b911a793ab3e..d5f8446aeb34cc3e6102907ce3f7fff3eef4a6ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1896,12 +1896,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1898,12 +1898,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch index 1b2604b8d8..87342ee302 100644 --- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch @@ -30,10 +30,10 @@ index edb8537e4fdd82991eda914a7d5c3ff6ef773fe0..e1b545cda20f5f165497b751044ff323 this.locale = packet.language; // 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 1e710c73c45fc34d2809e75b5e43c32e1cd7c7f1..7a2db8458cffd98e8324da101a27b3aee20bbeed 100644 +index d5f8446aeb34cc3e6102907ce3f7fff3eef4a6ff..af749f1cc8555140c248f5539ae3db03db3be1fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2227,8 +2227,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2229,8 +2229,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0050-Add-PlayerInitialSpawnEvent.patch b/patches/server/0050-Add-PlayerInitialSpawnEvent.patch index b01d0a91d5..1ac60afa8a 100644 --- a/patches/server/0050-Add-PlayerInitialSpawnEvent.patch +++ b/patches/server/0050-Add-PlayerInitialSpawnEvent.patch @@ -12,10 +12,10 @@ improve setPosition to use raw 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 23edaa206ef8f9ca9ecea0fdd7f0b58ed9fa3a12..434a980904d278148d53a7bf31575c2f3c9392a7 100644 +index cb365522a2b462e8c3e44eac68c64ad99c8738ff..c416b0c670d5c1f43d5b2a097e068bc51a6c660d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -230,7 +230,7 @@ public abstract class PlayerList { +@@ -231,7 +231,7 @@ public abstract class PlayerList { // Spigot start - spawn location event Player spawnPlayer = player.getBukkitEntity(); @@ -24,7 +24,7 @@ index 23edaa206ef8f9ca9ecea0fdd7f0b58ed9fa3a12..434a980904d278148d53a7bf31575c2f this.cserver.getPluginManager().callEvent(ev); Location loc = ev.getSpawnLocation(); -@@ -238,7 +238,10 @@ public abstract class PlayerList { +@@ -239,7 +239,10 @@ public abstract class PlayerList { player.spawnIn(worldserver1); player.gameMode.setLevel((ServerLevel) player.level); diff --git a/patches/server/0052-Ensure-commands-are-not-ran-async.patch b/patches/server/0052-Ensure-commands-are-not-ran-async.patch index 0d128dbb1e..f60113469c 100644 --- a/patches/server/0052-Ensure-commands-are-not-ran-async.patch +++ b/patches/server/0052-Ensure-commands-are-not-ran-async.patch @@ -21,10 +21,10 @@ character. Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c1db84d0ed569dd44d1f54cca227f77890e0f66a..026b43e74d99d7b5a971e4de996a30f02d0f8d24 100644 +index 542c6ebbf01b91709b73052eca3889347a5aa90a..0da739370a9cbbde1f2bec8d04a6ab6f6971017d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2034,7 +2034,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2035,7 +2035,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return true; } @@ -33,7 +33,7 @@ index c1db84d0ed569dd44d1f54cca227f77890e0f66a..026b43e74d99d7b5a971e4de996a30f0 for (int i = 0; i < message.length(); ++i) { if (!SharedConstants.isAllowedChatCharacter(message.charAt(i))) { return true; -@@ -2051,7 +2051,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2052,7 +2052,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } OutgoingChatMessage outgoing = OutgoingChatMessage.create(original); @@ -42,7 +42,7 @@ index c1db84d0ed569dd44d1f54cca227f77890e0f66a..026b43e74d99d7b5a971e4de996a30f0 this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin -@@ -2141,7 +2141,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2142,7 +2142,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } @@ -107,10 +107,10 @@ index 77b8b4d56883dcf672af82189da75ddef7c935a2..af2d401c3faa14664732c001a1ea59f6 return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7a2db8458cffd98e8324da101a27b3aee20bbeed..34aca43bf55be421755dd5aff7abc5a833e08ce7 100644 +index af749f1cc8555140c248f5539ae3db03db3be1fb..5db676928fc9a13e58cfd5d633ec5c9a69cb986e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -506,7 +506,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -507,7 +507,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void chat(String msg) { if (this.getHandle().connection == null) return; diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch index cba96ac6c7..7991cd810d 100644 --- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch @@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4 // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 34aca43bf55be421755dd5aff7abc5a833e08ce7..3429595e2a28bda3430ac198e60798374a7fc051 100644 +index 5db676928fc9a13e58cfd5d633ec5c9a69cb986e..e7f31e33efe2ae33beca4f46f34d77fbcf2bb0b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ @@ -73,7 +73,7 @@ index 34aca43bf55be421755dd5aff7abc5a833e08ce7..3429595e2a28bda3430ac198e6079837 import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -352,6 +353,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -353,6 +354,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch index f604670949..61307a9522 100644 --- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch @@ -16,15 +16,15 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3429595e2a28bda3430ac198e60798374a7fc051..41753aff6c12c9ceb142b886c35a62bd86e430e7 100644 +index e7f31e33efe2ae33beca4f46f34d77fbcf2bb0b4..51c953432e4055962afda5c5cdb24f33ac0502a1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1208,7 +1208,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - if (fromWorld == toWorld) { +@@ -1210,7 +1210,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entity.connection.teleport(to); } else { -- server.getHandle().respawn(entity, toWorld, true, to, true); -+ server.getHandle().respawn(entity, toWorld, true, to, !toWorld.paperConfig().environment.disableTeleportationSuffocationCheck); // Paper + // The respawn reason should never be used if the passed location is non null. +- server.getHandle().respawn(entity, toWorld, true, to, true, null); ++ server.getHandle().respawn(entity, toWorld, true, to, !toWorld.paperConfig().environment.disableTeleportationSuffocationCheck, null); // Paper } return true; } diff --git a/patches/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch index fbc1c683be..7b89c86741 100644 --- a/patches/server/0065-Complete-resource-pack-API.patch +++ b/patches/server/0065-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 026b43e74d99d7b5a971e4de996a30f02d0f8d24..cf905220ac5bbce62e5e061f0dfc96906fc29328 100644 +index 0da739370a9cbbde1f2bec8d04a6ab6f6971017d..19733418e80d49f65290ba898caf71aa3b0e5334 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1754,8 +1754,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1755,8 +1755,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); } @@ -23,10 +23,10 @@ index 026b43e74d99d7b5a971e4de996a30f02d0f8d24..cf905220ac5bbce62e5e061f0dfc9690 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 41753aff6c12c9ceb142b886c35a62bd86e430e7..be1f40a40d805f2e7cde39d5636a9fc793718b93 100644 +index 51c953432e4055962afda5c5cdb24f33ac0502a1..618e0f885089223596c290c9a42f67d24f43e3be 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -154,6 +154,7 @@ import org.bukkit.plugin.Plugin; +@@ -155,6 +155,7 @@ import org.bukkit.plugin.Plugin; import org.bukkit.plugin.messaging.StandardMessenger; import org.bukkit.profile.PlayerProfile; import org.bukkit.scoreboard.Scoreboard; @@ -34,7 +34,7 @@ index 41753aff6c12c9ceb142b886c35a62bd86e430e7..be1f40a40d805f2e7cde39d5636a9fc7 import net.md_5.bungee.api.chat.BaseComponent; // Spigot -@@ -172,6 +173,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -173,6 +174,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private double healthScale = 20; private CraftWorldBorder clientWorldBorder = null; private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); @@ -45,7 +45,7 @@ index 41753aff6c12c9ceb142b886c35a62bd86e430e7..be1f40a40d805f2e7cde39d5636a9fc7 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2350,6 +2355,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2352,6 +2357,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } diff --git a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 6080d3b28b..8507b67721 100644 --- a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 9936fb67766dedba71b582316dd2bddd6567c342..2f161145789890fcd9bfd893b099f25a } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index be1f40a40d805f2e7cde39d5636a9fc793718b93..2e1d8d53f91bccf3cd565b94b8ab5949f470cbd5 100644 +index 618e0f885089223596c290c9a42f67d24f43e3be..532b62d9cbfd9e7586b4df84fb0f1598a5e19e02 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2155,6 +2155,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2157,6 +2157,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch index 6a873688ae..ec096d75b5 100644 --- a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch @@ -22,10 +22,10 @@ index a5d57cc862036012d83b090bb1b3ccf4115a88b3..21068f766b75c414d5818073b7dca083 static final ServerboundInteractPacket.Action ATTACK_ACTION = new ServerboundInteractPacket.Action() { @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cf905220ac5bbce62e5e061f0dfc96906fc29328..dfff872200195b90c51b05188b4a3c53e799249d 100644 +index 19733418e80d49f65290ba898caf71aa3b0e5334..e4becdbb95f0309b9173722762836037dc38b33d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2534,8 +2534,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2535,8 +2535,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic }); } } diff --git a/patches/server/0088-Configurable-Player-Collision.patch b/patches/server/0088-Configurable-Player-Collision.patch index 4b1b6cd458..e2c7129b3d 100644 --- a/patches/server/0088-Configurable-Player-Collision.patch +++ b/patches/server/0088-Configurable-Player-Collision.patch @@ -43,7 +43,7 @@ index f48d3bbbfd5b4ebb9c22c6dc2a17a9030af2edf5..2ea0cb1f9bfc5ef7bd8c78cf259da13b this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP)); this.connection.acceptConnections(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 434a980904d278148d53a7bf31575c2f3c9392a7..75385e9b0886978b4c435ecce354498a26f9ec4c 100644 +index c416b0c670d5c1f43d5b2a097e068bc51a6c660d..97b258adb325a6620ddb26f267c04d533e6e1100 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -99,6 +99,7 @@ import net.minecraft.world.level.storage.PlayerDataStorage; @@ -54,7 +54,7 @@ index 434a980904d278148d53a7bf31575c2f3c9392a7..75385e9b0886978b4c435ecce354498a import net.minecraft.world.scores.Team; import org.slf4j.Logger; -@@ -161,6 +162,7 @@ public abstract class PlayerList { +@@ -162,6 +163,7 @@ public abstract class PlayerList { // CraftBukkit start private CraftServer cserver; private final Map playersByName = new java.util.HashMap<>(); @@ -62,7 +62,7 @@ index 434a980904d278148d53a7bf31575c2f3c9392a7..75385e9b0886978b4c435ecce354498a public PlayerList(MinecraftServer server, LayeredRegistryAccess registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); -@@ -406,6 +408,13 @@ public abstract class PlayerList { +@@ -407,6 +409,13 @@ public abstract class PlayerList { player.initInventoryMenu(); // CraftBukkit - Moved from above, added world @@ -76,7 +76,7 @@ index 434a980904d278148d53a7bf31575c2f3c9392a7..75385e9b0886978b4c435ecce354498a PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); } -@@ -525,6 +534,16 @@ public abstract class PlayerList { +@@ -526,6 +535,16 @@ public abstract class PlayerList { entityplayer.doTick(); // SPIGOT-924 // CraftBukkit end @@ -93,7 +93,7 @@ index 434a980904d278148d53a7bf31575c2f3c9392a7..75385e9b0886978b4c435ecce354498a this.save(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1156,6 +1175,13 @@ public abstract class PlayerList { +@@ -1157,6 +1176,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/server/0108-Configurable-packet-in-spam-threshold.patch b/patches/server/0108-Configurable-packet-in-spam-threshold.patch index 3ec6ee244d..0dc3362368 100644 --- a/patches/server/0108-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0108-Configurable-packet-in-spam-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable packet in spam threshold diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 76f7ddbbba4be5c31d70ce9af9e041e69ee31662..dc723382685e9b50ffe0fea3118a1121db1da9fb 100644 +index e4becdbb95f0309b9173722762836037dc38b33d..a2dc13c9440876953f703eedc69ec29db73f6e67 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1594,13 +1594,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1595,13 +1595,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; diff --git a/patches/server/0109-Configurable-flying-kick-messages.patch b/patches/server/0109-Configurable-flying-kick-messages.patch index 20eb89113d..7b60d11f83 100644 --- a/patches/server/0109-Configurable-flying-kick-messages.patch +++ b/patches/server/0109-Configurable-flying-kick-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable flying kick messages diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dc723382685e9b50ffe0fea3118a1121db1da9fb..4ccb315828005258f5bd4c4a651d572e439c4909 100644 +index a2dc13c9440876953f703eedc69ec29db73f6e67..f06fde519bc69102dcb69f7f62f250f66d02edf6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -353,7 +353,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -354,7 +354,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) { if (++this.aboveGroundTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); @@ -17,7 +17,7 @@ index dc723382685e9b50ffe0fea3118a1121db1da9fb..4ccb315828005258f5bd4c4a651d572e return; } } else { -@@ -372,7 +372,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -373,7 +373,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); diff --git a/patches/server/0122-String-based-Action-Bar-API.patch b/patches/server/0122-String-based-Action-Bar-API.patch index 7d7a26d233..757358bbb2 100644 --- a/patches/server/0122-String-based-Action-Bar-API.patch +++ b/patches/server/0122-String-based-Action-Bar-API.patch @@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2e1d8d53f91bccf3cd565b94b8ab5949f470cbd5..2a77e7ffb748c5b7f89aa232b51e7d62732850d9 100644 +index 532b62d9cbfd9e7586b4df84fb0f1598a5e19e02..9fab9903b8902aa5bfa6d5224de7f36750ee40b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -359,6 +359,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -360,6 +360,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/server/0123-Properly-fix-item-duplication-bug.patch b/patches/server/0123-Properly-fix-item-duplication-bug.patch index ae41758a60..5b6f3d8fd2 100644 --- a/patches/server/0123-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0123-Properly-fix-item-duplication-bug.patch @@ -19,10 +19,10 @@ index fc364823f20f458af936c7209bd7174e05cb0fc0..9d04d3d1e24222bf255a1fc967619095 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e3f3ddbf6d5c20489f3cfda9126ef64954b7418d..1c31e887a23398c2717426209a8625bdd0e1a807 100644 +index f06fde519bc69102dcb69f7f62f250f66d02edf6..55622bca79e52418a81eb713d59c04899e49c1fa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3178,7 +3178,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3179,7 +3179,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public final boolean isDisconnected() { diff --git a/patches/server/0127-Enforce-Sync-Player-Saves.patch b/patches/server/0127-Enforce-Sync-Player-Saves.patch index 510eaf2f15..c181182455 100644 --- a/patches/server/0127-Enforce-Sync-Player-Saves.patch +++ b/patches/server/0127-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 75385e9b0886978b4c435ecce354498a26f9ec4c..175041e2560203712e1a826abcf732efcdec97cc 100644 +index 97b258adb325a6620ddb26f267c04d533e6e1100..1179c809674082b6d238c9b32cb2c9ff038dbcf0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1059,11 +1059,13 @@ public abstract class PlayerList { +@@ -1060,11 +1060,13 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch index df8c9f7ac9..aa52660cb6 100644 --- a/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0133-Properly-handle-async-calls-to-restart-the-server.patch @@ -64,10 +64,10 @@ index e845baf287da216bc5c1d2588b8e720212318266..d9ceef3d9694ab85f807a732789b2871 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 175041e2560203712e1a826abcf732efcdec97cc..ad7047445408cbe6de63de30d98ec61dd87f4f61 100644 +index 1179c809674082b6d238c9b32cb2c9ff038dbcf0..c0f765362d89b73917bb61274afc83812e066227 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1171,8 +1171,15 @@ public abstract class PlayerList { +@@ -1172,8 +1172,15 @@ public abstract class PlayerList { } public void removeAll() { diff --git a/patches/server/0134-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0134-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index dc53a98cd9..f6e231ce7f 100644 --- a/patches/server/0134-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/patches/server/0134-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -14,10 +14,10 @@ To be converted into a Paper-API event at some point in the future? public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1c31e887a23398c2717426209a8625bdd0e1a807..2e1f0ac59da4ce1f66a4e720c275744a28191478 100644 +index 55622bca79e52418a81eb713d59c04899e49c1fa..f42cf92eeb2c491a9bf75e67047c11edfc1185ab 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2322,6 +2322,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2323,6 +2323,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic switch (packet.getAction()) { case PRESS_SHIFT_KEY: this.player.setShiftKeyDown(true); diff --git a/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch index 774a9e1fd0..a7bf6e1cb7 100644 --- a/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -222,10 +222,10 @@ index 35904c69e14c4c0addda204d5e3788518c2e16c4..e6826cd0a596f063e8737dcde3c8c6c5 System.setOut(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream()); System.setErr(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream()); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ad7047445408cbe6de63de30d98ec61dd87f4f61..dcb14a1be689fe228f740abc1a2b3c2c57b35f40 100644 +index c0f765362d89b73917bb61274afc83812e066227..d5d9579b3313299543f45d6ebf79bca6fddf09ff 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -166,8 +166,7 @@ public abstract class PlayerList { +@@ -167,8 +167,7 @@ public abstract class PlayerList { public PlayerList(MinecraftServer server, LayeredRegistryAccess registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); @@ -236,7 +236,7 @@ index ad7047445408cbe6de63de30d98ec61dd87f4f61..dcb14a1be689fe228f740abc1a2b3c2c this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3aabd7aaad60c157740d12932d0cb071ae259c21..8aaba38c7f4dc17c8536a0049be8bdea204f6481 100644 +index b43dd6151647b370f3a8138a62ebd9482e095374..729696d7177851d31795c600a33d1abd9a9041c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -41,7 +41,6 @@ import java.util.logging.Level; @@ -262,7 +262,7 @@ index 3aabd7aaad60c157740d12932d0cb071ae259c21..8aaba38c7f4dc17c8536a0049be8bdea @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 288b3afe6c7e0c93234f43f864e37d167500dd0e..ebf561bce1b442f2b3a138d4ba0ed252e4ba3207 100644 +index a13079a212bc0e4506ebc476ac058f1f8ca3d1de..beec3ebe4abc977885f93ef28aac3e834142d373 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -13,7 +13,6 @@ import java.util.logging.Logger; diff --git a/patches/server/0151-ProfileWhitelistVerifyEvent.patch b/patches/server/0151-ProfileWhitelistVerifyEvent.patch index 8dce88891f..c4fa0ed824 100644 --- a/patches/server/0151-ProfileWhitelistVerifyEvent.patch +++ b/patches/server/0151-ProfileWhitelistVerifyEvent.patch @@ -5,10 +5,10 @@ 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 dcb14a1be689fe228f740abc1a2b3c2c57b35f40..2cde0807c224f008bd2e652ff8a46244ebc53059 100644 +index d5d9579b3313299543f45d6ebf79bca6fddf09ff..41aef5f7b9ab7c97edd79e415264975fc01241b9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -636,9 +636,9 @@ public abstract class PlayerList { +@@ -637,9 +637,9 @@ public abstract class PlayerList { // return chatmessage; event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure @@ -21,7 +21,7 @@ index dcb14a1be689fe228f740abc1a2b3c2c57b35f40..2cde0807c224f008bd2e652ff8a46244 } else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) { IpBanListEntry ipbanentry = this.ipBans.get(socketaddress); -@@ -1022,7 +1022,23 @@ public abstract class PlayerList { +@@ -1023,7 +1023,23 @@ public abstract class PlayerList { } public boolean isWhiteListed(GameProfile profile) { diff --git a/patches/server/0159-Add-PlayerJumpEvent.patch b/patches/server/0159-Add-PlayerJumpEvent.patch index 1748bdd936..bf9cbcd85b 100644 --- a/patches/server/0159-Add-PlayerJumpEvent.patch +++ b/patches/server/0159-Add-PlayerJumpEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2e1f0ac59da4ce1f66a4e720c275744a28191478..ed9653e713893c273ca54f20febc4541e8d7e471 100644 +index f42cf92eeb2c491a9bf75e67047c11edfc1185ab..b1b61ad583405459aff46a7b9964e927974f8a18 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1287,7 +1287,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1288,7 +1288,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag = d8 > 0.0D; if (this.player.isOnGround() && !packet.isOnGround() && flag) { diff --git a/patches/server/0160-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0160-handle-ServerboundKeepAlivePacket-async.patch index 00e1ce0524..36c69be535 100644 --- a/patches/server/0160-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0160-handle-ServerboundKeepAlivePacket-async.patch @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5c60baafd997aed3168d60284dcbb2a3e002029c..f52ed21255e2ae5efed2a095a220d132b3ef91f6 100644 +index b1b61ad583405459aff46a7b9964e927974f8a18..65e6e0bdcb31e0f5a2d5bbd3aa2dc5666f96f441 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3137,14 +3137,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3138,14 +3138,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch index 73bbcab8ca..939e67e16a 100644 --- a/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index 2be1bd39ee1341128f02e38afe5698b837735827..cca08b8c6e1e15f13326a2a7e33e7f32 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2a77e7ffb748c5b7f89aa232b51e7d62732850d9..1a4778052126cde62126e04b7bbf285be07b69b6 100644 +index 9fab9903b8902aa5bfa6d5224de7f36750ee40b7..509376cd1d9b11e85395ee1da20dae3a1c4b9aee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -303,6 +303,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -304,6 +304,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0162-revert-serverside-behavior-of-keepalives.patch b/patches/server/0162-revert-serverside-behavior-of-keepalives.patch index ea1cbb78e9..21e2338654 100644 --- a/patches/server/0162-revert-serverside-behavior-of-keepalives.patch +++ b/patches/server/0162-revert-serverside-behavior-of-keepalives.patch @@ -17,10 +17,10 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f52ed21255e2ae5efed2a095a220d132b3ef91f6..e2e640149913db7951d5c90c084bdb24f9257e8b 100644 +index 65e6e0bdcb31e0f5a2d5bbd3aa2dc5666f96f441..d39eb377a2fb12308eda12435e8bc5cbea13cac1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -257,7 +257,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -258,7 +258,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public ServerPlayer player; private int tickCount; private int ackBlockChangesUpTo = -1; @@ -29,7 +29,7 @@ index f52ed21255e2ae5efed2a095a220d132b3ef91f6..e2e640149913db7951d5c90c084bdb24 private boolean keepAlivePending; private long keepAliveChallenge; // CraftBukkit start - multithreaded fields -@@ -295,6 +295,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -296,6 +296,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private final LastSeenMessagesValidator lastSeenMessages; private final MessageSignatureCache messageSignatureCache; private final FutureChain chatMessageChain; @@ -37,7 +37,7 @@ index f52ed21255e2ae5efed2a095a220d132b3ef91f6..e2e640149913db7951d5c90c084bdb24 public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); -@@ -386,18 +387,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -387,18 +388,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } this.server.getProfiler().push("keepAlive"); diff --git a/patches/server/0169-AsyncTabCompleteEvent.patch b/patches/server/0169-AsyncTabCompleteEvent.patch index 544db3c891..d5f24a67e5 100644 --- a/patches/server/0169-AsyncTabCompleteEvent.patch +++ b/patches/server/0169-AsyncTabCompleteEvent.patch @@ -16,10 +16,10 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent Co-authored-by: Aikar diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bc72f5380c49c0d389e53d270165d4108a3bb901..ec1aa8d5fbfdafc35948a04f4d8d65e879853ff0 100644 +index d39eb377a2fb12308eda12435e8bc5cbea13cac1..215f2f196179304bc48633fcb6a8d93bf10c9f19 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -778,12 +778,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -779,12 +779,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } @@ -38,7 +38,7 @@ index bc72f5380c49c0d389e53d270165d4108a3bb901..ec1aa8d5fbfdafc35948a04f4d8d65e8 return; } // Paper start -@@ -794,18 +798,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -795,18 +799,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end // CraftBukkit end @@ -91,7 +91,7 @@ index bc72f5380c49c0d389e53d270165d4108a3bb901..ec1aa8d5fbfdafc35948a04f4d8d65e8 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 21ca43d22bd9d09bdb03107eec568eb9208ea948..f3d3d5c4a3668000be67128a5b7bd953e5bc2c48 100644 +index a5b16370b59556f74d4c4275f8c19395c1ede60b..690cae728e1f3ef2670d1e7f3dec444833cc5716 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2095,7 +2095,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch index 88c6907a7e..a6a0dd26f7 100644 --- a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch @@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1a4778052126cde62126e04b7bbf285be07b69b6..26de9507f46a2f811cd8b0ccaf2233f12b250ae1 100644 +index 509376cd1d9b11e85395ee1da20dae3a1c4b9aee..ffe926d4347832f28335f723f9f5a253d1a4c15a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1526,7 +1526,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1528,7 +1528,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/server/0184-Player.setPlayerProfile-API.patch b/patches/server/0184-Player.setPlayerProfile-API.patch index 1bb9059cfe..ee645cac5f 100644 --- a/patches/server/0184-Player.setPlayerProfile-API.patch +++ b/patches/server/0184-Player.setPlayerProfile-API.patch @@ -9,10 +9,10 @@ This can be useful for changing name or skins after a player has logged in. public-f net.minecraft.world.entity.player.Player gameProfile diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ec1aa8d5fbfdafc35948a04f4d8d65e879853ff0..ef9fc39e70516772cc91b9ada493bfa051b41784 100644 +index 215f2f196179304bc48633fcb6a8d93bf10c9f19..f2c9270044c0bfdfa0bbbd64ff6436e7ace7fcf0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1534,7 +1534,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1535,7 +1535,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.internalTeleport(dest.getX(), dest.getY(), dest.getZ(), dest.getYaw(), dest.getPitch(), Collections.emptySet()); } @@ -55,7 +55,7 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..69a1852905dd4724c30ac8ab88c14251 public Server getServer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..9099604b5bffc92ca46c096d2d6d7d857ef22c38 100644 +index ffe926d4347832f28335f723f9f5a253d1a4c15a..8199b3a2f457b3212078bf610899a6e0ca33f292 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -83,6 +83,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; @@ -66,7 +66,7 @@ index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..9099604b5bffc92ca46c096d2d6d7d85 import net.minecraft.world.level.block.entity.SignBlockEntity; import net.minecraft.world.level.border.BorderChangeListener; import net.minecraft.world.level.saveddata.maps.MapDecoration; -@@ -286,11 +287,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -287,11 +288,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return server.getPlayer(getUniqueId()) != null; } @@ -78,7 +78,7 @@ index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..9099604b5bffc92ca46c096d2d6d7d85 @Override public InetSocketAddress getAddress() { if (this.getHandle().connection == null) return null; -@@ -1676,8 +1672,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1678,8 +1674,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private void untrackAndHideEntity(org.bukkit.entity.Entity entity) { // Remove this entity from the hidden player's EntityTrackerEntry @@ -95,7 +95,7 @@ index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..9099604b5bffc92ca46c096d2d6d7d85 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1690,8 +1693,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1692,8 +1695,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID()))); } } @@ -104,7 +104,7 @@ index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..9099604b5bffc92ca46c096d2d6d7d85 } void resetAndHideEntity(org.bukkit.entity.Entity entity) { -@@ -1768,8 +1769,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1770,8 +1771,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) { entry.updatePlayer(this.getHandle()); } @@ -144,7 +144,7 @@ index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..9099604b5bffc92ca46c096d2d6d7d85 } void resetAndShowEntity(org.bukkit.entity.Entity entity) { -@@ -1782,6 +1813,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1784,6 +1815,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.trackAndShowEntity(entity); } } diff --git a/patches/server/0189-Flag-to-disable-the-channel-limit.patch b/patches/server/0189-Flag-to-disable-the-channel-limit.patch index 0a6870eabb..7928e8aa6a 100644 --- a/patches/server/0189-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0189-Flag-to-disable-the-channel-limit.patch @@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9f2cf313791b146a6e183c805653e445e498c44e..65471cac37cd7b9cf52ef8405434ae8ecb0775d0 100644 +index 8199b3a2f457b3212078bf610899a6e0ca33f292..5ac7d5a83e154f405b77f99d3534844b25dcbc4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -177,6 +177,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -178,6 +178,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; @@ -20,7 +20,7 @@ index 9f2cf313791b146a6e183c805653e445e498c44e..65471cac37cd7b9cf52ef8405434ae8e // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -2051,7 +2052,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2053,7 +2054,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end public void addChannel(String channel) { diff --git a/patches/server/0192-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/patches/server/0192-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index 9bcfb420d3..0c8e7b5cf2 100644 --- a/patches/server/0192-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/patches/server/0192-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5a8703799204c28d885edfe1f366d222270d6558..ed910ec48845cbf7fad163771b409ea7485e9bf4 100644 +index f2c9270044c0bfdfa0bbbd64ff6436e7ace7fcf0..94e79e72886b97b70fe4dbc2abf6830efd19f37b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3151,9 +3151,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3152,9 +3152,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic FilteredText filteredtext = (FilteredText) signText.get(i); if (this.player.isTextFilteringEnabled()) { diff --git a/patches/server/0218-InventoryCloseEvent-Reason-API.patch b/patches/server/0218-InventoryCloseEvent-Reason-API.patch index 89ae7d81c4..42530e13eb 100644 --- a/patches/server/0218-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0218-InventoryCloseEvent-Reason-API.patch @@ -75,7 +75,7 @@ index 67b0a9f8e8f122c406057c5db225fa6a03dd624c..9e4c827bba4c87595db8cb8896b77558 this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5e710c7efef73c1caec0a16ff2e5f128ec4beb54..2bfcd1fbd18656f80ca0356d4f4c45e2bcfb3a55 100644 +index 94e79e72886b97b70fe4dbc2abf6830efd19f37b..473b00fcc73097eab908b1dce198a96de38b5530 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -219,6 +219,7 @@ import org.bukkit.event.inventory.ClickType; @@ -86,7 +86,7 @@ index 5e710c7efef73c1caec0a16ff2e5f128ec4beb54..2bfcd1fbd18656f80ca0356d4f4c45e2 import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.inventory.SmithItemEvent; -@@ -2672,10 +2673,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2673,10 +2674,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleContainerClose(ServerboundContainerClosePacket packet) { @@ -104,10 +104,10 @@ index 5e710c7efef73c1caec0a16ff2e5f128ec4beb54..2bfcd1fbd18656f80ca0356d4f4c45e2 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 2cde0807c224f008bd2e652ff8a46244ebc53059..2f18121596b957202dfd8227b995ea0615ecf773 100644 +index 41aef5f7b9ab7c97edd79e415264975fc01241b9..c3c2d7a035e35135a422cfec3513b6a7a268e1e1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -523,7 +523,7 @@ public abstract class PlayerList { +@@ -524,7 +524,7 @@ public abstract class PlayerList { // CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it // See SPIGOT-5799, SPIGOT-6145 if (entityplayer.containerMenu != entityplayer.inventoryMenu) { @@ -173,10 +173,10 @@ index 787ccb37a39bb506cf9fd8d54cf772b346981f85..f5b3190ffb9e9f92977afc9e40ddfa15 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b1b4513d9b86195b8c96c49990cb2bf6d3951506..9592da53e4b2ec28c71887ef68a0327c0e3ec119 100644 +index 5ac7d5a83e154f405b77f99d3534844b25dcbc4f..bd2f49c8c6271497f5e54da5a3975ef632701e74 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1240,7 +1240,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1241,7 +1241,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { diff --git a/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 1c305e9787..36219f3656 100644 --- a/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/patches/server/0220-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ce1dcfa2f76245c6b243b030754c8b59cd5227e1..e37a4e8654f20eb9600d675eec7a2fbbb338cdc2 100644 +index 473b00fcc73097eab908b1dce198a96de38b5530..3ba4ff3712716daa584265b1132901fb30d39eaf 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2554,6 +2554,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2555,6 +2555,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (event.isCancelled()) { diff --git a/patches/server/0235-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0235-Break-up-and-make-tab-spam-limits-configurable.patch index 6e03bc9475..3aaf9f1d92 100644 --- a/patches/server/0235-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/patches/server/0235-Break-up-and-make-tab-spam-limits-configurable.patch @@ -22,10 +22,10 @@ to take the burden of this into their own hand without having to rely on plugins doing unsafe things. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e37a4e8654f20eb9600d675eec7a2fbbb338cdc2..974b74757551bc9ad94c7198783473bb72520712 100644 +index 3ba4ff3712716daa584265b1132901fb30d39eaf..39144beeb90554ccf39049f9bc334783ea28f825 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -263,6 +263,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -264,6 +264,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private long keepAliveChallenge; // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); @@ -33,7 +33,7 @@ index e37a4e8654f20eb9600d675eec7a2fbbb338cdc2..974b74757551bc9ad94c7198783473bb // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -411,6 +412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -412,6 +413,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.server.getProfiler().pop(); // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; @@ -41,7 +41,7 @@ index e37a4e8654f20eb9600d675eec7a2fbbb338cdc2..974b74757551bc9ad94c7198783473bb /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -787,7 +789,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -788,7 +790,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) { // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start diff --git a/patches/server/0240-Use-ConcurrentHashMap-in-JsonList.patch b/patches/server/0240-Use-ConcurrentHashMap-in-JsonList.patch index b9962beb23..50dab18954 100644 --- a/patches/server/0240-Use-ConcurrentHashMap-in-JsonList.patch +++ b/patches/server/0240-Use-ConcurrentHashMap-in-JsonList.patch @@ -23,10 +23,10 @@ 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 2f18121596b957202dfd8227b995ea0615ecf773..ab83fc7c8903ed4a71824c5dcc85b9764c6c5690 100644 +index c3c2d7a035e35135a422cfec3513b6a7a268e1e1..93ca3559c92e46352f7f2dcff3afbc08a476f372 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -639,7 +639,7 @@ public abstract class PlayerList { +@@ -640,7 +640,7 @@ public abstract class PlayerList { } else if (!this.isWhiteListed(gameprofile, event)) { // Paper //ichatmutablecomponent = Component.translatable("multiplayer.disconnect.not_whitelisted"); // Paper //event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(org.spigotmc.SpigotConfig.whitelistMessage)); // Spigot // Paper - Adventure - moved to isWhitelisted diff --git a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch index c288168594..49e30634f8 100644 --- a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index cd1a2796f8a16775f6fc5fd43d46a398711601ee..b133bb407b88d7bc3ab8cb2011e8ad9e65df4bcd 100644 +index bd2f49c8c6271497f5e54da5a3975ef632701e74..cb9352ac83107e61fe5cd3882f3e5ca558b87eaa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2808,6 +2808,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2810,6 +2810,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0255-Improve-death-events.patch b/patches/server/0255-Improve-death-events.patch index d633a6b104..e9b760c771 100644 --- a/patches/server/0255-Improve-death-events.patch +++ b/patches/server/0255-Improve-death-events.patch @@ -352,10 +352,10 @@ index e38cbdff34479673f1640c46d727f1a807a609c7..dbb4bfb3d1f1ce2e435ca531be36ea44 this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b133bb407b88d7bc3ab8cb2011e8ad9e65df4bcd..8fdc2b677ef881b28e49f9bf2b39db065ea3d014 100644 +index cb9352ac83107e61fe5cd3882f3e5ca558b87eaa..d8ca06e72a5534dcc7315f9e90d0806f05c14f7e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2311,7 +2311,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2313,7 +2313,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { diff --git a/patches/server/0275-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0275-Add-option-to-prevent-players-from-moving-into-unloa.patch index 4280f87eba..995f5253a3 100644 --- a/patches/server/0275-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/patches/server/0275-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ea9831f6915301a2c68b46fe0e8c981399fb01ae..e5c17c81b0265a9854a59779983f8af0e749dd99 100644 +index 39144beeb90554ccf39049f9bc334783ea28f825..a7465f6eaa8269d715be935b0de95d7dadd80fdd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -565,9 +565,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -566,9 +566,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic double d0 = entity.getX(); double d1 = entity.getY(); double d2 = entity.getZ(); @@ -22,7 +22,7 @@ index ea9831f6915301a2c68b46fe0e8c981399fb01ae..e5c17c81b0265a9854a59779983f8af0 float f = Mth.wrapDegrees(packet.getYRot()); float f1 = Mth.wrapDegrees(packet.getXRot()); double d6 = d3 - this.vehicleFirstGoodX; -@@ -602,6 +602,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -603,6 +603,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } speed *= 2f; // TODO: Get the speed of the vehicle instead of the player @@ -39,7 +39,7 @@ index ea9831f6915301a2c68b46fe0e8c981399fb01ae..e5c17c81b0265a9854a59779983f8af0 if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) { // CraftBukkit end ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8}); -@@ -1251,9 +1261,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1252,9 +1262,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.allowedPlayerTicks = 20; // CraftBukkit } else { this.awaitingTeleportTime = this.tickCount; @@ -52,7 +52,7 @@ index ea9831f6915301a2c68b46fe0e8c981399fb01ae..e5c17c81b0265a9854a59779983f8af0 float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot())); float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot())); -@@ -1309,6 +1319,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1310,6 +1320,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else { speed = this.player.getAbilities().walkingSpeed * 10f; } diff --git a/patches/server/0283-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0283-Don-t-allow-digging-into-unloaded-chunks.patch index d7f7abc362..aff2abfb0a 100644 --- a/patches/server/0283-Don-t-allow-digging-into-unloaded-chunks.patch +++ b/patches/server/0283-Don-t-allow-digging-into-unloaded-chunks.patch @@ -59,10 +59,10 @@ index 21401c872035d4dc46a05c066b321d99e0d94b72..618888eac8381b174850e351577601f1 this.level.destroyBlockProgress(this.player.getId(), pos, -1); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e5c17c81b0265a9854a59779983f8af0e749dd99..43304fd4aba9c5d3d31499b813c9c39934918cea 100644 +index a7465f6eaa8269d715be935b0de95d7dadd80fdd..ed7680eb0c50eabd5366e8d5b27d02223e6e8041 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1658,6 +1658,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1659,6 +1659,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic case START_DESTROY_BLOCK: case ABORT_DESTROY_BLOCK: case STOP_DESTROY_BLOCK: diff --git a/patches/server/0289-Book-Size-Limits.patch b/patches/server/0289-Book-Size-Limits.patch index 064858810e..03f54ae370 100644 --- a/patches/server/0289-Book-Size-Limits.patch +++ b/patches/server/0289-Book-Size-Limits.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Book Size Limits Puts some limits on the size of books. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 43304fd4aba9c5d3d31499b813c9c39934918cea..fc36fb064dc09ea97062fcb782422821ff24940b 100644 +index ed7680eb0c50eabd5366e8d5b27d02223e6e8041..8d26c0e0e5df49898e1ba4396d5b27eda6b5ce71 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1118,6 +1118,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1119,6 +1119,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 35e6d51ef3..83ac2e5030 100644 --- a/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -28,10 +28,10 @@ index dd729d17eadd8e8860bf2344a534534bf21c2619..35db7ee2aace8d7375a1474a849b78a1 public boolean queueHealthUpdatePacket = false; 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 ab83fc7c8903ed4a71824c5dcc85b9764c6c5690..c291339e448cb87c42b7daf5a3c67869c7412d0b 100644 +index 93ca3559c92e46352f7f2dcff3afbc08a476f372..c1c7dca57cc7a4db3061186fc502d9e36a6ea0a5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -186,6 +186,7 @@ public abstract class PlayerList { +@@ -187,6 +187,7 @@ public abstract class PlayerList { public void placeNewPlayer(Connection connection, ServerPlayer player) { player.isRealPlayer = true; // Paper @@ -106,10 +106,10 @@ index 69a1852905dd4724c30ac8ab88c14251eee2c371..17b3d5de58a9ef3acc67624c46cd6bbd public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 73e8083b3ab009904ff7bc2003dfb506ee481d4e..5d5823871ea23eae07facb5eecf1708430089b84 100644 +index d8ca06e72a5534dcc7315f9e90d0806f05c14f7e..9d9f889ef1f35122066bdf68631eabf6e5757435 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -178,6 +178,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -179,6 +179,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit @@ -117,7 +117,7 @@ index 73e8083b3ab009904ff7bc2003dfb506ee481d4e..5d5823871ea23eae07facb5eecf17084 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1923,6 +1924,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1925,6 +1926,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index 73e8083b3ab009904ff7bc2003dfb506ee481d4e..5d5823871ea23eae07facb5eecf17084 public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1945,6 +1958,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1947,6 +1960,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index 73e8083b3ab009904ff7bc2003dfb506ee481d4e..5d5823871ea23eae07facb5eecf17084 if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1959,6 +1974,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1961,6 +1976,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { data.putLong("firstPlayed", this.getFirstPlayed()); data.putLong("lastPlayed", System.currentTimeMillis()); data.putString("lastKnownName", handle.getScoreboardName()); diff --git a/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch index f8c9bfacc4..791cf9901b 100644 --- a/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5d5823871ea23eae07facb5eecf1708430089b84..da70f20983d3d000fa7731a1388c86a2fd087c4c 100644 +index 9d9f889ef1f35122066bdf68631eabf6e5757435..c5ee8eadf9966a7077c7790673a1a0582cf355f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2855,6 +2855,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2857,6 +2857,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0297-Implement-Brigadier-Mojang-API.patch b/patches/server/0297-Implement-Brigadier-Mojang-API.patch index 0ccb43fb15..6e35e47dbc 100644 --- a/patches/server/0297-Implement-Brigadier-Mojang-API.patch +++ b/patches/server/0297-Implement-Brigadier-Mojang-API.patch @@ -131,10 +131,10 @@ index 286dab2ed3c6b962c9702b8b10105e1456b04f7b..7d47e15468f59ce7bc25f692e9963a29 if (commandnode2.canUse(source)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fc36fb064dc09ea97062fcb782422821ff24940b..773170c5443dce6e64762e4504d222a5b5bb8ae3 100644 +index 8d26c0e0e5df49898e1ba4396d5b27eda6b5ce71..cafc68064ee88a741d7ae4962046717e8c92f81d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -830,8 +830,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -831,8 +831,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { @@ -149,7 +149,7 @@ index fc36fb064dc09ea97062fcb782422821ff24940b..773170c5443dce6e64762e4504d222a5 }); }); } -@@ -846,7 +850,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -847,7 +851,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic builder.suggest(completion.suggestion(), PaperAdventure.asVanilla(completion.tooltip())); } }); diff --git a/patches/server/0299-Limit-Client-Sign-length-more.patch b/patches/server/0299-Limit-Client-Sign-length-more.patch index c0264ab271..a814847476 100644 --- a/patches/server/0299-Limit-Client-Sign-length-more.patch +++ b/patches/server/0299-Limit-Client-Sign-length-more.patch @@ -22,10 +22,10 @@ it only impacts data sent from the client. Set -DPaper.maxSignLength=XX to change limit or -1 to disable diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 773170c5443dce6e64762e4504d222a5b5bb8ae3..d754c32b1c1c0cf56a690f3b699eb24a795765e4 100644 +index cafc68064ee88a741d7ae4962046717e8c92f81d..741d28d56a59776df5134a1b769aaa41fa76ec55 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -298,6 +298,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -299,6 +299,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private final MessageSignatureCache messageSignatureCache; private final FutureChain chatMessageChain; private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit @@ -33,7 +33,7 @@ index 773170c5443dce6e64762e4504d222a5b5bb8ae3..d754c32b1c1c0cf56a690f3b699eb24a public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); -@@ -3191,7 +3192,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3192,7 +3193,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleSignUpdate(ServerboundSignUpdatePacket packet) { diff --git a/patches/server/0303-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/patches/server/0303-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 1a49202e22..d8bd3965d9 100644 --- a/patches/server/0303-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/patches/server/0303-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 c291339e448cb87c42b7daf5a3c67869c7412d0b..9905d2174582b38913752c2e86e4d610baff181d 100644 +index c1c7dca57cc7a4db3061186fc502d9e36a6ea0a5..65b8adf4a905606ce44a4966ad817ba05156a533 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1147,6 +1147,7 @@ public abstract class PlayerList { +@@ -1148,6 +1148,7 @@ public abstract class PlayerList { } public void setUsingWhiteList(boolean whitelistEnabled) { diff --git a/patches/server/0304-Entity-getEntitySpawnReason.patch b/patches/server/0304-Entity-getEntitySpawnReason.patch index 4a245bb6c8..81b056a60f 100644 --- a/patches/server/0304-Entity-getEntitySpawnReason.patch +++ b/patches/server/0304-Entity-getEntitySpawnReason.patch @@ -22,10 +22,10 @@ index e46f18e342f2e682c4d5bbac22187a171df8eb33..58c1769ea15249df950a40e2f164e2ff // Paper start if (DEBUG_ENTITIES) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9905d2174582b38913752c2e86e4d610baff181d..84d2fb06513784e58a917d74c904433b381d2dbf 100644 +index 65b8adf4a905606ce44a4966ad817ba05156a533..7df1bd503f4aad4c8a4f6d2642139e1460a8df8a 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 { +@@ -224,6 +224,11 @@ public abstract class PlayerList { worldserver1 = worldserver; } @@ -37,7 +37,7 @@ index 9905d2174582b38913752c2e86e4d610baff181d..84d2fb06513784e58a917d74c904433b player.setLevel(worldserver1); String s1 = "local"; -@@ -363,7 +368,7 @@ public abstract class PlayerList { +@@ -364,7 +369,7 @@ public abstract class PlayerList { // CraftBukkit start ServerLevel finalWorldServer = worldserver1; Entity entity = EntityType.loadEntityRecursive(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> { diff --git a/patches/server/0306-Implement-PlayerPostRespawnEvent.patch b/patches/server/0306-Implement-PlayerPostRespawnEvent.patch index c5ccaf742f..4f814aaafc 100644 --- a/patches/server/0306-Implement-PlayerPostRespawnEvent.patch +++ b/patches/server/0306-Implement-PlayerPostRespawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerPostRespawnEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ef97fd5cb80626df1c2a3837641c9a06d6ad0390..fcac88d07fc4c74c8aca949954a08ae6580ad268 100644 +index 7df1bd503f4aad4c8a4f6d2642139e1460a8df8a..1bb2ea3dab8d978db4b90b9e719a7dfa27cc646f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -748,9 +748,14 @@ public abstract class PlayerList { +@@ -749,9 +749,14 @@ public abstract class PlayerList { boolean flag2 = false; @@ -24,7 +24,7 @@ index ef97fd5cb80626df1c2a3837641c9a06d6ad0390..fcac88d07fc4c74c8aca949954a08ae6 ServerLevel worldserver1 = this.server.getLevel(entityplayer.getRespawnDimension()); if (worldserver1 != null) { Optional optional; -@@ -802,6 +807,7 @@ public abstract class PlayerList { +@@ -803,6 +808,7 @@ public abstract class PlayerList { location = respawnEvent.getRespawnLocation(); if (!flag) entityplayer.reset(); // SPIGOT-4785 @@ -32,7 +32,7 @@ index ef97fd5cb80626df1c2a3837641c9a06d6ad0390..fcac88d07fc4c74c8aca949954a08ae6 } else { location.setWorld(worldserver.getWorld()); } -@@ -861,6 +867,13 @@ public abstract class PlayerList { +@@ -862,6 +868,13 @@ public abstract class PlayerList { if (entityplayer.connection.isDisconnected()) { this.save(entityplayer); } diff --git a/patches/server/0313-Fix-CB-call-to-changed-postToMainThread-method.patch b/patches/server/0313-Fix-CB-call-to-changed-postToMainThread-method.patch index 1de96778dc..570e5d8ec1 100644 --- a/patches/server/0313-Fix-CB-call-to-changed-postToMainThread-method.patch +++ b/patches/server/0313-Fix-CB-call-to-changed-postToMainThread-method.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d754c32b1c1c0cf56a690f3b699eb24a795765e4..cb776250920c68d8b8cc0baac804b83b1ec9376a 100644 +index 741d28d56a59776df5134a1b769aaa41fa76ec55..7ea67e64d7ec63c80bc8996983dccd513a425036 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -513,7 +513,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -514,7 +514,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Objects.requireNonNull(this.connection); // CraftBukkit - Don't wait diff --git a/patches/server/0324-Fix-MC-158900.patch b/patches/server/0324-Fix-MC-158900.patch index be7577b2be..8f0b2826e2 100644 --- a/patches/server/0324-Fix-MC-158900.patch +++ b/patches/server/0324-Fix-MC-158900.patch @@ -7,10 +7,10 @@ The problem was we were checking isExpired() on the entry, but if it was expired at that point, then it would be null. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fcac88d07fc4c74c8aca949954a08ae6580ad268..edbdd78ea15bac49d37e171b3ebc7f89ec54cbe6 100644 +index 1bb2ea3dab8d978db4b90b9e719a7dfa27cc646f..c334d750a1eac24474061de8e764d7366ada0578 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -632,8 +632,10 @@ public abstract class PlayerList { +@@ -633,8 +633,10 @@ public abstract class PlayerList { Player player = entity.getBukkitEntity(); PlayerLoginEvent event = new PlayerLoginEvent(player, loginlistener.connection.hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.connection.channel.remoteAddress()).getAddress()); diff --git a/patches/server/0326-Dont-send-unnecessary-sign-update.patch b/patches/server/0326-Dont-send-unnecessary-sign-update.patch index e19c8f9106..ee02c3ad22 100644 --- a/patches/server/0326-Dont-send-unnecessary-sign-update.patch +++ b/patches/server/0326-Dont-send-unnecessary-sign-update.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont send unnecessary sign update diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cb776250920c68d8b8cc0baac804b83b1ec9376a..34a969d8902f23d5ec3f8cc481b60c0fd74f8245 100644 +index 7ea67e64d7ec63c80bc8996983dccd513a425036..e4d65aff300c276d0968b9786ddc20ba63caca41 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3229,6 +3229,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3230,6 +3230,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!tileentitysign.isEditable() || !this.player.getUUID().equals(tileentitysign.getPlayerWhoMayEdit())) { ServerGamePacketListenerImpl.LOGGER.warn("Player {} just tried to change non-editable sign", this.player.getName().getString()); diff --git a/patches/server/0372-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0372-Optimize-Collision-to-not-load-chunks.patch index 0d1039331b..a2e830ff6e 100644 --- a/patches/server/0372-Optimize-Collision-to-not-load-chunks.patch +++ b/patches/server/0372-Optimize-Collision-to-not-load-chunks.patch @@ -14,10 +14,10 @@ movement will load only the chunk the player enters anyways and avoids loading massive amounts of surrounding chunks due to large AABB lookups. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index edbdd78ea15bac49d37e171b3ebc7f89ec54cbe6..56a8c90d3bf0e860acbabcd45957f51f8431317f 100644 +index c334d750a1eac24474061de8e764d7366ada0578..54028d2702e2f168717f5492e7e1f4d4ef2bc778 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -817,6 +817,7 @@ public abstract class PlayerList { +@@ -818,6 +818,7 @@ public abstract class PlayerList { entityplayer1.forceSetPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); // CraftBukkit end diff --git a/patches/server/0373-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0373-Don-t-move-existing-players-to-world-spawn.patch index 2af58f5c96..1ddfb5e09f 100644 --- a/patches/server/0373-Don-t-move-existing-players-to-world-spawn.patch +++ b/patches/server/0373-Don-t-move-existing-players-to-world-spawn.patch @@ -35,10 +35,10 @@ index 52ee3440b09b227bf1f488f374a0e282690f6ba4..007513080938a8d0cf43c050ef4e1132 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 c3f46b59839c68f03a0468ce7a471cfa2504b23d..cb5921dac91cb52dbd0687c6783595b054c13bdb 100644 +index 54028d2702e2f168717f5492e7e1f4d4ef2bc778..90631dcce9e102d9aa1b3f92078b762633b5cf40 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 { +@@ -227,6 +227,7 @@ public abstract class PlayerList { // Paper start if (nbttagcompound == null) { player.spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT; // set Player SpawnReason to DEFAULT on first login diff --git a/patches/server/0375-Improved-Watchdog-Support.patch b/patches/server/0375-Improved-Watchdog-Support.patch index 9ca427610e..f657c9252f 100644 --- a/patches/server/0375-Improved-Watchdog-Support.patch +++ b/patches/server/0375-Improved-Watchdog-Support.patch @@ -269,10 +269,10 @@ index f22c50f0a2ef05e9f52550db7c40b5b99632650c..549ea8e0fe702615eefcbfd1cd6a30e0 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ac8882d0d2939bd6e59dc4e08bc1efc88a580360..a58731d04581409eb322a327008a20ea64a03d89 100644 +index 90631dcce9e102d9aa1b3f92078b762633b5cf40..5c2105528b8e1820b3cc6379b27d363e267b6a7b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -537,7 +537,7 @@ public abstract class PlayerList { +@@ -538,7 +538,7 @@ public abstract class PlayerList { this.cserver.getPluginManager().callEvent(playerQuitEvent); entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); @@ -318,7 +318,7 @@ index 703830416a0483e960643bee269fe01e170112bd..ee1c9f2c8dd30b3f32a6d49aa1c43148 final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ()); net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 7a0adf528be779241759d1efd818b0e57454a258..d7a98afeadc090281fdb24b27619536f318c2383 100644 +index 8a7261bcda3fd436b12eae2877abb5ee1c45dbde..3522b9556fea11395b9951ef7265912ccaa70a55 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -178,6 +178,36 @@ public class Main { diff --git a/patches/server/0381-Implement-Player-Client-Options-API.patch b/patches/server/0381-Implement-Player-Client-Options-API.patch index f00586d28f..040a041908 100644 --- a/patches/server/0381-Implement-Player-Client-Options-API.patch +++ b/patches/server/0381-Implement-Player-Client-Options-API.patch @@ -116,10 +116,10 @@ index 71fac1a579b375759462b843d9ef7c8a2a463db5..2d54f2abae82521fbd34aa046f26ec8e if (getMainArm() != packet.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a6ac9a628cbfeb021934221105a6a193bef61f56..69d4554bb79da980acc4d5de8c00d331f3bd4fea 100644 +index c5ee8eadf9966a7077c7790673a1a0582cf355f6..23c489dc297073acb4e119c97c0eb5e0871a1359 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -622,6 +622,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -623,6 +623,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message); } } diff --git a/patches/server/0383-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/patches/server/0383-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch index 457c45503d..3906b0fa27 100644 --- a/patches/server/0383-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch +++ b/patches/server/0383-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch @@ -55,10 +55,10 @@ index 2d54f2abae82521fbd34aa046f26ec8e72df8362..e465e3e45eeeecc31dafc1f04505c04e public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // 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 a58731d04581409eb322a327008a20ea64a03d89..b3ef5b9cb279cf44178536564e431ea29ba9433f 100644 +index 5c2105528b8e1820b3cc6379b27d363e267b6a7b..a0832d8e8b9e91073c15e5a87953d6ccee544ae0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -301,6 +301,12 @@ public abstract class PlayerList { +@@ -302,6 +302,12 @@ public abstract class PlayerList { this.playersByUUID.put(player.getUUID(), player); // this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below @@ -71,7 +71,7 @@ index a58731d04581409eb322a327008a20ea64a03d89..b3ef5b9cb279cf44178536564e431ea2 // CraftBukkit start CraftPlayer bukkitPlayer = player.getBukkitEntity(); -@@ -339,6 +345,8 @@ public abstract class PlayerList { +@@ -340,6 +346,8 @@ public abstract class PlayerList { player.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer1))); } player.sentListPacket = true; @@ -80,7 +80,7 @@ index a58731d04581409eb322a327008a20ea64a03d89..b3ef5b9cb279cf44178536564e431ea2 // CraftBukkit end player.getEntityData().refresh(player); // CraftBukkit - BungeeCord#2321, send complete data to self on spawn -@@ -364,6 +372,11 @@ public abstract class PlayerList { +@@ -365,6 +373,11 @@ public abstract class PlayerList { playerconnection.send(new ClientboundUpdateMobEffectPacket(player.getId(), mobeffect)); } @@ -92,7 +92,7 @@ index a58731d04581409eb322a327008a20ea64a03d89..b3ef5b9cb279cf44178536564e431ea2 if (nbttagcompound != null && nbttagcompound.contains("RootVehicle", 10)) { CompoundTag nbttagcompound1 = nbttagcompound.getCompound("RootVehicle"); // CraftBukkit start -@@ -412,6 +425,10 @@ public abstract class PlayerList { +@@ -413,6 +426,10 @@ public abstract class PlayerList { } } @@ -103,7 +103,7 @@ index a58731d04581409eb322a327008a20ea64a03d89..b3ef5b9cb279cf44178536564e431ea2 player.initInventoryMenu(); // CraftBukkit - Moved from above, added world // Paper start - Add to collideRule team if needed -@@ -421,6 +438,7 @@ public abstract class PlayerList { +@@ -422,6 +439,7 @@ public abstract class PlayerList { scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam); } // Paper end diff --git a/patches/server/0390-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0390-Validate-PickItem-Packet-and-kick-for-invalid.patch index 695f489be5..27ca3fd900 100644 --- a/patches/server/0390-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ b/patches/server/0390-Validate-PickItem-Packet-and-kick-for-invalid.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 34a969d8902f23d5ec3f8cc481b60c0fd74f8245..8d45c4fb59b7c570418506955b4f00876921b7c2 100644 +index e4d65aff300c276d0968b9786ddc20ba63caca41..2a35bedae3682126b365c6fd56b0db5febd7fccb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -957,7 +957,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -958,7 +958,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handlePickItem(ServerboundPickItemPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); diff --git a/patches/server/0395-Prevent-teleporting-dead-entities.patch b/patches/server/0395-Prevent-teleporting-dead-entities.patch index 926baf59c5..d77878af20 100644 --- a/patches/server/0395-Prevent-teleporting-dead-entities.patch +++ b/patches/server/0395-Prevent-teleporting-dead-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent teleporting dead entities diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8d45c4fb59b7c570418506955b4f00876921b7c2..526e06bf895eb1b57e30df8c4c46aba885fad5d2 100644 +index 2a35bedae3682126b365c6fd56b0db5febd7fccb..fb292133ca77305d91acdded78d11f5118b5f282 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1611,6 +1611,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1612,6 +1612,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set set) { // Paper diff --git a/patches/server/0420-Prevent-position-desync-in-playerconnection-causing-.patch b/patches/server/0420-Prevent-position-desync-in-playerconnection-causing-.patch index 82d5480e66..3b98149148 100644 --- a/patches/server/0420-Prevent-position-desync-in-playerconnection-causing-.patch +++ b/patches/server/0420-Prevent-position-desync-in-playerconnection-causing-.patch @@ -14,10 +14,10 @@ behaviour, we need to move all of this dangerous logic outside of the move call and into an appropriate place in the tick method. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 526e06bf895eb1b57e30df8c4c46aba885fad5d2..ce04df03f0cb2578e78cdb5bb72794815661c337 100644 +index fb292133ca77305d91acdded78d11f5118b5f282..8fbb4a73968e2a6694294997f99dfe40fd7a09b2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1436,6 +1436,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1437,6 +1437,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.move(MoverType.PLAYER, new Vec3(d7, d8, d9)); this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move diff --git a/patches/server/0423-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/server/0423-Add-and-implement-PlayerRecipeBookClickEvent.patch index f7547c5710..70154b87a0 100644 --- a/patches/server/0423-Add-and-implement-PlayerRecipeBookClickEvent.patch +++ b/patches/server/0423-Add-and-implement-PlayerRecipeBookClickEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ce04df03f0cb2578e78cdb5bb72794815661c337..ad584ebfb69a76eb84a56baefa5fb8ee884b743d 100644 +index 8fbb4a73968e2a6694294997f99dfe40fd7a09b2..29254fe0d4a4fef5062a21773afea707d48a5538 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3107,9 +3107,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3108,9 +3108,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!this.player.containerMenu.stillValid(this.player)) { ServerGamePacketListenerImpl.LOGGER.debug("Player {} interacted with invalid menu {}", this.player, this.player.containerMenu); } else { diff --git a/patches/server/0425-Add-permission-for-command-blocks.patch b/patches/server/0425-Add-permission-for-command-blocks.patch index 28fc2c3978..fc38dc20f1 100644 --- a/patches/server/0425-Add-permission-for-command-blocks.patch +++ b/patches/server/0425-Add-permission-for-command-blocks.patch @@ -18,10 +18,10 @@ index 051cbce8394c7a629a7ea8ac422308d96bbad6a6..52d71b08c8338254a0e50780363155da return false; } else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ad584ebfb69a76eb84a56baefa5fb8ee884b743d..77f502c279ec471d65f6cc007d2bc08e3b34d79a 100644 +index 29254fe0d4a4fef5062a21773afea707d48a5538..bd021ff4a5e3bd5dde2829718c0f57d9fc9aa93d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -868,7 +868,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -869,7 +869,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (!this.server.isCommandBlockEnabled()) { this.player.sendSystemMessage(Component.translatable("advMode.notEnabled")); @@ -30,7 +30,7 @@ index ad584ebfb69a76eb84a56baefa5fb8ee884b743d..77f502c279ec471d65f6cc007d2bc08e this.player.sendSystemMessage(Component.translatable("advMode.notAllowed")); } else { BaseCommandBlock commandblocklistenerabstract = null; -@@ -935,7 +935,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -936,7 +936,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (!this.server.isCommandBlockEnabled()) { this.player.sendSystemMessage(Component.translatable("advMode.notEnabled")); diff --git a/patches/server/0427-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0427-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index 379ebe0dd4..d424f26780 100644 --- a/patches/server/0427-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0427-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -89,10 +89,10 @@ index 5be828ad63184ee01519ef937e98f621a4e83dee..d560e5dee586bb3b501e9a78083b9aa9 playerlist.sendPlayerPermissionLevel(this); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 77f502c279ec471d65f6cc007d2bc08e3b34d79a..1517c09ccd95448cb0fce0f9ffbb7bd2e704113b 100644 +index bd021ff4a5e3bd5dde2829718c0f57d9fc9aa93d..807cbeb8cc6700e5f740b554c7f1893ec9110714 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3382,7 +3382,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3383,7 +3383,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) { @@ -102,7 +102,7 @@ index 77f502c279ec471d65f6cc007d2bc08e3b34d79a..1517c09ccd95448cb0fce0f9ffbb7bd2 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fcf43140189efb93e77807a2a6bb982132fef787..777f114e9cb0cfa3633b9a89116be1c73d552065 100644 +index e2b5eb02f9d91128c702eb85ad85e47bd6080e02..a461cc5c20287d9dfd2b32323f41cff97b205d1d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -941,8 +941,8 @@ public final class CraftServer implements Server { diff --git a/patches/server/0432-incremental-chunk-and-player-saving.patch b/patches/server/0432-incremental-chunk-and-player-saving.patch index 10ddb37d0f..a35325e8ef 100644 --- a/patches/server/0432-incremental-chunk-and-player-saving.patch +++ b/patches/server/0432-incremental-chunk-and-player-saving.patch @@ -127,10 +127,10 @@ index d560e5dee586bb3b501e9a78083b9aa961c48fc5..ce6ae0ec4d104929f2c3fe03b0f44eaf private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; public ServerGamePacketListenerImpl connection; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b3ef5b9cb279cf44178536564e431ea29ba9433f..b553d739d025e2017532f1cab9e21a24a1fa898a 100644 +index a0832d8e8b9e91073c15e5a87953d6ccee544ae0..6837054dc812b249db0dc975dc8f5506437260f4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -525,6 +525,7 @@ public abstract class PlayerList { +@@ -526,6 +526,7 @@ public abstract class PlayerList { protected void save(ServerPlayer player) { if (!player.getBukkitEntity().isPersistent()) return; // CraftBukkit @@ -138,7 +138,7 @@ index b3ef5b9cb279cf44178536564e431ea29ba9433f..b553d739d025e2017532f1cab9e21a24 this.playerIo.save(player); ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit -@@ -1115,10 +1116,22 @@ public abstract class PlayerList { +@@ -1116,10 +1117,22 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/server/0443-Spawn-player-in-correct-world-on-login.patch b/patches/server/0443-Spawn-player-in-correct-world-on-login.patch index 442759e79d..95b54f8c30 100644 --- a/patches/server/0443-Spawn-player-in-correct-world-on-login.patch +++ b/patches/server/0443-Spawn-player-in-correct-world-on-login.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Spawn player in correct world on login diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 68701c1de6d7060f65648b1404209e8c9891fccc..75ff056a8e68a1286ef6bd7fec841721951e1344 100644 +index 6837054dc812b249db0dc975dc8f5506437260f4..00551e6718d4e672f3d6758d1d7aabacc5b6239c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -202,7 +202,18 @@ public abstract class PlayerList { +@@ -203,7 +203,18 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/server/0449-Fix-SPIGOT-5989.patch b/patches/server/0449-Fix-SPIGOT-5989.patch index cad6368c58..e99dded438 100644 --- a/patches/server/0449-Fix-SPIGOT-5989.patch +++ b/patches/server/0449-Fix-SPIGOT-5989.patch @@ -10,10 +10,10 @@ 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 eb2f861d107a81a6c8e4de2668a886a29eff141e..4c4e7c7f2dba3a8f219a5d41ca727e0a3251f341 100644 +index 00551e6718d4e672f3d6758d1d7aabacc5b6239c..19f525543e95a1b8de2ad3da45724969705e9c15 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -784,6 +784,7 @@ public abstract class PlayerList { +@@ -785,6 +785,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; boolean isRespawn = false; @@ -21,7 +21,7 @@ index eb2f861d107a81a6c8e4de2668a886a29eff141e..4c4e7c7f2dba3a8f219a5d41ca727e0a // Paper end // CraftBukkit start - fire PlayerRespawnEvent -@@ -794,7 +795,7 @@ public abstract class PlayerList { +@@ -795,7 +796,7 @@ public abstract class PlayerList { Optional optional; if (blockposition != null) { @@ -30,7 +30,7 @@ index eb2f861d107a81a6c8e4de2668a886a29eff141e..4c4e7c7f2dba3a8f219a5d41ca727e0a } else { optional = Optional.empty(); } -@@ -838,7 +839,12 @@ public abstract class PlayerList { +@@ -839,7 +840,12 @@ public abstract class PlayerList { } // Spigot End @@ -44,7 +44,7 @@ index eb2f861d107a81a6c8e4de2668a886a29eff141e..4c4e7c7f2dba3a8f219a5d41ca727e0a if (!flag) entityplayer.reset(); // SPIGOT-4785 isRespawn = true; // Paper } else { -@@ -878,8 +884,14 @@ public abstract class PlayerList { +@@ -879,8 +885,14 @@ public abstract class PlayerList { } // entityplayer1.initInventoryMenu(); entityplayer1.setHealth(entityplayer1.getHealth()); diff --git a/patches/server/0456-Brand-support.patch b/patches/server/0456-Brand-support.patch index 4bfd3f853c..ddcc150c59 100644 --- a/patches/server/0456-Brand-support.patch +++ b/patches/server/0456-Brand-support.patch @@ -5,10 +5,10 @@ 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 1517c09ccd95448cb0fce0f9ffbb7bd2e704113b..221a695acf3cbeaeaf9eda818b6cf80987d7a994 100644 +index 807cbeb8cc6700e5f740b554c7f1893ec9110714..f6733db4d81c8dda5650f067b56354ae4ed32626 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -300,6 +300,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -301,6 +301,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper @@ -17,7 +17,7 @@ index 1517c09ccd95448cb0fce0f9ffbb7bd2e704113b..221a695acf3cbeaeaf9eda818b6cf809 public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); this.lastSeenMessages = new LastSeenMessagesValidator(20); -@@ -3337,6 +3339,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3338,6 +3340,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register"); private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); @@ -26,7 +26,7 @@ index 1517c09ccd95448cb0fce0f9ffbb7bd2e704113b..221a695acf3cbeaeaf9eda818b6cf809 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); -@@ -3364,6 +3368,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3365,6 +3369,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic try { byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); @@ -42,7 +42,7 @@ index 1517c09ccd95448cb0fce0f9ffbb7bd2e704113b..221a695acf3cbeaeaf9eda818b6cf809 this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); -@@ -3373,6 +3386,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3374,6 +3387,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } @@ -56,10 +56,10 @@ index 1517c09ccd95448cb0fce0f9ffbb7bd2e704113b..221a695acf3cbeaeaf9eda818b6cf809 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 99ebc5c686b295c0c66f0073e2ede10a79b80f5c..cefac7bf8a7a73f3d195d9ed66d82f0e94462c5c 100644 +index 23c489dc297073acb4e119c97c0eb5e0871a1359..7e367fe3b5fd6bf91906eb32a162fbf44c1db43f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2982,6 +2982,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2984,6 +2984,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0457-Add-setMaxPlayers-API.patch b/patches/server/0457-Add-setMaxPlayers-API.patch index f5a6250957..18e0dabfbc 100644 --- a/patches/server/0457-Add-setMaxPlayers-API.patch +++ b/patches/server/0457-Add-setMaxPlayers-API.patch @@ -5,10 +5,10 @@ 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 391375642822d95f6d874a26d41b27ec4f4b8c08..b6cfea5de71d85c76a9ed6d10b9dd16d3d66f4d8 100644 +index 19f525543e95a1b8de2ad3da45724969705e9c15..162b09cda517afe3b87321a4fe871c183db37621 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -152,7 +152,7 @@ public abstract class PlayerList { +@@ -153,7 +153,7 @@ public abstract class PlayerList { private boolean doWhiteList; private final LayeredRegistryAccess registries; private final RegistryAccess.Frozen synchronizedRegistries; @@ -18,7 +18,7 @@ index 391375642822d95f6d874a26d41b27ec4f4b8c08..b6cfea5de71d85c76a9ed6d10b9dd16d private int simulationDistance; private boolean allowCheatsForAllPlayers; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2f978b0c5721b0cf145d324e6c7551d8f0c1eccf..7971be6c5e9daa6d7f206aafac7479bd5cc0aad5 100644 +index cc728b3ec69dcd92d5c4ed97805bcbd5bcd2d3e3..af0e06a47173688b950ed4d376b23dc71854fd7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -664,6 +664,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index eeb5e39aa3..2839d758fe 100644 --- a/patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,10 +9,10 @@ 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 221a695acf3cbeaeaf9eda818b6cf80987d7a994..ed16292b121aeaee5ad439176af57841281e293d 100644 +index f6733db4d81c8dda5650f067b56354ae4ed32626..791446f9b22d60bd7dbb632ca92442848d1c28e9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -750,7 +750,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -751,7 +751,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } @@ -21,7 +21,7 @@ index 221a695acf3cbeaeaf9eda818b6cf80987d7a994..ed16292b121aeaee5ad439176af57841 this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1655,7 +1655,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1656,7 +1656,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit end this.awaitingTeleportTime = this.tickCount; @@ -31,7 +31,7 @@ index 221a695acf3cbeaeaf9eda818b6cf80987d7a994..ed16292b121aeaee5ad439176af57841 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4d62f7f88dfaedfbde598515a1e77716d0ee4a1b..6db716a0b510e88551d532b382c8adb896edeae6 100644 +index b69615eafcee963862cb3671888dcf8ec5114fe5..a3d547d9fed7e2c9f344aa467f287ba46c4cb338 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -158,6 +158,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0484-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0484-Fix-for-large-move-vectors-crashing-server.patch index 4b010dd3cf..aac2433b76 100644 --- a/patches/server/0484-Fix-for-large-move-vectors-crashing-server.patch +++ b/patches/server/0484-Fix-for-large-move-vectors-crashing-server.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix for large move vectors crashing server Check movement distance also based on current position. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ed16292b121aeaee5ad439176af57841281e293d..459403f9c8a784c3911d5ba163a2c90efef00e9f 100644 +index 791446f9b22d60bd7dbb632ca92442848d1c28e9..0a06cdcccbdf503814386c27a8fb614da671c441 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -565,9 +565,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -566,9 +566,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (entity != this.player && entity.getControllingPassenger() == this.player && entity == this.lastVehicle) { ServerLevel worldserver = this.player.getLevel(); @@ -22,7 +22,7 @@ index ed16292b121aeaee5ad439176af57841281e293d..459403f9c8a784c3911d5ba163a2c90e double d3 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX()); final double toX = d3; // Paper - OBFHELPER double d4 = ServerGamePacketListenerImpl.clampVertical(packet.getY()); final double toY = d4; // Paper - OBFHELPER double d5 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ()); final double toZ = d5; // Paper - OBFHELPER -@@ -577,8 +577,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -578,8 +578,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic double d7 = d4 - this.vehicleFirstGoodY; double d8 = d5 - this.vehicleFirstGoodZ; double d9 = entity.getDeltaMovement().lengthSqr(); @@ -44,7 +44,7 @@ index ed16292b121aeaee5ad439176af57841281e293d..459403f9c8a784c3911d5ba163a2c90e // CraftBukkit start - handle custom speeds and skipped ticks this.allowedPlayerTicks += (System.currentTimeMillis() / 50) - this.lastTick; -@@ -624,9 +635,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -625,9 +636,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag = worldserver.noCollision(entity, entity.getBoundingBox().deflate(0.0625D)); @@ -57,7 +57,7 @@ index ed16292b121aeaee5ad439176af57841281e293d..459403f9c8a784c3911d5ba163a2c90e boolean flag1 = entity.verticalCollisionBelow; entity.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); -@@ -1346,7 +1357,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1347,7 +1358,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic double d8 = d1 - this.firstGoodY; double d9 = d2 - this.firstGoodZ; double d10 = this.player.getDeltaMovement().lengthSqr(); @@ -77,7 +77,7 @@ index ed16292b121aeaee5ad439176af57841281e293d..459403f9c8a784c3911d5ba163a2c90e if (this.player.isSleeping()) { if (d11 > 1.0D) { -@@ -1398,9 +1420,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1399,9 +1421,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = this.player.getBoundingBox(); diff --git a/patches/server/0490-Player-elytra-boost-API.patch b/patches/server/0490-Player-elytra-boost-API.patch index 8785d0e65e..bf3a1f11ae 100644 --- a/patches/server/0490-Player-elytra-boost-API.patch +++ b/patches/server/0490-Player-elytra-boost-API.patch @@ -5,10 +5,10 @@ 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 9402f57ae6cf4316b55af93d879e770bff1cfc3d..bea687c7a4f48078e0cf3c7a2e8b1cc7371ad4ae 100644 +index 7e367fe3b5fd6bf91906eb32a162fbf44c1db43f..18a68cff843175f6ab1db3028ec80ef64c9128aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -644,6 +644,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -645,6 +645,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } throw new RuntimeException("Unknown settings type"); } diff --git a/patches/server/0500-Add-API-for-quit-reason.patch b/patches/server/0500-Add-API-for-quit-reason.patch index 1c5caa5e2b..c5b7d5c960 100644 --- a/patches/server/0500-Add-API-for-quit-reason.patch +++ b/patches/server/0500-Add-API-for-quit-reason.patch @@ -37,10 +37,10 @@ index ce6ae0ec4d104929f2c3fe03b0f44eafbfec1d9a..e746d6f303c5df3ec367963c4335304f public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 459403f9c8a784c3911d5ba163a2c90efef00e9f..7ffe3a9978d58831fe2f01c3b19dfd8bef29f556 100644 +index 0a06cdcccbdf503814386c27a8fb614da671c441..d68db0fc61be13b5970a3c3c8e4b870cd3b2a316 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -505,6 +505,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -506,6 +506,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic final Component ichatbasecomponent = PaperAdventure.asVanilla(event.reason()); // Paper - Adventure // CraftBukkit end @@ -49,10 +49,10 @@ index 459403f9c8a784c3911d5ba163a2c90efef00e9f..7ffe3a9978d58831fe2f01c3b19dfd8b 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 e9650927ad7b74d796efd928d396e9923699f703..7e40da6f44b9e1ce4a4d860ba6349675ce69f6c4 100644 +index 162b09cda517afe3b87321a4fe871c183db37621..0df62830f211f96e9341f618282c6cb5834d76aa 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -563,7 +563,7 @@ public abstract class PlayerList { +@@ -564,7 +564,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/server/0502-Expose-world-spawn-angle.patch b/patches/server/0502-Expose-world-spawn-angle.patch index 465b6cf0b1..7167e0de7a 100644 --- a/patches/server/0502-Expose-world-spawn-angle.patch +++ b/patches/server/0502-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 7e40da6f44b9e1ce4a4d860ba6349675ce69f6c4..1d458a6d5c3b93d8823fd37ed23027f1e4dc4769 100644 +index 0df62830f211f96e9341f618282c6cb5834d76aa..bdd87da66db5febfb4e1f69d8c5f75fd28c23ea1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -827,7 +827,7 @@ public abstract class PlayerList { +@@ -828,7 +828,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); diff --git a/patches/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index ae95bf1ca6..5e4bab51f9 100644 --- a/patches/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0504-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 f84962620f6800977dcb105eeb13b86bd8f14480..a82e1f7230e8d39f264e6a84336d88747e40b23b 100644 +index 18a68cff843175f6ab1db3028ec80ef64c9128aa..82214da046992ce5aafb3e005068952fe57664f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2504,7 +2504,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2506,7 +2506,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/0513-Limit-recipe-packets.patch b/patches/server/0513-Limit-recipe-packets.patch index 3d954e52ee..5d490eac2c 100644 --- a/patches/server/0513-Limit-recipe-packets.patch +++ b/patches/server/0513-Limit-recipe-packets.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Limit recipe packets diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7ffe3a9978d58831fe2f01c3b19dfd8bef29f556..94e03cdbe9e5aa10c1a302bd23fefd6d2b844f35 100644 +index d68db0fc61be13b5970a3c3c8e4b870cd3b2a316..1a7e3049bf7fa16e31748d5acbb14cdcee65379c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -264,6 +264,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits @@ -16,7 +16,7 @@ index 7ffe3a9978d58831fe2f01c3b19dfd8bef29f556..94e03cdbe9e5aa10c1a302bd23fefd6d // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -416,6 +417,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -417,6 +418,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; if (tabSpamLimiter.get() > 0) tabSpamLimiter.getAndDecrement(); // Paper - split to seperate variable @@ -24,7 +24,7 @@ index 7ffe3a9978d58831fe2f01c3b19dfd8bef29f556..94e03cdbe9e5aa10c1a302bd23fefd6d /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -3126,6 +3128,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3127,6 +3129,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch index abc742aae8..8eb2dd015e 100644 --- a/patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch +++ b/patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix interact event not being called in adventure Call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 94e03cdbe9e5aa10c1a302bd23fefd6d2b844f35..3fe0dd121d4eb2072bc996a65ea4ea44fa4bf646 100644 +index 1a7e3049bf7fa16e31748d5acbb14cdcee65379c..690b84fc73a6de4aa4d420c6790a5ee5864042cb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1833,7 +1833,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1834,7 +1834,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); this.player.sendSystemMessage(ichatmutablecomponent, true); @@ -18,7 +18,7 @@ index 94e03cdbe9e5aa10c1a302bd23fefd6d2b844f35..3fe0dd121d4eb2072bc996a65ea4ea44 this.player.swing(enumhand, true); } } -@@ -2463,7 +2463,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2464,7 +2464,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time org.bukkit.util.RayTraceResult result = this.player.level.getWorld().rayTrace(origin, origin.getDirection(), d3, org.bukkit.FluidCollisionMode.NEVER, false, 0.1, entity -> entity != this.player.getBukkitEntity() && this.player.getBukkitEntity().canSee(entity)); diff --git a/patches/server/0544-Fix-villager-boat-exploit.patch b/patches/server/0544-Fix-villager-boat-exploit.patch index c751b6e2bf..69d365aedf 100644 --- a/patches/server/0544-Fix-villager-boat-exploit.patch +++ b/patches/server/0544-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 1d458a6d5c3b93d8823fd37ed23027f1e4dc4769..22f362143f7c01742dd07220dac5ea3dc691d43c 100644 +index bdd87da66db5febfb4e1f69d8c5f75fd28c23ea1..8184c987ecb91a11b260d89a4807ddfcb1f9aaf8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -588,6 +588,14 @@ public abstract class PlayerList { +@@ -589,6 +589,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { diff --git a/patches/server/0545-Add-sendOpLevel-API.patch b/patches/server/0545-Add-sendOpLevel-API.patch index 8b7933fc06..ad17fdc03f 100644 --- a/patches/server/0545-Add-sendOpLevel-API.patch +++ b/patches/server/0545-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 22f362143f7c01742dd07220dac5ea3dc691d43c..e3631616f04c3051b306fbdf49138b50a00abae2 100644 +index 8184c987ecb91a11b260d89a4807ddfcb1f9aaf8..a6a58b9f9c3ae4acac374e4a29b41178aa0dec00 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1076,6 +1076,11 @@ public abstract class PlayerList { +@@ -1077,6 +1077,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index 22f362143f7c01742dd07220dac5ea3dc691d43c..e3631616f04c3051b306fbdf49138b50 if (player.connection != null) { byte b0; -@@ -1090,8 +1095,10 @@ public abstract class PlayerList { +@@ -1091,8 +1096,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,10 +32,10 @@ index 22f362143f7c01742dd07220dac5ea3dc691d43c..e3631616f04c3051b306fbdf49138b50 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 69f1c668cb303d30bb228e7f79f5df462b791b2c..43d204c7013150b8525b7d0106edac6d0611d723 100644 +index 82214da046992ce5aafb3e005068952fe57664f7..0ec560d6b9d96055591019397a45c2885d6ca2ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -658,6 +658,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -659,6 +659,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; } diff --git a/patches/server/0574-fix-converting-txt-to-json-file.patch b/patches/server/0574-fix-converting-txt-to-json-file.patch index b718422d67..9515f522b3 100644 --- a/patches/server/0574-fix-converting-txt-to-json-file.patch +++ b/patches/server/0574-fix-converting-txt-to-json-file.patch @@ -48,10 +48,10 @@ index 520cd1a6b347687b2ec6d13f034be391d1a1af85..cc885fd0eb19516d3864a43c2e4ae785 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 a697583cbfb50230771a58feed7d1e9d13320961..88deb7961f64976e16d1b42c6a798665a4fa59e6 100644 +index a6a58b9f9c3ae4acac374e4a29b41178aa0dec00..b88f0c64d3509550c699f21505118312f88ff71d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -183,6 +183,7 @@ public abstract class PlayerList { +@@ -184,6 +184,7 @@ public abstract class PlayerList { this.maxPlayers = maxPlayers; this.playerIo = saveHandler; } diff --git a/patches/server/0580-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0580-Allow-using-signs-inside-spawn-protection.patch index a0fd0cef1f..4e24918114 100644 --- a/patches/server/0580-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0580-Allow-using-signs-inside-spawn-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3fe0dd121d4eb2072bc996a65ea4ea44fa4bf646..b4acf8f26b7ac24ec6f7917af1d9e4dd6079310f 100644 +index 690b84fc73a6de4aa4d420c6790a5ee5864042cb..1a256066b7836f6ad3fa33e5bb51222f3a69e50f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1825,7 +1825,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1826,7 +1826,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int i = this.player.level.getMaxBuildHeight(); if (blockposition.getY() < i) { diff --git a/patches/server/0585-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0585-Drop-carried-item-when-player-has-disconnected.patch index 116085ef07..01fc54e62f 100644 --- a/patches/server/0585-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0585-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 3eb3dbe7557fb5e048be6fe2fee92e4d7653a05f..b0fabcf2435a8b89d52fbea29a20bd64e91c046c 100644 +index b88f0c64d3509550c699f21505118312f88ff71d..fa195977aa53fcaea0e9873a484148efad51aefc 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -581,6 +581,14 @@ public abstract class PlayerList { +@@ -582,6 +582,14 @@ public abstract class PlayerList { } // Paper end diff --git a/patches/server/0587-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0587-Don-t-ignore-result-of-PlayerEditBookEvent.patch index 5e90cb3220..96af2da429 100644 --- a/patches/server/0587-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0587-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b4acf8f26b7ac24ec6f7917af1d9e4dd6079310f..dff78eb3337b2dbf08eaf52f2a90dffd73663d2a 100644 +index 1a256066b7836f6ad3fa33e5bb51222f3a69e50f..9b25fe41cf4734ec677a69d1f41bcb2dad6f1fde 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1284,7 +1284,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1285,7 +1285,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } itemstack.addTagElement("pages", nbttaglist); diff --git a/patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch index 5cdd0b1b89..cec4a16aa5 100644 --- a/patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dff78eb3337b2dbf08eaf52f2a90dffd73663d2a..f81fb4c4e5d2681b16e6b6c2fb32363a312d3bff 100644 +index 9b25fe41cf4734ec677a69d1f41bcb2dad6f1fde..2ac2390b572c223e8c35a24e8f0978d39da148cc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2039,6 +2039,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2040,6 +2040,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (this.player.isImmobile()) return; // CraftBukkit if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) { diff --git a/patches/server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch index 7613ac97a1..8dfb327fc3 100644 --- a/patches/server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch +++ b/patches/server/0603-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 b0fabcf2435a8b89d52fbea29a20bd64e91c046c..4fd660d95a525c1ede5151adc3556e55470cc7f1 100644 +index fa195977aa53fcaea0e9873a484148efad51aefc..116a52b29beefce65e875a35ddae6caf255b7b54 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -800,6 +800,7 @@ public abstract class PlayerList { +@@ -801,6 +801,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; @@ -17,7 +17,7 @@ index b0fabcf2435a8b89d52fbea29a20bd64e91c046c..4fd660d95a525c1ede5151adc3556e55 boolean isRespawn = false; boolean isLocAltered = false; // Paper - Fix SPIGOT-5989 // Paper end -@@ -820,6 +821,7 @@ public abstract class PlayerList { +@@ -821,6 +822,7 @@ public abstract class PlayerList { if (optional.isPresent()) { BlockState iblockdata = worldserver1.getBlockState(blockposition); boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR); @@ -25,12 +25,12 @@ index b0fabcf2435a8b89d52fbea29a20bd64e91c046c..4fd660d95a525c1ede5151adc3556e55 Vec3 vec3d = (Vec3) optional.get(); float f1; -@@ -848,7 +850,7 @@ public abstract class PlayerList { +@@ -849,7 +851,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); -- PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !flag2, flag2); -+ PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn); // Paper - Fix anchor respawn acting as a bed respawn from the end portal +- PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !flag2, flag2, reason); ++ PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn, reason); // Paper - Fix anchor respawn acting as a bed respawn from the end portal this.cserver.getPluginManager().callEvent(respawnEvent); // Spigot Start if (entityplayer.connection.isDisconnected()) { diff --git a/patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch index 7155aee8c7..b14ca34518 100644 --- a/patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,41 +5,41 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f81fb4c4e5d2681b16e6b6c2fb32363a312d3bff..dffb219c0abdac46320aaec168e232df322a4bca 100644 +index 2ac2390b572c223e8c35a24e8f0978d39da148cc..4df88bd988c2e4d0b6d4d09e6c897b1d1f4e6682 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2773,7 +2773,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2774,7 +2774,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic case PERFORM_RESPAWN: if (this.player.wonGame) { this.player.wonGame = false; -- this.player = this.server.getPlayerList().respawn(this.player, true); -+ this.player = this.server.getPlayerList().respawn(this.player, this.server.getLevel(this.player.getRespawnDimension()), true, null, true, org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.END_PORTAL); // Paper - add isEndCreditsRespawn argument +- this.player = this.server.getPlayerList().respawn(this.player, true, RespawnReason.END_PORTAL); ++ this.player = this.server.getPlayerList().respawn(this.player, this.server.getLevel(this.player.getRespawnDimension()), true, null, true, RespawnReason.END_PORTAL, org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.END_PORTAL); // Paper - add isEndCreditsRespawn argument CriteriaTriggers.CHANGED_DIMENSION.trigger(this.player, Level.END, Level.OVERWORLD); } 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 4fd660d95a525c1ede5151adc3556e55470cc7f1..8d9d730b4fe3be9cc5965331614c3969ec4ad3f9 100644 +index 116a52b29beefce65e875a35ddae6caf255b7b54..54ccfd45a4a8373a40e7153c569b654fe2110506 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -759,6 +759,12 @@ public abstract class PlayerList { +@@ -760,6 +760,12 @@ public abstract class PlayerList { } - public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation) { + public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation, RespawnReason reason) { + // Paper start -+ return respawn(entityplayer, worldserver, flag, location, avoidSuffocation, new org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag[0]); ++ return respawn(entityplayer, worldserver, flag, location, avoidSuffocation, reason, new org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag[0]); + } + -+ public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation, org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag...respawnFlags) { ++ public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation, RespawnReason reason, org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag...respawnFlags) { + // Paper end entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot -@@ -850,7 +856,7 @@ public abstract class PlayerList { +@@ -851,7 +857,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); -- PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn); // Paper - Fix anchor respawn acting as a bed respawn from the end portal -+ PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn, com.google.common.collect.ImmutableSet.builder().add(respawnFlags)); // Paper - Fix anchor respawn acting as a bed respawn from the end portal +- PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn, reason); // Paper - Fix anchor respawn acting as a bed respawn from the end portal ++ PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn, reason, com.google.common.collect.ImmutableSet.builder().add(respawnFlags)); // Paper - Fix anchor respawn acting as a bed respawn from the end portal this.cserver.getPluginManager().callEvent(respawnEvent); // Spigot Start if (entityplayer.connection.isDisconnected()) { diff --git a/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch index 39d35a47c9..6238c16343 100644 --- a/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch @@ -129,12 +129,12 @@ index e6154cf74df39d0c87fc820027adc9641156f888..5461e6ff769be93054b3d8369a7aa286 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dffb219c0abdac46320aaec168e232df322a4bca..8987bbb4feed89c44e3615a58dac321a947c8af9 100644 +index 4df88bd988c2e4d0b6d4d09e6c897b1d1f4e6682..454fb5def57fa2fbc62f530020d579d4ef0efc15 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2782,7 +2782,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2783,7 +2783,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - this.player = this.server.getPlayerList().respawn(this.player, false); + this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH); if (this.server.isHardcore()) { - this.player.setGameMode(GameType.SPECTATOR); + this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper @@ -142,10 +142,10 @@ index dffb219c0abdac46320aaec168e232df322a4bca..8987bbb4feed89c44e3615a58dac321a } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 43d204c7013150b8525b7d0106edac6d0611d723..0f73f0e377c84ed3e1064b9ce6d9254a938c1ae0 100644 +index 0ec560d6b9d96055591019397a45c2885d6ca2ec..acc02c75819eabc73be1afef7cb86ebfdbf2f6e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1551,7 +1551,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1553,7 +1553,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0620-Move-range-check-for-block-placing-up.patch b/patches/server/0620-Move-range-check-for-block-placing-up.patch index 340d2aab5b..dc366cdea4 100644 --- a/patches/server/0620-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0620-Move-range-check-for-block-placing-up.patch @@ -5,10 +5,10 @@ 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 8987bbb4feed89c44e3615a58dac321a947c8af9..a073244fa9b25015e1343f1599f8b86127c77788 100644 +index 454fb5def57fa2fbc62f530020d579d4ef0efc15..6289d1f681366ddbe2c83b08b76a76dbafcc29ea 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1811,6 +1811,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1812,6 +1812,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (itemstack.isItemEnabled(worldserver.enabledFeatures())) { BlockHitResult movingobjectpositionblock = packet.getHitResult(); Vec3 vec3d = movingobjectpositionblock.getLocation(); diff --git a/patches/server/0623-Add-Unix-domain-socket-support.patch b/patches/server/0623-Add-Unix-domain-socket-support.patch index f736e7454e..16e4192278 100644 --- a/patches/server/0623-Add-Unix-domain-socket-support.patch +++ b/patches/server/0623-Add-Unix-domain-socket-support.patch @@ -91,10 +91,10 @@ index 29a0a720f22f56ca3d844efef1ecde3980fb1c12..838244e3680ea6020701e10bafbde7f5 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a073244fa9b25015e1343f1599f8b86127c77788..c5788a4f0acdd44d55446fd729311db7e72c0d86 100644 +index 6289d1f681366ddbe2c83b08b76a76dbafcc29ea..ef670cf38d3ddbeff0f2b87a41cbed695116f270 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2617,6 +2617,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2618,6 +2618,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot Start public SocketAddress getRawAddress() { diff --git a/patches/server/0629-Add-PlayerKickEvent-causes.patch b/patches/server/0629-Add-PlayerKickEvent-causes.patch index a2426a280b..107dc1f88e 100644 --- a/patches/server/0629-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0629-Add-PlayerKickEvent-causes.patch @@ -88,10 +88,10 @@ index 65637a33ba171a4b598f70cd943d24b0ee44a69f..57a9146bf2dee7a60aab16716e25348f } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c375f07141 100644 +index ef670cf38d3ddbeff0f2b87a41cbed695116f270..82ddc28c97bf8ecf2ca703b612d752c0319a6b0f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -360,7 +360,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -361,7 +361,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) { if (++this.aboveGroundTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); @@ -100,7 +100,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } } else { -@@ -379,7 +379,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -380,7 +380,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); @@ -109,7 +109,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } } else { -@@ -401,7 +401,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -402,7 +402,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info @@ -118,7 +118,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } else { if (elapsedTime >= 15000L) { // 15 seconds -@@ -431,7 +431,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -432,7 +432,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60)) { this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 @@ -127,7 +127,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } -@@ -454,16 +454,26 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -455,16 +455,26 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return this.server.isSingleplayerOwner(this.player.getGameProfile()); } @@ -157,7 +157,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 // Paper end // CraftBukkit start - fire PlayerKickEvent if (this.processedDisconnect) { -@@ -473,7 +483,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -474,7 +484,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -166,7 +166,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return null; } }; -@@ -492,7 +502,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -493,7 +503,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic net.kyori.adventure.text.Component leaveMessage = net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? this.player.getBukkitEntity().displayName() : net.kyori.adventure.text.Component.text(this.player.getScoreboardName())); // Paper - Adventure @@ -175,7 +175,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); -@@ -562,7 +572,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -563,7 +573,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleMoveVehicle(ServerboundMoveVehiclePacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(), packet.getY(), packet.getZ(), packet.getYRot(), packet.getXRot())) { @@ -184,7 +184,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } else { Entity entity = this.player.getRootVehicle(); -@@ -760,7 +770,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -761,7 +771,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { @@ -193,7 +193,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } -@@ -817,13 +827,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -818,13 +828,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -209,7 +209,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } // Paper end -@@ -976,7 +986,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -977,7 +987,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start - validate pick item position if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -218,7 +218,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed -@@ -1163,7 +1173,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1164,7 +1174,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length; if (byteLength > 256 * 4) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!"); @@ -227,7 +227,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } byteTotal += byteLength; -@@ -1186,14 +1196,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1187,14 +1197,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); @@ -244,7 +244,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } this.lastBookTick = MinecraftServer.currentTick; -@@ -1317,7 +1327,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1318,7 +1328,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) { @@ -253,7 +253,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } else { ServerLevel worldserver = this.player.getLevel(); -@@ -1733,7 +1743,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1734,7 +1744,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.dropCount++; if (this.dropCount >= 20) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!"); @@ -262,7 +262,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } } -@@ -1945,7 +1955,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1946,7 +1956,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); @@ -271,7 +271,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } // Paper start PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()]; -@@ -2061,7 +2071,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2062,7 +2072,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetLastActionTime(); } else { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -280,7 +280,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } -@@ -2074,7 +2084,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2075,7 +2085,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) { @@ -289,7 +289,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } else { Optional optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2108,7 +2118,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2109,7 +2119,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleChatCommand(ServerboundChatCommandPacket packet) { if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { @@ -298,7 +298,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } else { Optional optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2157,7 +2167,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2158,7 +2168,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void handleMessageDecodeFailure(SignedMessageChain.DecodeException exception) { if (exception.shouldDisconnect()) { @@ -307,7 +307,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } else { this.player.sendSystemMessage(exception.getComponent().copy().withStyle(ChatFormatting.RED)); } -@@ -2188,7 +2198,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2189,7 +2199,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message); @@ -316,7 +316,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return Optional.empty(); } else { Optional optional = this.unpackAndApplyLastSeen(acknowledgment); -@@ -2211,7 +2221,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2212,7 +2222,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (optional.isEmpty()) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -325,7 +325,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } return optional; -@@ -2434,7 +2444,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2435,7 +2445,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // this.chatSpamTickCount += 20; if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // CraftBukkit end @@ -334,7 +334,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } -@@ -2446,7 +2456,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2447,7 +2457,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic synchronized (this.lastSeenMessages) { if (!this.lastSeenMessages.applyOffset(packet.offset())) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -343,7 +343,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } -@@ -2589,7 +2599,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2590,7 +2600,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (i > 4096) { @@ -352,7 +352,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } -@@ -2635,7 +2645,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2636,7 +2646,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot Start if ( entity == this.player && !this.player.isSpectator() ) { @@ -361,7 +361,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } // Spigot End -@@ -2734,7 +2744,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2735,7 +2745,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit end } } else { @@ -370,7 +370,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString()); } } -@@ -3142,7 +3152,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3143,7 +3153,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -379,7 +379,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 return; } } -@@ -3350,7 +3360,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3351,7 +3361,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -388,7 +388,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 }); // Paper end } -@@ -3396,7 +3406,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3397,7 +3407,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -397,7 +397,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } else if (packet.identifier.equals(CUSTOM_UNREGISTER)) { try { -@@ -3406,7 +3416,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3407,7 +3417,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -406,7 +406,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } else { try { -@@ -3424,7 +3434,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3425,7 +3435,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -415,7 +415,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } } -@@ -3466,7 +3476,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3467,7 +3477,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!Objects.equals(profilepublickey_a, profilepublickey_a1)) { if (profilepublickey_a != null && profilepublickey_a1.expiresAt().isBefore(profilepublickey_a.expiresAt())) { @@ -424,7 +424,7 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } else { try { SignatureValidator signaturevalidator = this.server.getServiceSignatureValidator(); -@@ -3474,7 +3484,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3475,7 +3485,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator, Duration.ZERO)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage()); @@ -434,10 +434,10 @@ index c5788a4f0acdd44d55446fd729311db7e72c0d86..db44aa972afa0e6d65c54c35382235c3 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8d9d730b4fe3be9cc5965331614c3969ec4ad3f9..27c0e71fefb87b4bd987e371c33ef31c8706feaf 100644 +index 54ccfd45a4a8373a40e7153c569b654fe2110506..dae66865e84352527f5115e37586f729d32c55cd 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -668,7 +668,7 @@ public abstract class PlayerList { +@@ -669,7 +669,7 @@ public abstract class PlayerList { while (iterator.hasNext()) { entityplayer = (ServerPlayer) iterator.next(); this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved @@ -446,7 +446,7 @@ index 8d9d730b4fe3be9cc5965331614c3969ec4ad3f9..27c0e71fefb87b4bd987e371c33ef31c } // Instead of kicking then returning, we need to store the kick reason -@@ -1304,8 +1304,8 @@ public abstract class PlayerList { +@@ -1305,8 +1305,8 @@ public abstract class PlayerList { // Paper end // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -491,10 +491,10 @@ index a24e7a66d52eddbdad8db71cf5e45f1a458c389f..e1c13ac7b11fb0080435fc34502208c8 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0f73f0e377c84ed3e1064b9ce6d9254a938c1ae0..24f77ef4a948bf5cf0346a8d8e1907f27a41cd2b 100644 +index acc02c75819eabc73be1afef7cb86ebfdbf2f6e5..05f128ebc156729cacd8321e2140c15971e5977a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -604,7 +604,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -605,7 +605,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot if (this.getHandle().connection == null) return; @@ -503,7 +503,7 @@ index 0f73f0e377c84ed3e1064b9ce6d9254a938c1ae0..24f77ef4a948bf5cf0346a8d8e1907f2 } // Paper start -@@ -616,10 +616,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -617,10 +617,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void kick(final net.kyori.adventure.text.Component message) { diff --git a/patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch index 2ea11f4216..80c103310e 100644 --- a/patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch +++ b/patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index db44aa972afa0e6d65c54c35382235c375f07141..5fc1ef0bbc98b5fe3d2c696aa0ae19b6d865f0df 100644 +index 82ddc28c97bf8ecf2ca703b612d752c0319a6b0f..d96f2cdc93ffcdb39b78d179423d85d7761cedf9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1203,7 +1203,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1204,7 +1204,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper end // CraftBukkit start if (this.lastBookTick + 20 > MinecraftServer.currentTick) { diff --git a/patches/server/0650-Adds-PlayerArmSwingEvent.patch b/patches/server/0650-Adds-PlayerArmSwingEvent.patch index bb25ed37f7..0cc21e13f8 100644 --- a/patches/server/0650-Adds-PlayerArmSwingEvent.patch +++ b/patches/server/0650-Adds-PlayerArmSwingEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Adds PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5fc1ef0bbc98b5fe3d2c696aa0ae19b6d865f0df..44b284bd3f7964685ec43c4f01d38f151a2abbd0 100644 +index d96f2cdc93ffcdb39b78d179423d85d7761cedf9..d11d2dc10a8add75812f24234b8bf9c97fcb635c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2484,7 +2484,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2485,7 +2485,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Arm swing animation diff --git a/patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch index 3e7a8a8efb..a2f0c36508 100644 --- a/patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch @@ -17,10 +17,10 @@ index d9cacc372e1d40e6b2b5d83c88a01121b7f3f101..72f9f443fb69603d986d41f0776e6b9b public boolean isRealPlayer; // Paper public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 44b284bd3f7964685ec43c4f01d38f151a2abbd0..81a9a624e949ad4ac70e554a625837d0256d1557 100644 +index d11d2dc10a8add75812f24234b8bf9c97fcb635c..7d257a0461739f0a4a59f9c17b237c44fde7c44d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -512,7 +512,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -513,7 +513,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Do not kick the player return; } @@ -28,7 +28,7 @@ index 44b284bd3f7964685ec43c4f01d38f151a2abbd0..81a9a624e949ad4ac70e554a625837d0 // Send the possibly modified leave message final Component ichatbasecomponent = PaperAdventure.asVanilla(event.reason()); // Paper - Adventure // CraftBukkit end -@@ -521,7 +520,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -522,7 +521,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> { this.connection.disconnect(ichatbasecomponent); })); @@ -37,7 +37,7 @@ index 44b284bd3f7964685ec43c4f01d38f151a2abbd0..81a9a624e949ad4ac70e554a625837d0 this.connection.setReadOnly(); MinecraftServer minecraftserver = this.server; Connection networkmanager = this.connection; -@@ -1982,6 +1981,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1983,6 +1982,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void onDisconnect(Component reason) { @@ -49,7 +49,7 @@ index 44b284bd3f7964685ec43c4f01d38f151a2abbd0..81a9a624e949ad4ac70e554a625837d0 // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; -@@ -1999,7 +2003,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2000,7 +2004,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.disconnect(); // Paper start - Adventure @@ -59,10 +59,10 @@ index 44b284bd3f7964685ec43c4f01d38f151a2abbd0..81a9a624e949ad4ac70e554a625837d0 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 27c0e71fefb87b4bd987e371c33ef31c8706feaf..5f05e832a74a80f7a79b67ec18e269e4241089b9 100644 +index dae66865e84352527f5115e37586f729d32c55cd..5db5e6b59ff996012f5b2d546f54d1f3b7442ce0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -554,6 +554,11 @@ public abstract class PlayerList { +@@ -555,6 +555,11 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer) { // Paper - return Component @@ -74,7 +74,7 @@ index 27c0e71fefb87b4bd987e371c33ef31c8706feaf..5f05e832a74a80f7a79b67ec18e269e4 ServerLevel worldserver = entityplayer.getLevel(); entityplayer.awardStat(Stats.LEAVE_GAME); -@@ -564,7 +569,7 @@ public abstract class PlayerList { +@@ -565,7 +570,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch index 7fa70c9627..c118efca29 100644 --- a/patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent AFK kick while watching end credits. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 81a9a624e949ad4ac70e554a625837d0256d1557..96897ccce68ecbff808077a07f213daccc57fa54 100644 +index 7d257a0461739f0a4a59f9c17b237c44fde7c44d..f0688aba315ddea393fea88fc82752d9b46fec6a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -429,7 +429,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -430,7 +430,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic --this.dropSpamTickCount; } diff --git a/patches/server/0665-Add-PlayerSetSpawnEvent.patch b/patches/server/0665-Add-PlayerSetSpawnEvent.patch index 214bbe2013..f858c02002 100644 --- a/patches/server/0665-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0665-Add-PlayerSetSpawnEvent.patch @@ -89,10 +89,10 @@ index af8af6bb44b84c74553068b6cd64f4e3941d4ae1..bc6ddf50bcd2f38be8c8fa064b49a736 public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5f05e832a74a80f7a79b67ec18e269e4241089b9..d84b976364b0ffc4b7356c6791d70f0e34deff48 100644 +index 5db5e6b59ff996012f5b2d546f54d1f3b7442ce0..79aac02a4c702797c72970a40a17bdf4115fa644 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -844,13 +844,13 @@ public abstract class PlayerList { +@@ -845,13 +845,13 @@ public abstract class PlayerList { f1 = (float) Mth.wrapDegrees(Mth.atan2(vec3d1.z, vec3d1.x) * 57.2957763671875D - 90.0D); } @@ -129,10 +129,10 @@ index a64cd3b54840af9a9c946b3e4e4f91d1c5f4bc97..16f23ecffa52925904d585f3fed76aa6 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 24f77ef4a948bf5cf0346a8d8e1907f27a41cd2b..b16ce6bde4d7478a3fabe5a5c0a48489ada2d579 100644 +index 05f128ebc156729cacd8321e2140c15971e5977a..657b7d30c1f84dfad3af3eb0b94ad82591652316 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1371,9 +1371,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1373,9 +1373,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0694-Improve-and-expand-AsyncCatcher.patch b/patches/server/0694-Improve-and-expand-AsyncCatcher.patch index f2dbf0199e..5f2d4e09dd 100644 --- a/patches/server/0694-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0694-Improve-and-expand-AsyncCatcher.patch @@ -17,10 +17,10 @@ Async catch modifications to critical entity state Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 96897ccce68ecbff808077a07f213daccc57fa54..f2a96d282f65e405e8e396ef271ce0d5a094ac4b 100644 +index f0688aba315ddea393fea88fc82752d9b46fec6a..df3bbf6c95068ac6d8b000d2ef13de1c6a5204e1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1652,6 +1652,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1653,6 +1653,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set set) { // Paper diff --git a/patches/server/0726-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0726-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index 87b14a935b..baff99b672 100644 --- a/patches/server/0726-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0726-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f2a96d282f65e405e8e396ef271ce0d5a094ac4b..f739357b5c304c06de6bab20a0dc9cb438c33fc1 100644 +index df3bbf6c95068ac6d8b000d2ef13de1c6a5204e1..8321ab10cae1a8ea7c7e585d45668f5ef70fd941 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -837,6 +837,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -838,6 +838,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end // CraftBukkit end diff --git a/patches/server/0738-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0738-Add-config-option-for-logging-player-ip-addresses.patch index 6d70eb87b6..065f8be13d 100644 --- a/patches/server/0738-Add-config-option-for-logging-player-ip-addresses.patch +++ b/patches/server/0738-Add-config-option-for-logging-player-ip-addresses.patch @@ -47,10 +47,10 @@ index 595779cfd0ee1c405d7936f00a7cae1706125e7f..ed3af916dfa875dd0a5f1e730d20d11e @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9848b4e62692c5044544710c93c099558fcbf1e6..db746a44c631380ff6bdf7a37d86d2e09877db88 100644 +index 79aac02a4c702797c72970a40a17bdf4115fa644..0b3b926e6d9a0afbd2f4674517e39b3addd8acf5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -245,7 +245,7 @@ public abstract class PlayerList { +@@ -246,7 +246,7 @@ public abstract class PlayerList { String s1 = "local"; if (connection.getRemoteAddress() != null) { diff --git a/patches/server/0749-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0749-Hide-unnecessary-itemmeta-from-clients.patch index 58e8000fc9..9bb5bad7e0 100644 --- a/patches/server/0749-Hide-unnecessary-itemmeta-from-clients.patch +++ b/patches/server/0749-Hide-unnecessary-itemmeta-from-clients.patch @@ -18,10 +18,10 @@ index 3e8255898e8afdd1127eea79338d5cc54502be76..fc187be6b3fb7bc9fa97d1ebcbe92294 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f739357b5c304c06de6bab20a0dc9cb438c33fc1..ee5ef598250ed02dbb44eb4240cb5b2521e33520 100644 +index 8321ab10cae1a8ea7c7e585d45668f5ef70fd941..e9e7b06e6dd074da4f6821f1117c6a29dff78a7c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2698,8 +2698,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2699,8 +2699,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Refresh the current entity metadata entity.getEntityData().refresh(player); // SPIGOT-7136 - Allays diff --git a/patches/server/0753-Add-player-health-update-API.patch b/patches/server/0753-Add-player-health-update-API.patch index 6bfca830bc..547ad40392 100644 --- a/patches/server/0753-Add-player-health-update-API.patch +++ b/patches/server/0753-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index df7471ce615077933577f1e9e62933577a3b9781..d044420955a2a8e19337771ce155777a462c00fe 100644 +index 657b7d30c1f84dfad3af3eb0b94ad82591652316..ee85c2f718c01c91e8fd850f448f189d42687900 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2383,9 +2383,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2385,9 +2385,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index df7471ce615077933577f1e9e62933577a3b9781..d044420955a2a8e19337771ce155777a if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -2394,6 +2396,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2396,6 +2398,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end } diff --git a/patches/server/0756-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0756-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch index 2444d3b084..1e6284915b 100644 --- a/patches/server/0756-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch +++ b/patches/server/0756-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch @@ -1202,10 +1202,10 @@ index d9719e544261b9d2dc85fa9936ae23ea8e8dd08c..5afb17ccc16e614e91ff3cad2f714b4a } } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index db746a44c631380ff6bdf7a37d86d2e09877db88..8d64bd67bff3403b53c2ac98fc7be20310c847b8 100644 +index 0b3b926e6d9a0afbd2f4674517e39b3addd8acf5..3c3e110f7caaf42783638aac74ef5e69513d1fff 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -885,7 +885,7 @@ public abstract class PlayerList { +@@ -886,7 +886,7 @@ public abstract class PlayerList { // CraftBukkit end worldserver1.getChunkSource().addRegionTicket(net.minecraft.server.level.TicketType.POST_TELEPORT, new net.minecraft.world.level.ChunkPos(location.getBlockX() >> 4, location.getBlockZ() >> 4), 1, entityplayer.getId()); // Paper diff --git a/patches/server/0757-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0757-Optimise-collision-checking-in-player-move-packet-ha.patch index f661e86237..7ec825faf0 100644 --- a/patches/server/0757-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/0757-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimise collision checking in player move packet handling Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25099e0d51 100644 +index e9e7b06e6dd074da4f6821f1117c6a29dff78a7c..8552f230b4ec64a6e056198d3edb04395138608a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -645,7 +645,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -646,7 +646,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } @@ -18,7 +18,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 d6 = d3 - this.vehicleLastGoodX; // Paper - diff on change, used for checking large move vectors above d7 = d4 - this.vehicleLastGoodY - 1.0E-6D; // Paper - diff on change, used for checking large move vectors above -@@ -653,6 +653,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -654,6 +654,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag1 = entity.verticalCollisionBelow; entity.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); @@ -26,7 +26,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 double d11 = d7; d6 = d3 - entity.getX(); -@@ -666,16 +667,24 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -667,16 +668,24 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag2 = false; if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot @@ -54,7 +54,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 entity.absMoveTo(d0, d1, d2, f, f1); this.player.absMoveTo(d0, d1, d2, this.player.getYRot(), this.player.getXRot()); // CraftBukkit this.connection.send(new ClientboundMoveVehiclePacket(entity)); -@@ -761,7 +770,32 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -762,7 +771,32 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean noBlocksAround(Entity entity) { @@ -88,7 +88,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 } @Override -@@ -1341,7 +1375,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1342,7 +1376,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (this.awaitingPositionFromClient != null) { @@ -97,7 +97,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 this.awaitingTeleportTime = this.tickCount; this.teleport(this.awaitingPositionFromClient.x, this.awaitingPositionFromClient.y, this.awaitingPositionFromClient.z, this.player.getYRot(), this.player.getXRot()); } -@@ -1435,7 +1469,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1436,7 +1470,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } @@ -106,7 +106,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 d7 = d0 - this.lastGoodX; // Paper - diff on change, used for checking large move vectors above d8 = d1 - this.lastGoodY; // Paper - diff on change, used for checking large move vectors above -@@ -1476,6 +1510,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1477,6 +1511,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag1 = this.player.verticalCollisionBelow; this.player.move(MoverType.PLAYER, new Vec3(d7, d8, d9)); @@ -114,7 +114,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move // Paper start - prevent position desync if (this.awaitingPositionFromClient != null) { -@@ -1495,12 +1530,23 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1496,12 +1531,23 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag2 = false; if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot @@ -140,7 +140,7 @@ index ee5ef598250ed02dbb44eb4240cb5b2521e33520..302582a20700fbea302886115143bd25 this.internalTeleport(d3, d4, d5, f, f1, Collections.emptySet()); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet. this.player.doCheckFallDamage(this.player.getY() - d6, packet.isOnGround()); } else { -@@ -1587,6 +1633,27 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1588,6 +1634,27 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } diff --git a/patches/server/0773-Validate-usernames.patch b/patches/server/0773-Validate-usernames.patch index 1fddb7cd27..e4bfe6cea3 100644 --- a/patches/server/0773-Validate-usernames.patch +++ b/patches/server/0773-Validate-usernames.patch @@ -56,10 +56,10 @@ index ed3af916dfa875dd0a5f1e730d20d11efd6419c6..cd4e76fe5b79c7d9e615b4886a568c74 if (gameprofile != null && packet.name().equalsIgnoreCase(gameprofile.getName())) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8d64bd67bff3403b53c2ac98fc7be20310c847b8..4206caa7660611dfbeaac0d67c695fa1868c7534 100644 +index 3c3e110f7caaf42783638aac74ef5e69513d1fff..c609f63a2e0deffba852f83a5990ad5150029948 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -663,7 +663,7 @@ public abstract class PlayerList { +@@ -664,7 +664,7 @@ public abstract class PlayerList { for (int i = 0; i < this.players.size(); ++i) { entityplayer = (ServerPlayer) this.players.get(i); diff --git a/patches/server/0783-Kick-on-main-for-illegal-chat.patch b/patches/server/0783-Kick-on-main-for-illegal-chat.patch index c71bdee809..d79999e460 100644 --- a/patches/server/0783-Kick-on-main-for-illegal-chat.patch +++ b/patches/server/0783-Kick-on-main-for-illegal-chat.patch @@ -7,10 +7,10 @@ Makes the PlayerKickEvent fire on the main thread for illegal characters or chat out-of-order errors. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 302582a20700fbea302886115143bd25099e0d51..f0c93d67486d891cda90beb23bb6241d4c55ff1c 100644 +index 8552f230b4ec64a6e056198d3edb04395138608a..1371ffc0426ff019c47f30f2cdeea51f72b137c3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2161,7 +2161,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2162,7 +2162,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) { @@ -20,7 +20,7 @@ index 302582a20700fbea302886115143bd25099e0d51..f0c93d67486d891cda90beb23bb6241d } else { Optional optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2195,7 +2197,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2196,7 +2198,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleChatCommand(ServerboundChatCommandPacket packet) { if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { @@ -30,7 +30,7 @@ index 302582a20700fbea302886115143bd25099e0d51..f0c93d67486d891cda90beb23bb6241d } else { Optional optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2275,7 +2279,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2276,7 +2280,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message); diff --git a/patches/server/0784-Multi-Block-Change-API-Implementation.patch b/patches/server/0784-Multi-Block-Change-API-Implementation.patch index 7b8adbe55d..8e6f15290e 100644 --- a/patches/server/0784-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0784-Multi-Block-Change-API-Implementation.patch @@ -25,10 +25,10 @@ index c96e75456c2f8564d3bc75993cc6e03ba605597d..7c6a6693760638a07b7c7c330aaeffd9 public void write(FriendlyByteBuf buf) { buf.writeLong(this.sectionPos.asLong()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d044420955a2a8e19337771ce155777a462c00fe..d6a77a8b459c4b753edf7b0ec955d76861a747ed 100644 +index ee85c2f718c01c91e8fd850f448f189d42687900..0ff7ffecbca4ba3f57e3dab8bfe4a6c77576d7d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -948,6 +948,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -949,6 +949,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0804-Force-close-world-loading-screen.patch b/patches/server/0804-Force-close-world-loading-screen.patch index a11739b8e5..04ade65924 100644 --- a/patches/server/0804-Force-close-world-loading-screen.patch +++ b/patches/server/0804-Force-close-world-loading-screen.patch @@ -10,10 +10,10 @@ 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 4206caa7660611dfbeaac0d67c695fa1868c7534..39858280ef089b503f154b972da32cb2c53e22d2 100644 +index c609f63a2e0deffba852f83a5990ad5150029948..1cdf4d8794e982ff24c50a0267fbb024bbaba668 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -386,6 +386,16 @@ public abstract class PlayerList { +@@ -387,6 +387,16 @@ public abstract class PlayerList { // Paper start - move vehicle into method so it can be called above - short circuit around that code onPlayerJoinFinish(player, worldserver1, s1); diff --git a/patches/server/0810-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0810-Don-t-allow-vehicle-movement-from-players-while-tele.patch index dcd70509a8..af6857b49a 100644 --- a/patches/server/0810-Don-t-allow-vehicle-movement-from-players-while-tele.patch +++ b/patches/server/0810-Don-t-allow-vehicle-movement-from-players-while-tele.patch @@ -7,10 +7,10 @@ Bring the vehicle move packet behavior in line with the regular player move packet. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f0c93d67486d891cda90beb23bb6241d4c55ff1c..e978a9a29513e5f7fb667f9f02f589605df02ac2 100644 +index 1371ffc0426ff019c47f30f2cdeea51f72b137c3..bec15299c3421e800465120607d4da1e42787aa7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -575,6 +575,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -576,6 +576,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else { Entity entity = this.player.getRootVehicle(); diff --git a/patches/server/0825-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0825-Prevent-tile-entity-copies-loading-chunks.patch index 665a931a50..f8e2712844 100644 --- a/patches/server/0825-Prevent-tile-entity-copies-loading-chunks.patch +++ b/patches/server/0825-Prevent-tile-entity-copies-loading-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent tile entity copies loading chunks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e978a9a29513e5f7fb667f9f02f589605df02ac2..cb1b428ce97aa52a6d64603f0b0b1f5fddced9f3 100644 +index bec15299c3421e800465120607d4da1e42787aa7..1c0d3f032b5abc4b1e99555105258376fed1f541 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3301,7 +3301,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3302,7 +3302,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic BlockPos blockposition = BlockEntity.getPosFromTag(nbttagcompound); if (this.player.level.isLoaded(blockposition)) { diff --git a/patches/server/0826-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0826-Use-username-instead-of-display-name-in-PlayerList-g.patch index b4c2f704fa..0472e82cb8 100644 --- a/patches/server/0826-Use-username-instead-of-display-name-in-PlayerList-g.patch +++ b/patches/server/0826-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 39858280ef089b503f154b972da32cb2c53e22d2..63ff18599d820bd168735879f0443c90ce1b5c52 100644 +index 1cdf4d8794e982ff24c50a0267fbb024bbaba668..aa67dd615a06d5f109a8f57dd3e6413e159cad2b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1420,7 +1420,7 @@ public abstract class PlayerList { +@@ -1421,7 +1421,7 @@ public abstract class PlayerList { // CraftBukkit start public ServerStatsCounter getPlayerStats(ServerPlayer entityhuman) { ServerStatsCounter serverstatisticmanager = entityhuman.getStats(); diff --git a/patches/server/0828-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0828-Pass-ServerLevel-for-gamerule-callbacks.patch index f9453a41cf..55df7c7619 100644 --- a/patches/server/0828-Pass-ServerLevel-for-gamerule-callbacks.patch +++ b/patches/server/0828-Pass-ServerLevel-for-gamerule-callbacks.patch @@ -18,11 +18,11 @@ index 5b46cabf4f2e2a1f7feaad378dd98d64aeef8671..51b3db0b6c2cede95b584268e035c0fb if (dedicatedserverproperties.enableQuery) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cb1b428ce97aa52a6d64603f0b0b1f5fddced9f3..8d9a3c7a66895966aade2626c828f8cbcdd32380 100644 +index 1c0d3f032b5abc4b1e99555105258376fed1f541..aa70da970602d9c5e076b5036c296d6a9174e2bf 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2892,7 +2892,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - this.player = this.server.getPlayerList().respawn(this.player, false); +@@ -2893,7 +2893,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH); if (this.server.isHardcore()) { this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper - ((GameRules.BooleanValue) this.player.getLevel().getGameRules().getRule(GameRules.RULE_SPECTATORSGENERATECHUNKS)).set(false, this.server); diff --git a/patches/server/0839-Do-not-accept-invalid-client-settings.patch b/patches/server/0839-Do-not-accept-invalid-client-settings.patch index be30e69031..26d316c53a 100644 --- a/patches/server/0839-Do-not-accept-invalid-client-settings.patch +++ b/patches/server/0839-Do-not-accept-invalid-client-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Do not accept invalid client settings diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8d9a3c7a66895966aade2626c828f8cbcdd32380..f295110637682c2b4064682e456264e017b512e3 100644 +index aa70da970602d9c5e076b5036c296d6a9174e2bf..798eaaaed23c55728a7c48ea900db873cf5c5197 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3480,6 +3480,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3481,6 +3481,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleClientInformation(ServerboundClientInformationPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); diff --git a/patches/server/0856-Don-t-print-component-in-resource-pack-rejection-mes.patch b/patches/server/0856-Don-t-print-component-in-resource-pack-rejection-mes.patch index d86bf587e8..55c8ce8658 100644 --- a/patches/server/0856-Don-t-print-component-in-resource-pack-rejection-mes.patch +++ b/patches/server/0856-Don-t-print-component-in-resource-pack-rejection-mes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't print component in resource pack rejection message diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f295110637682c2b4064682e456264e017b512e3..94d8c0f3c94d257b7942dd2985e9b49117afba72 100644 +index 798eaaaed23c55728a7c48ea900db873cf5c5197..03ee980ae8fdaa174c937f1e5175020f0626556e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2032,7 +2032,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2033,7 +2033,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { diff --git a/patches/server/0860-Add-some-minimal-debug-information-to-chat-packet-er.patch b/patches/server/0860-Add-some-minimal-debug-information-to-chat-packet-er.patch index a78200f261..682114111a 100644 --- a/patches/server/0860-Add-some-minimal-debug-information-to-chat-packet-er.patch +++ b/patches/server/0860-Add-some-minimal-debug-information-to-chat-packet-er.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add some minimal debug information to chat packet errors TODO: potentially add some kick leeway diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 94d8c0f3c94d257b7942dd2985e9b49117afba72..9fa723df14d62e6ed8be9df1d0a271d27bfb9347 100644 +index 03ee980ae8fdaa174c937f1e5175020f0626556e..5b8e57196b810ac093e66718a3e4d987c5a8f1e3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2284,7 +2284,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2285,7 +2285,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { diff --git a/patches/server/0862-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0862-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch index a247cb9f2f..90f332ccee 100644 --- a/patches/server/0862-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch +++ b/patches/server/0862-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9fa723df14d62e6ed8be9df1d0a271d27bfb9347..4e318ecd2e1726127b42cb086c5b987ff0234e51 100644 +index 5b8e57196b810ac093e66718a3e4d987c5a8f1e3..dbc815053fc022cc62cd4fc418fecdf64a37a0a9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2531,7 +2531,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2532,7 +2532,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Spigot end // this.chatSpamTickCount += 20; diff --git a/patches/server/0863-More-Teleport-API.patch b/patches/server/0863-More-Teleport-API.patch index cdf7fd7973..91cb2c2c3f 100644 --- a/patches/server/0863-More-Teleport-API.patch +++ b/patches/server/0863-More-Teleport-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] More Teleport API public net.minecraft.server.network.ServerGamePacketListenerImpl internalTeleport(DDDFFLjava/util/Set;Z)V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4e318ecd2e1726127b42cb086c5b987ff0234e51..ae6ced55937642d26bb7bb772b560b34896ea303 100644 +index dbc815053fc022cc62cd4fc418fecdf64a37a0a9..3c553407834768303ed858aba8aec0e13a7f4c13 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1708,11 +1708,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1709,11 +1709,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return false; // CraftBukkit - Return event status } @@ -74,10 +74,10 @@ index 7df1eebce5b62214943e55314e9ec98f056fa330..2aee8aacd50431c18ff28af678348ec2 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d6a77a8b459c4b753edf7b0ec955d76861a747ed..14d09da578a8928288eb81dcbdd4ecd508cf2dfe 100644 +index 0ff7ffecbca4ba3f57e3dab8bfe4a6c77576d7d0..f47cb81c640810a7401e7ad78e9e0153ae7b2e01 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1261,13 +1261,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1262,13 +1262,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setRotation(float yaw, float pitch) { @@ -179,7 +179,7 @@ index d6a77a8b459c4b753edf7b0ec955d76861a747ed..14d09da578a8928288eb81dcbdd4ecd5 location.checkFinite(); ServerPlayer entity = this.getHandle(); -@@ -1280,7 +1367,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1281,7 +1368,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } @@ -188,7 +188,7 @@ index d6a77a8b459c4b753edf7b0ec955d76861a747ed..14d09da578a8928288eb81dcbdd4ecd5 return false; } -@@ -1298,7 +1385,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1299,7 +1386,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // If this player is riding another entity, we must dismount before teleporting. @@ -197,7 +197,7 @@ index d6a77a8b459c4b753edf7b0ec955d76861a747ed..14d09da578a8928288eb81dcbdd4ecd5 // SPIGOT-5509: Wakeup, similar to riding if (this.isSleeping()) { -@@ -1314,13 +1401,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1315,13 +1402,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle(); // Close any foreign inventory @@ -211,5 +211,5 @@ index d6a77a8b459c4b753edf7b0ec955d76861a747ed..14d09da578a8928288eb81dcbdd4ecd5 - entity.connection.teleport(to); + entity.connection.internalTeleport(to.getX(), to.getY(), to.getZ(), to.getYaw(), to.getPitch(), relativeArguments); // Paper - Teleport API } else { - server.getHandle().respawn(entity, toWorld, true, to, !toWorld.paperConfig().environment.disableTeleportationSuffocationCheck); // Paper - } + // The respawn reason should never be used if the passed location is non null. + server.getHandle().respawn(entity, toWorld, true, to, !toWorld.paperConfig().environment.disableTeleportationSuffocationCheck, null); // Paper diff --git a/patches/server/0866-Send-block-entities-after-destroy-prediction.patch b/patches/server/0866-Send-block-entities-after-destroy-prediction.patch index 181592673f..dddbebae62 100644 --- a/patches/server/0866-Send-block-entities-after-destroy-prediction.patch +++ b/patches/server/0866-Send-block-entities-after-destroy-prediction.patch @@ -57,10 +57,10 @@ index 161a810a8c4bd4c916c54df49c44c504130cb28e..45b48da09eafa8482836e49768426069 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae6ced55937642d26bb7bb772b560b34896ea303..d8272a0b290508d581cfe20eb263bd441b4f544b 100644 +index 3c553407834768303ed858aba8aec0e13a7f4c13..0909716c7b76bc07a2cd3caee4bede0a83255a06 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1854,8 +1854,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1855,8 +1855,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } // Paper end - Don't allow digging in unloaded chunks diff --git a/patches/server/0868-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0868-Custom-Chat-Completion-Suggestions-API.patch index 22cda1849e..c6400ed5bc 100644 --- a/patches/server/0868-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0868-Custom-Chat-Completion-Suggestions-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 14d09da578a8928288eb81dcbdd4ecd508cf2dfe..061df56e4334b1821605b7e6badea4a760fdb512 100644 +index f47cb81c640810a7401e7ad78e9e0153ae7b2e01..7cc84b6ee26e011cc445f5347bb2a6f0a75343fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -670,6 +670,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -671,6 +671,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().getServer().getPlayerList().sendPlayerPermissionLevel(this.getHandle(), level, false); } diff --git a/patches/server/0872-Remove-invalid-signature-login-stacktrace.patch b/patches/server/0872-Remove-invalid-signature-login-stacktrace.patch index 81e06b99f5..3c16aad292 100644 --- a/patches/server/0872-Remove-invalid-signature-login-stacktrace.patch +++ b/patches/server/0872-Remove-invalid-signature-login-stacktrace.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove invalid signature login stacktrace diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d8272a0b290508d581cfe20eb263bd441b4f544b..f86b9e5e34aa8716a9f560c2f271936175f641b3 100644 +index 0909716c7b76bc07a2cd3caee4bede0a83255a06..b2a72e529b60eac033ac609cc11429ddbef0d422 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3610,7 +3610,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3611,7 +3611,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator, Duration.ZERO)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { diff --git a/patches/server/0899-Elder-Guardian-appearance-API.patch b/patches/server/0899-Elder-Guardian-appearance-API.patch index df872f7ff2..13271eca7e 100644 --- a/patches/server/0899-Elder-Guardian-appearance-API.patch +++ b/patches/server/0899-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 061df56e4334b1821605b7e6badea4a760fdb512..884fe9c47f30b423d193137df7589660f9baca7b 100644 +index 7cc84b6ee26e011cc445f5347bb2a6f0a75343fc..5cab74f4ae272cf730392cb143d45df737e641f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3152,6 +3152,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3154,6 +3154,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0916-Add-Player-Warden-Warning-API.patch b/patches/server/0916-Add-Player-Warden-Warning-API.patch index 6e2d9622ec..28ee51a855 100644 --- a/patches/server/0916-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0916-Add-Player-Warden-Warning-API.patch @@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 884fe9c47f30b423d193137df7589660f9baca7b..5279560ce77822f8aad8930fe916d49a47eb928c 100644 +index 5cab74f4ae272cf730392cb143d45df737e641f2..59a7c5eb74b9ca7108d6fa9a1335e4a9816f6cf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3157,6 +3157,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3159,6 +3159,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void showElderGuardian(boolean silent) { if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F)); } diff --git a/patches/server/0928-Properly-resend-entities.patch b/patches/server/0928-Properly-resend-entities.patch index 3315074536..8cdf1fbd8d 100644 --- a/patches/server/0928-Properly-resend-entities.patch +++ b/patches/server/0928-Properly-resend-entities.patch @@ -66,10 +66,10 @@ index a276aed4821eb992e0f20e2d2c6229e0b96eef73..ff7ba7a161cfed7521354bc6e3f21ba0 public static class DataItem { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f86b9e5e34aa8716a9f560c2f271936175f641b3..04386413177d0fb1338fccabf8af5746a18ef784 100644 +index b2a72e529b60eac033ac609cc11429ddbef0d422..c3db04aefe288a42d6a82291cc0164c8b09e9afa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2790,7 +2790,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2791,7 +2791,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { @@ -79,10 +79,10 @@ index f86b9e5e34aa8716a9f560c2f271936175f641b3..04386413177d0fb1338fccabf8af5746 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 63ff18599d820bd168735879f0443c90ce1b5c52..169dd56fd9dbb2439e4773f630ed06ee51354b3a 100644 +index aa67dd615a06d5f109a8f57dd3e6413e159cad2b..68e47dfff2519ed1fbe92f265f942fcc6cd6a00d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -361,7 +361,7 @@ public abstract class PlayerList { +@@ -362,7 +362,7 @@ public abstract class PlayerList { ((ServerLevel)player.level).getChunkSource().chunkMap.addEntity(player); // Paper - track entity now // CraftBukkit end diff --git a/patches/server/0930-fix-Instruments.patch b/patches/server/0930-fix-Instruments.patch index 67a56edde5..9634eb10ac 100644 --- a/patches/server/0930-fix-Instruments.patch +++ b/patches/server/0930-fix-Instruments.patch @@ -6,10 +6,10 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5279560ce77822f8aad8930fe916d49a47eb928c..f26655ebc1edfef060fb4d97fa56a42cede9b4ff 100644 +index 59a7c5eb74b9ca7108d6fa9a1335e4a9816f6cf3..88ac838be9aff2f2190032a1bf9d85e8d360ec42 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -772,62 +772,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -773,62 +773,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void playNote(Location loc, Instrument instrument, Note note) { if (this.getHandle().connection == null) return; diff --git a/patches/server/0939-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0939-Add-missing-SpigotConfig-logCommands-check.patch index 4379b7b7b7..1618b3c6a7 100644 --- a/patches/server/0939-Add-missing-SpigotConfig-logCommands-check.patch +++ b/patches/server/0939-Add-missing-SpigotConfig-logCommands-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 04386413177d0fb1338fccabf8af5746a18ef784..afcdd85d2b10bbd76c589c419feefd87f3ea1825 100644 +index c3db04aefe288a42d6a82291cc0164c8b09e9afa..9029be5f8a1f2c0719bf5e4012f72b52cf82b060 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2248,7 +2248,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2249,7 +2249,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void performChatCommand(ServerboundChatCommandPacket packet, LastSeenMessages lastSeenMessages) { // CraftBukkit start String command = "/" + packet.command(); diff --git a/patches/server/0941-Flying-Fall-Damage.patch b/patches/server/0941-Flying-Fall-Damage.patch index 6144ef002c..d3e1eaf878 100644 --- a/patches/server/0941-Flying-Fall-Damage.patch +++ b/patches/server/0941-Flying-Fall-Damage.patch @@ -26,10 +26,10 @@ index 5b772b3caeafe98aa45a01bffe215a5dd33323b6..0629c471d38a77c44fc1c86ccdfcb069 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f26655ebc1edfef060fb4d97fa56a42cede9b4ff..0d804163de6d332aa1ed60eece6ad4c8c538df85 100644 +index 88ac838be9aff2f2190032a1bf9d85e8d360ec42..305badea8121494968f6c32ec8d6eb17d2b1fd97 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2320,6 +2320,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2322,6 +2322,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().onUpdateAbilities(); } diff --git a/patches/server/0945-Use-single-player-info-update-packet-on-join.patch b/patches/server/0945-Use-single-player-info-update-packet-on-join.patch index 354b1af06c..d1205601a2 100644 --- a/patches/server/0945-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0945-Use-single-player-info-update-packet-on-join.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use single player info update packet on join diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index afcdd85d2b10bbd76c589c419feefd87f3ea1825..2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88 100644 +index 9029be5f8a1f2c0719bf5e4012f72b52cf82b060..f5888a2216a017b0db24ff7bfe2fc8f41b149605 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3625,7 +3625,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3626,7 +3626,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID()); this.chatMessageChain.append((executor) -> { this.player.setChatSession(session); @@ -18,10 +18,10 @@ index afcdd85d2b10bbd76c589c419feefd87f3ea1825..2d8488b9aa088b6d5f0c7e557b8ad0b2 }); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 169dd56fd9dbb2439e4773f630ed06ee51354b3a..9e7c3f885505ee678ca390aac09a477394b78bb0 100644 +index 68e47dfff2519ed1fbe92f265f942fcc6cd6a00d..4d837c1530a3031a4c2a5a39d87bd013d60e14a6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -307,7 +307,7 @@ public abstract class PlayerList { +@@ -308,7 +308,7 @@ public abstract class PlayerList { player.sendServerStatus(serverping); } @@ -30,7 +30,7 @@ index 169dd56fd9dbb2439e4773f630ed06ee51354b3a..9e7c3f885505ee678ca390aac09a4773 this.players.add(player); this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot this.playersByUUID.put(player.getUUID(), player); -@@ -343,6 +343,7 @@ public abstract class PlayerList { +@@ -344,6 +344,7 @@ public abstract class PlayerList { // CraftBukkit start - sendAll above replaced with this loop ClientboundPlayerInfoUpdatePacket packet = ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(player)); @@ -38,7 +38,7 @@ index 169dd56fd9dbb2439e4773f630ed06ee51354b3a..9e7c3f885505ee678ca390aac09a4773 for (int i = 0; i < this.players.size(); ++i) { ServerPlayer entityplayer1 = (ServerPlayer) this.players.get(i); -@@ -350,12 +351,17 @@ public abstract class PlayerList { +@@ -351,12 +352,17 @@ public abstract class PlayerList { entityplayer1.connection.send(packet); } diff --git a/patches/server/0947-Win-Screen-API.patch b/patches/server/0947-Win-Screen-API.patch index a17ae351b4..7967e50e36 100644 --- a/patches/server/0947-Win-Screen-API.patch +++ b/patches/server/0947-Win-Screen-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0d804163de6d332aa1ed60eece6ad4c8c538df85..540b27a1c53bc010a66cd934b524468989c67826 100644 +index 305badea8121494968f6c32ec8d6eb17d2b1fd97..ca22b7de2dd05a0bdcdcd3bffb9ec991d196abde 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1231,6 +1231,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1232,6 +1232,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0967-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0967-Treat-sequence-violations-like-they-should-be.patch index ece089f04f..32163563cb 100644 --- a/patches/server/0967-Treat-sequence-violations-like-they-should-be.patch +++ b/patches/server/0967-Treat-sequence-violations-like-they-should-be.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Treat sequence violations like they should be diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..d587b2c4e39bce7e098aa9fab361230f72770658 100644 +index f5888a2216a017b0db24ff7bfe2fc8f41b149605..8258764bafe5ad2d9aeaafd830aab3bb6617d2ff 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2124,6 +2124,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2125,6 +2125,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void ackBlockChangesUpTo(int sequence) { if (sequence < 0) { diff --git a/patches/server/0969-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0969-Prevent-causing-expired-keys-from-impacting-new-join.patch index 40dacfb413..306a07be6e 100644 --- a/patches/server/0969-Prevent-causing-expired-keys-from-impacting-new-join.patch +++ b/patches/server/0969-Prevent-causing-expired-keys-from-impacting-new-join.patch @@ -24,10 +24,10 @@ index 23e0e6937e28f09271a4ec7c35e0076a576cf3d3..4aa8b483841028fbcc43f9ed47730881 UPDATE_GAME_MODE((serialized, buf) -> { serialized.gameMode = GameType.byId(buf.readVarInt()); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d587b2c4e39bce7e098aa9fab361230f72770658..177aac1ab10189bb5a52217e86ba5c8a535b4197 100644 +index 8258764bafe5ad2d9aeaafd830aab3bb6617d2ff..9c5754ac3b00d3f0cb80ec83a2beefadee6d0a14 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -294,6 +294,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -295,6 +295,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private final AtomicReference lastChatTimeStamp; @Nullable private RemoteChatSession chatSession; @@ -35,7 +35,7 @@ index d587b2c4e39bce7e098aa9fab361230f72770658..177aac1ab10189bb5a52217e86ba5c8a private SignedMessageChain.Decoder signedMessageDecoder; private final LastSeenMessagesValidator lastSeenMessages; private final MessageSignatureCache messageSignatureCache; -@@ -434,6 +435,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -435,6 +436,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } @@ -49,7 +49,7 @@ index d587b2c4e39bce7e098aa9fab361230f72770658..177aac1ab10189bb5a52217e86ba5c8a } public void resetPosition() { -@@ -3623,6 +3631,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3624,6 +3632,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void resetPlayerChatState(RemoteChatSession session) { this.chatSession = session; diff --git a/work/Bukkit b/work/Bukkit index de5ba4022d..13eb414669 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit de5ba4022d0775b318799a4ab9d076df2d433de2 +Subproject commit 13eb41466918e64be98fccf96fd3c75c3ea07ae4 diff --git a/work/CraftBukkit b/work/CraftBukkit index 50ee87fbcb..5ee3419b79 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 50ee87fbcb037e4c9bf184d65959089f169ae449 +Subproject commit 5ee3419b794bc7f9235c234d762dbc7da05cb127 diff --git a/work/Spigot b/work/Spigot index d2fdfe3915..514cf03ae9 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit d2fdfe39154577ac5ee1dac1672eab79a9577dc2 +Subproject commit 514cf03ae91c086bf9e47825379698b3a97b6326