diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 60f29c063a..fba55537c5 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -959,6 +959,18 @@ index 446e4d21c5b9b624e633875df62160a7351517d9..16ec0cd908659d6d53e565281b8db9f8 public static String getShutdownMessage() { return server.getShutdownMessage(); } +diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java +index e3f185dc982d1c38195a4e01ddd485c13ffa58c0..ea4ceb643239c26851bacbf45fc3f2efef3bb4be 100644 +--- a/src/main/java/org/bukkit/ChatColor.java ++++ b/src/main/java/org/bukkit/ChatColor.java +@@ -11,6 +11,7 @@ import org.jetbrains.annotations.Nullable; + /** + * All supported color values for chat + */ ++@Deprecated // Paper + public enum ChatColor { + /** + * Represents black diff --git a/src/main/java/org/bukkit/Keyed.java b/src/main/java/org/bukkit/Keyed.java index 32c92621c2c15eec14c50965f5ecda00c46e6c80..e076d447da62445764a9776ee2554c077637d270 100644 --- a/src/main/java/org/bukkit/Keyed.java @@ -1709,10 +1721,10 @@ index 80209bb88a0294d4eedc78509533a6257315d856..75759131bd94b672bec4cd8e271ebff1 if (sendToSource && !(source instanceof ConsoleCommandSender)) { source.sendMessage(message); diff --git a/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java -index 284be63a125624a8ae43d2c164aede810ce6bfe5..63ec8f2b31e5040eb8d7c7edad011b1976e1e5a3 100644 +index 284be63a125624a8ae43d2c164aede810ce6bfe5..4e440880bd82f3cd8b267f00b2fcd725b49ce981 100644 --- a/src/main/java/org/bukkit/command/CommandSender.java +++ b/src/main/java/org/bukkit/command/CommandSender.java -@@ -6,12 +6,13 @@ import org.bukkit.permissions.Permissible; +@@ -6,20 +6,28 @@ import org.bukkit.permissions.Permissible; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -1724,34 +1736,47 @@ index 284be63a125624a8ae43d2c164aede810ce6bfe5..63ec8f2b31e5040eb8d7c7edad011b19 * * @param message Message to be displayed + * @see #sendMessage(net.kyori.adventure.text.Component) ++ * @see #sendPlainMessage(String) ++ * @see #sendRichMessage(String) */ ++ @org.jetbrains.annotations.ApiStatus.Obsolete // Paper public void sendMessage(@NotNull String message); -@@ -19,6 +20,7 @@ public interface CommandSender extends Permissible { + /** * Sends this sender multiple messages * * @param messages An array of messages to be displayed + * @see #sendMessage(net.kyori.adventure.text.Component) ++ * @see #sendPlainMessage(String) ++ * @see #sendRichMessage(String) */ ++ @org.jetbrains.annotations.ApiStatus.Obsolete // Paper public void sendMessage(@NotNull String... messages); -@@ -27,6 +29,7 @@ public interface CommandSender extends Permissible { + /** +@@ -27,7 +35,10 @@ public interface CommandSender extends Permissible { * * @param message Message to be displayed * @param sender The sender of this message + * @see #sendMessage(net.kyori.adventure.identity.Identified, net.kyori.adventure.text.Component) ++ * @deprecated sender UUID is ignored */ ++ @Deprecated // Paper public void sendMessage(@Nullable UUID sender, @NotNull String message); -@@ -35,6 +38,7 @@ public interface CommandSender extends Permissible { + /** +@@ -35,7 +46,10 @@ public interface CommandSender extends Permissible { * * @param messages An array of messages to be displayed * @param sender The sender of this message + * @see #sendMessage(net.kyori.adventure.identity.Identified, net.kyori.adventure.text.Component) ++ * @deprecated sender UUID is ignored */ ++ @Deprecated // Paper public void sendMessage(@Nullable UUID sender, @NotNull String... messages); -@@ -61,7 +65,9 @@ public interface CommandSender extends Permissible { + /** +@@ -61,7 +75,9 @@ public interface CommandSender extends Permissible { * Sends this sender a chat component. * * @param component the components to send @@ -1761,7 +1786,7 @@ index 284be63a125624a8ae43d2c164aede810ce6bfe5..63ec8f2b31e5040eb8d7c7edad011b19 public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -70,7 +76,9 @@ public interface CommandSender extends Permissible { +@@ -70,7 +86,9 @@ public interface CommandSender extends Permissible { * Sends an array of components as a single message to the sender. * * @param components the components to send @@ -1771,7 +1796,7 @@ index 284be63a125624a8ae43d2c164aede810ce6bfe5..63ec8f2b31e5040eb8d7c7edad011b19 public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -80,7 +88,9 @@ public interface CommandSender extends Permissible { +@@ -80,7 +98,9 @@ public interface CommandSender extends Permissible { * * @param component the components to send * @param sender the sender of the message @@ -1781,7 +1806,7 @@ index 284be63a125624a8ae43d2c164aede810ce6bfe5..63ec8f2b31e5040eb8d7c7edad011b19 public void sendMessage(@Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -90,7 +100,9 @@ public interface CommandSender extends Permissible { +@@ -90,7 +110,9 @@ public interface CommandSender extends Permissible { * * @param components the components to send * @param sender the sender of the message @@ -1791,7 +1816,7 @@ index 284be63a125624a8ae43d2c164aede810ce6bfe5..63ec8f2b31e5040eb8d7c7edad011b19 public void sendMessage(@Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -99,4 +111,39 @@ public interface CommandSender extends Permissible { +@@ -99,4 +121,39 @@ public interface CommandSender extends Permissible { @NotNull Spigot spigot(); // Spigot end @@ -1874,6 +1899,27 @@ index fcc34b640265f4dccb46b9f09466ab8e1d96043e..5c813ac024f675951159a59d88d8baa0 + } + // Paper end } +diff --git a/src/main/java/org/bukkit/conversations/Conversable.java b/src/main/java/org/bukkit/conversations/Conversable.java +index b7d8dd30360a38dbdc7bbce40c8e6ced7261f833..0817f2395c2b18828565435568ce651f5ba99a99 100644 +--- a/src/main/java/org/bukkit/conversations/Conversable.java ++++ b/src/main/java/org/bukkit/conversations/Conversable.java +@@ -55,6 +55,7 @@ public interface Conversable { + * + * @param message Message to be displayed + */ ++ @org.jetbrains.annotations.ApiStatus.Obsolete // Paper + public void sendRawMessage(@NotNull String message); + + /** +@@ -62,6 +63,8 @@ public interface Conversable { + * + * @param message Message to be displayed + * @param sender The sender of this message ++ * @deprecated sender UUID is ignored + */ ++ @Deprecated // Paper + public void sendRawMessage(@Nullable UUID sender, @NotNull String message); + } diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java index e2800dc97af5bbb02c555069285a0fa155a9799d..2dc749936df6168073a5bb9f9051d55f8589ac62 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java diff --git a/patches/api/0023-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch b/patches/api/0023-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch index 77186ec4f7..372a65a021 100644 --- a/patches/api/0023-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch +++ b/patches/api/0023-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add BaseComponent sendMessage methods to CommandSender diff --git a/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java -index 5e7f8822a17459583d9950dc09e3888f492bfd87..d0e1fbb58c5ce71bf2b8d9db9aa3c1b4ca797435 100644 +index 4e440880bd82f3cd8b267f00b2fcd725b49ce981..c97970a6a44d61462c9d8d69f6aa12d9a8bb4e05 100644 --- a/src/main/java/org/bukkit/command/CommandSender.java +++ b/src/main/java/org/bukkit/command/CommandSender.java @@ -1,6 +1,9 @@ @@ -18,7 +18,7 @@ index 5e7f8822a17459583d9950dc09e3888f492bfd87..d0e1fbb58c5ce71bf2b8d9db9aa3c1b4 import org.bukkit.Server; import org.bukkit.permissions.Permissible; import org.jetbrains.annotations.NotNull; -@@ -145,5 +148,33 @@ public interface CommandSender extends net.kyori.adventure.audience.Audience, Pe +@@ -155,5 +158,33 @@ public interface CommandSender extends net.kyori.adventure.audience.Audience, Pe default void sendPlainMessage(final @NotNull String message) { this.sendMessage(net.kyori.adventure.text.Component.text(message)); } diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 54aa551c2a..f9298c5eb6 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -3056,10 +3056,10 @@ index 0000000000000000000000000000000000000000..96e8d03bd4a4d43633a94bb251054610 +} diff --git a/src/main/java/io/papermc/paper/configuration/transformation/global/LegacyPaperConfig.java b/src/main/java/io/papermc/paper/configuration/transformation/global/LegacyPaperConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..fec6d0b249c6dc7856c5acc4e7dad9fcfabfe35b +index 0000000000000000000000000000000000000000..ef0e834c164b0ccc1a61b349348e6799733d66d9 --- /dev/null +++ b/src/main/java/io/papermc/paper/configuration/transformation/global/LegacyPaperConfig.java -@@ -0,0 +1,222 @@ +@@ -0,0 +1,223 @@ +package io.papermc.paper.configuration.transformation.global; + +import com.mojang.logging.LogUtils; @@ -3261,6 +3261,7 @@ index 0000000000000000000000000000000000000000..fec6d0b249c6dc7856c5acc4e7dad9fc + }); + } + ++ @SuppressWarnings("deprecation") // valid use to convert legacy string to mini-message in legacy migration + private static String miniMessage(final String input) { + return MiniMessage.miniMessage().serialize(LegacyComponentSerializer.legacySection().deserialize(ChatColor.translateAlternateColorCodes('&', input))); + } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 93f765d060..76b4d4bc4f 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -673,10 +673,10 @@ index 0000000000000000000000000000000000000000..45830cf2b42c2c983cef922c6355e5d6 +} diff --git a/src/main/java/io/papermc/paper/adventure/DisplayNames.java b/src/main/java/io/papermc/paper/adventure/DisplayNames.java new file mode 100644 -index 0000000000000000000000000000000000000000..3957f68182e8f7a773613a687f1d9a0cfa4f066c +index 0000000000000000000000000000000000000000..d496a9a6ad229e42f1c44e31eafa6974b9faced5 --- /dev/null +++ b/src/main/java/io/papermc/paper/adventure/DisplayNames.java -@@ -0,0 +1,24 @@ +@@ -0,0 +1,25 @@ +package io.papermc.paper.adventure; + +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; @@ -692,6 +692,7 @@ index 0000000000000000000000000000000000000000..3957f68182e8f7a773613a687f1d9a0c + return getLegacy(player.getHandle()); + } + ++ @SuppressWarnings("deprecation") // Valid suppress due to supporting legacy display name formatting + public static String getLegacy(final ServerPlayer player) { + final String legacy = player.displayName; + if (legacy != null) { diff --git a/patches/server/0031-Further-improve-server-tick-loop.patch b/patches/server/0031-Further-improve-server-tick-loop.patch index 413244767c..ce55f9814c 100644 --- a/patches/server/0031-Further-improve-server-tick-loop.patch +++ b/patches/server/0031-Further-improve-server-tick-loop.patch @@ -167,10 +167,23 @@ index fbc62e2b07a430dea8a827790bda5fbf6f19d05b..07536b696f734fb9e8d0abe1f414ae53 private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java -index 4ab81a99f906e3f28e026d0e50b5b943c1bdcfb5..9bede6a26c08ede063c7a38f1149c811df14b258 100644 +index 4ab81a99f906e3f28e026d0e50b5b943c1bdcfb5..b1a72aa3634405f3fce64c66677a75d8f77cb6f6 100644 --- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java +++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java -@@ -24,22 +24,30 @@ public class TicksPerSecondCommand extends Command +@@ -15,6 +15,12 @@ public class TicksPerSecondCommand extends Command + this.usageMessage = "/tps"; + this.setPermission( "bukkit.command.tps" ); + } ++ // Paper start ++ private static final net.kyori.adventure.text.Component WARN_MSG = net.kyori.adventure.text.Component.text() ++ .append(net.kyori.adventure.text.Component.text("Warning: ", net.kyori.adventure.text.format.NamedTextColor.RED)) ++ .append(net.kyori.adventure.text.Component.text("Memory usage on modern garbage collectors is not a stable value and it is perfectly normal to see it reach max. Please do not pay it much attention.", net.kyori.adventure.text.format.NamedTextColor.GOLD)) ++ .build(); ++ // Paper end + + @Override + public boolean execute(CommandSender sender, String currentAlias, String[] args) +@@ -24,22 +30,33 @@ public class TicksPerSecondCommand extends Command return true; } @@ -186,12 +199,15 @@ index 4ab81a99f906e3f28e026d0e50b5b943c1bdcfb5..9bede6a26c08ede063c7a38f1149c811 + for ( int i = 0; i < tps.length; i++) { + tpsAvg[i] = TicksPerSecondCommand.format( tps[i] ); + } -+ sender.sendMessage(ChatColor.GOLD + "TPS from last 1m, 5m, 15m: " + org.apache.commons.lang.StringUtils.join(tpsAvg, ", ")); ++ sender.sendMessage(net.kyori.adventure.text.Component.text("TPS from last 1m, 5m, 15m: " + org.apache.commons.lang.StringUtils.join(tpsAvg, ", "), net.kyori.adventure.text.format.NamedTextColor.GOLD)); + if (args.length > 0 && args[0].equals("mem") && sender.hasPermission("bukkit.command.tpsmemory")) { -+ sender.sendMessage(ChatColor.GOLD + "Current Memory Usage: " + ChatColor.GREEN + ((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (1024 * 1024)) + "/" + (Runtime.getRuntime().totalMemory() / (1024 * 1024)) + " mb (Max: " + (Runtime.getRuntime().maxMemory() / (1024 * 1024)) + " mb)"); -+ if (!hasShownMemoryWarning) { -+ sender.sendMessage(ChatColor.RED + "Warning: " + ChatColor.GOLD + " Memory usage on modern garbage collectors is not a stable value and it is perfectly normal to see it reach max. Please do not pay it much attention."); -+ hasShownMemoryWarning = true; ++ sender.sendMessage(net.kyori.adventure.text.Component.text() ++ .append(net.kyori.adventure.text.Component.text("Current Memory Usage: ", net.kyori.adventure.text.format.NamedTextColor.GOLD)) ++ .append(net.kyori.adventure.text.Component.text(((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (1024 * 1024)) + "/" + (Runtime.getRuntime().totalMemory() / (1024 * 1024)) + " mb (Max: " + (Runtime.getRuntime().maxMemory() / (1024 * 1024)) + " mb)", net.kyori.adventure.text.format.NamedTextColor.GREEN)) ++ ); ++ if (!this.hasShownMemoryWarning) { ++ sender.sendMessage(WARN_MSG); ++ this.hasShownMemoryWarning = true; + } } - sender.sendMessage( sb.substring( 0, sb.length() - 2 ) ); diff --git a/patches/server/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index fed47a610c..42f678c2d9 100644 --- a/patches/server/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/patches/server/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -12,14 +12,20 @@ for this on CB at one point but I can't find it. We may need to do this ourselves at some point in the future. diff --git a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java -index 45830cf2b42c2c983cef922c6355e5d6a7cfb982..4d9bc4a62ebae0f3707900503576c64733de639f 100644 +index 45830cf2b42c2c983cef922c6355e5d6a7cfb982..951a7df30bd70bb3051c04f592529d560be6948e 100644 --- a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java +++ b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java -@@ -29,7 +29,9 @@ import net.minecraft.network.chat.PlayerChatMessage; - import net.minecraft.resources.ResourceKey; +@@ -19,6 +19,7 @@ import net.kyori.adventure.audience.Audience; + import net.kyori.adventure.audience.ForwardingAudience; + import net.kyori.adventure.key.Key; + import net.kyori.adventure.text.Component; ++import net.minecraft.ChatFormatting; + import net.minecraft.Optionull; + import net.minecraft.Util; + import net.minecraft.core.registries.Registries; +@@ -30,6 +31,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; -+import org.bukkit.ChatColor; import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.craftbukkit.entity.CraftPlayer; @@ -30,7 +36,7 @@ index 45830cf2b42c2c983cef922c6355e5d6a7cfb982..4d9bc4a62ebae0f3707900503576c647 static String legacyDisplayName(final CraftPlayer player) { + if (((org.bukkit.craftbukkit.CraftWorld) player.getWorld()).getHandle().paperConfig().scoreboards.useVanillaWorldScoreboardNameColoring) { -+ return legacySection().serialize(player.teamDisplayName()) + ChatColor.RESET; ++ return legacySection().serialize(player.teamDisplayName()) + ChatFormatting.RESET; + } return player.getDisplayName(); } diff --git a/patches/server/0122-String-based-Action-Bar-API.patch b/patches/server/0122-String-based-Action-Bar-API.patch index 6564d5f81b..a72e8e8693 100644 --- a/patches/server/0122-String-based-Action-Bar-API.patch +++ b/patches/server/0122-String-based-Action-Bar-API.patch @@ -26,14 +26,15 @@ 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 023e477ebe24aff03767a3179e7b2f0e653ffa12..981ac7ad6efb4024216a0967fd4c2f01245a8816 100644 +index 814bcc343fc2568844dd8da1f328fbae8b09f592..ff35189ca0f8c0957fab889039fe2283a190a4d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -358,6 +358,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -358,6 +358,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start + @Override ++ @Deprecated + public void sendActionBar(BaseComponent[] message) { + if (getHandle().connection == null) return; + net.minecraft.network.protocol.game.ClientboundSetActionBarTextPacket packet = new net.minecraft.network.protocol.game.ClientboundSetActionBarTextPacket((net.minecraft.network.chat.Component) null); @@ -42,12 +43,14 @@ index 023e477ebe24aff03767a3179e7b2f0e653ffa12..981ac7ad6efb4024216a0967fd4c2f01 + } + + @Override ++ @Deprecated + public void sendActionBar(String message) { + if (getHandle().connection == null || message == null || message.isEmpty()) return; + getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSetActionBarTextPacket(CraftChatMessage.fromStringOrNull(message))); + } + + @Override ++ @Deprecated + public void sendActionBar(char alternateChar, String message) { + if (message == null || message.isEmpty()) return; + sendActionBar(org.bukkit.ChatColor.translateAlternateColorCodes(alternateChar, message)); 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 d0ad6f87f5..c560f6c869 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 75017f7464247a4766859250453954c4b775d36f..a1ab7a666e429f0ac9afc1bd8a65866364655b70 100644 +index a9494390868b62824fddd2b7a95f52f3ab31d605..61baea9efa7c1b35c437f6f0a4387c7611f401c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1493,7 +1493,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1496,7 +1496,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 627c3d05b9..7606e7abc7 100644 --- a/patches/server/0184-Player.setPlayerProfile-API.patch +++ b/patches/server/0184-Player.setPlayerProfile-API.patch @@ -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 f19b8258e30133f3111ca27e9082b7f3a4ce3877..53074702d0d606ce0e26c4cf435c3b71b4336f5e 100644 +index 61baea9efa7c1b35c437f6f0a4387c7611f401c3..05f43fab1fbc121ae6e5113ba485e0b2b89cb98b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -82,6 +82,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; @@ -78,7 +78,7 @@ index f19b8258e30133f3111ca27e9082b7f3a4ce3877..53074702d0d606ce0e26c4cf435c3b71 @Override public InetSocketAddress getAddress() { if (this.getHandle().connection == null) return null; -@@ -1643,8 +1639,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1646,8 +1642,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 f19b8258e30133f3111ca27e9082b7f3a4ce3877..53074702d0d606ce0e26c4cf435c3b71 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1657,8 +1660,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1660,8 +1663,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID()))); } } @@ -104,7 +104,7 @@ index f19b8258e30133f3111ca27e9082b7f3a4ce3877..53074702d0d606ce0e26c4cf435c3b71 } void resetAndHideEntity(org.bukkit.entity.Entity entity) { -@@ -1735,8 +1736,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1738,8 +1739,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 f19b8258e30133f3111ca27e9082b7f3a4ce3877..53074702d0d606ce0e26c4cf435c3b71 } void resetAndShowEntity(org.bukkit.entity.Entity entity) { -@@ -1749,6 +1780,30 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1752,6 +1783,30 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.trackAndShowEntity(entity); } } diff --git a/patches/server/0188-Call-PaperServerListPingEvent-for-legacy-pings.patch b/patches/server/0188-Call-PaperServerListPingEvent-for-legacy-pings.patch index 2489c122d5..c404fd6c23 100644 --- a/patches/server/0188-Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/patches/server/0188-Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -6,16 +6,17 @@ Subject: [PATCH] Call PaperServerListPingEvent for legacy pings diff --git a/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java new file mode 100644 -index 0000000000000000000000000000000000000000..74c012fd40491f1d870fbc1aa8c318a2197eb106 +index 0000000000000000000000000000000000000000..cc54b1c207981235b5160e8773b27cf9a5dcd4d5 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java -@@ -0,0 +1,73 @@ +@@ -0,0 +1,75 @@ +package com.destroystokyo.paper.network; + +import com.destroystokyo.paper.event.server.PaperServerListPingEvent; ++import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; ++import net.minecraft.ChatFormatting; +import net.minecraft.server.MinecraftServer; +import org.apache.commons.lang3.StringUtils; -+import org.bukkit.ChatColor; + +import java.net.InetSocketAddress; + @@ -68,13 +69,14 @@ index 0000000000000000000000000000000000000000..74c012fd40491f1d870fbc1aa8c318a2 + return event; + } + ++ @SuppressWarnings("deprecation") // Valid as this is the legacy status client + public static String getMotd(PaperServerListPingEvent event) { + return getFirstLine(event.getMotd()); + } + + public static String getUnformattedMotd(PaperServerListPingEvent event) { + // Strip color codes and all other occurrences of the color char (because it's used as delimiter) -+ return getFirstLine(StringUtils.remove(ChatColor.stripColor(event.getMotd()), ChatColor.COLOR_CHAR)); ++ return getFirstLine(StringUtils.remove(PlainTextComponentSerializer.plainText().serialize(event.motd()), ChatFormatting.PREFIX_CODE)); + } + + private static String getFirstLine(String s) { 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 1cba394c6d..a022fac841 100644 --- a/patches/server/0189-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0189-Flag-to-disable-the-channel-limit.patch @@ -9,7 +9,7 @@ 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 53074702d0d606ce0e26c4cf435c3b71b4336f5e..31fbfff6fb79601ade46b9867cd82da9db9cd2bd 100644 +index 05f43fab1fbc121ae6e5113ba485e0b2b89cb98b..6d0800737d1e017bc841fddcbd9ac6cb0be0f4fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -176,6 +176,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -20,7 +20,7 @@ index 53074702d0d606ce0e26c4cf435c3b71b4336f5e..31fbfff6fb79601ade46b9867cd82da9 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -2012,7 +2013,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2015,7 +2016,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end public void addChannel(String channel) { diff --git a/patches/server/0218-InventoryCloseEvent-Reason-API.patch b/patches/server/0218-InventoryCloseEvent-Reason-API.patch index 8f37887d32..e9c5063120 100644 --- a/patches/server/0218-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0218-InventoryCloseEvent-Reason-API.patch @@ -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 31fbfff6fb79601ade46b9867cd82da9db9cd2bd..966232147c9a308743a65fe581c84b449de1dbd3 100644 +index 6d0800737d1e017bc841fddcbd9ac6cb0be0f4fd..25b3e7f8f8182bb5de491fc2f6debf4d7a8cd252 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1207,7 +1207,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1210,7 +1210,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { 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 3c9df605d4..09bf54cc94 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 966232147c9a308743a65fe581c84b449de1dbd3..8fcffb0a9c3fa97758610371b6d03b0094c43c71 100644 +index 25b3e7f8f8182bb5de491fc2f6debf4d7a8cd252..dd22b04a5a30cc1dce87fba6f08f8f183af049a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2769,6 +2769,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2772,6 +2772,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 f30a32c278..b2393e976f 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 8fcffb0a9c3fa97758610371b6d03b0094c43c71..c19b004463e491674b6c4bc8bfc8851d4dbb4501 100644 +index dd22b04a5a30cc1dce87fba6f08f8f183af049a4..827e749ec994eb3472e5437e0ddf219da39555a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2272,7 +2272,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2275,7 +2275,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { 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 94bcf7c99a..9d881d9f87 100644 --- a/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -106,7 +106,7 @@ 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 c19b004463e491674b6c4bc8bfc8851d4dbb4501..66e7fba36b0810a1254f3937988a640db9a0e295 100644 +index 827e749ec994eb3472e5437e0ddf219da39555a4..d16cd51e59589cf9059c8c29e6421fd8f4871ca2 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 { @@ -117,7 +117,7 @@ index c19b004463e491674b6c4bc8bfc8851d4dbb4501..66e7fba36b0810a1254f3937988a640d // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1884,6 +1885,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1887,6 +1888,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index c19b004463e491674b6c4bc8bfc8851d4dbb4501..66e7fba36b0810a1254f3937988a640d public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1906,6 +1919,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1909,6 +1922,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index c19b004463e491674b6c4bc8bfc8851d4dbb4501..66e7fba36b0810a1254f3937988a640d if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1920,6 +1935,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1923,6 +1938,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 78a10ecb07..e44bae9b65 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 66e7fba36b0810a1254f3937988a640db9a0e295..2977d89a4c38346402527dcaa84b51a7707b2480 100644 +index d16cd51e59589cf9059c8c29e6421fd8f4871ca2..fdad04d657612979b5b9d30d132ca38efe81858d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2816,6 +2816,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2819,6 +2819,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0381-Implement-Player-Client-Options-API.patch b/patches/server/0381-Implement-Player-Client-Options-API.patch index 9a84971886..5aede2f515 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 2977d89a4c38346402527dcaa84b51a7707b2480..2cfe08bc1de682c845718e758ede718e94384d4d 100644 +index fdad04d657612979b5b9d30d132ca38efe81858d..254ff289883b37d42095ee286b138015f8dfb81f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -618,6 +618,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -621,6 +621,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message); } } diff --git a/patches/server/0456-Brand-support.patch b/patches/server/0456-Brand-support.patch index c7991ad7db..b98efb462f 100644 --- a/patches/server/0456-Brand-support.patch +++ b/patches/server/0456-Brand-support.patch @@ -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 2cfe08bc1de682c845718e758ede718e94384d4d..15caedd46ca0b4dba4d1d0fb3cabd24d324390fa 100644 +index 254ff289883b37d42095ee286b138015f8dfb81f..56f88fbc08154d30348bdead4e79b5f96b0aeb0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2943,6 +2943,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2946,6 +2946,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0490-Player-elytra-boost-API.patch b/patches/server/0490-Player-elytra-boost-API.patch index 64587296d0..c5b2cb514f 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 d127eba33abe5c0ae711221504b67cc2af3b0822..42f5a42b916e0d8ce9583d06c1ad3bc5ee6c4c9c 100644 +index 56f88fbc08154d30348bdead4e79b5f96b0aeb0d..f26aa477634f50e1e868c2f56006a5f058223916 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -640,6 +640,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -643,6 +643,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } throw new RuntimeException("Unknown settings type"); } 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 a9b0b4a93f..b15c4e0903 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 cd6a04777fadd22053ff35be18652a8273b217d2..c0338f597b9c50218862005220a8753d5822a6e4 100644 +index f26aa477634f50e1e868c2f56006a5f058223916..62d646c9bc9f14d6a66a0f1a32164882ef269f67 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2465,7 +2465,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2468,7 +2468,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/0545-Add-sendOpLevel-API.patch b/patches/server/0545-Add-sendOpLevel-API.patch index 77bf19c6c0..f2c4ba09d2 100644 --- a/patches/server/0545-Add-sendOpLevel-API.patch +++ b/patches/server/0545-Add-sendOpLevel-API.patch @@ -35,7 +35,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/ index c0338f597b9c50218862005220a8753d5822a6e4..0b0dc51dfb7174c359305448575ae714398917e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -654,6 +654,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -657,6 +657,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; } diff --git a/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch index 52f648c9ac..9d6aca8aba 100644 --- a/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch @@ -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 0b0dc51dfb7174c359305448575ae714398917e4..86276267f68d68c50184343186fd8d8867b1dc3f 100644 +index a927c725d08738fdd0f42e21efd09362e9da938d..2095d844bd819321c984f5432ceec9bea135fb73 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1518,7 +1518,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1521,7 +1521,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0629-Add-PlayerKickEvent-causes.patch b/patches/server/0629-Add-PlayerKickEvent-causes.patch index 3449d95511..bc9d11a7eb 100644 --- a/patches/server/0629-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0629-Add-PlayerKickEvent-causes.patch @@ -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 86276267f68d68c50184343186fd8d8867b1dc3f..d79c2ce6acc9a5b1239349ad5e1438cb035a9401 100644 +index 2095d844bd819321c984f5432ceec9bea135fb73..1944f812bffbe0d2b4d0a2d879acd83c0da98497 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -600,7 +600,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -603,7 +603,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 86276267f68d68c50184343186fd8d8867b1dc3f..d79c2ce6acc9a5b1239349ad5e1438cb } // Paper start -@@ -612,10 +612,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -615,10 +615,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void kick(final net.kyori.adventure.text.Component message) { diff --git a/patches/server/0665-Add-PlayerSetSpawnEvent.patch b/patches/server/0665-Add-PlayerSetSpawnEvent.patch index e3f98d26fd..e0b1773d4c 100644 --- a/patches/server/0665-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0665-Add-PlayerSetSpawnEvent.patch @@ -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 d79c2ce6acc9a5b1239349ad5e1438cb035a9401..9833e8bce6cc45fa053b71f64d71a57c1630595f 100644 +index 1944f812bffbe0d2b4d0a2d879acd83c0da98497..e5a9d5862461f2458987eecf05ea9a395afe368c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1338,9 +1338,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1341,9 +1341,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0754-Add-player-health-update-API.patch b/patches/server/0754-Add-player-health-update-API.patch index 1b0a9c6e2e..6d91fc4c0f 100644 --- a/patches/server/0754-Add-player-health-update-API.patch +++ b/patches/server/0754-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 9833e8bce6cc45fa053b71f64d71a57c1630595f..dae4efa2bceaf2d4e0ed573c9cbc49a8edda0202 100644 +index e5a9d5862461f2458987eecf05ea9a395afe368c..64c2026a5b4231434bb750bdf95a7751942cd701 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2344,9 +2344,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2347,9 +2347,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index 9833e8bce6cc45fa053b71f64d71a57c1630595f..dae4efa2bceaf2d4e0ed573c9cbc49a8 if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -2355,6 +2357,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2358,6 +2360,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end } diff --git a/patches/server/0785-Multi-Block-Change-API-Implementation.patch b/patches/server/0785-Multi-Block-Change-API-Implementation.patch index e08c8aa33e..7107bc3eb3 100644 --- a/patches/server/0785-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0785-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 c1c8b73f91655e2a3a6d4706559a31dc5f5fecc3..63f383fec691d7f6160ec3d8d675c8db0aad1bcd 100644 +index 64c2026a5b4231434bb750bdf95a7751942cd701..51ddd6f0265c64241ff9d8b85959346e8106fa5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -944,6 +944,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -947,6 +947,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0864-More-Teleport-API.patch b/patches/server/0864-More-Teleport-API.patch index 5e4d5f6263..a82fe2fc8e 100644 --- a/patches/server/0864-More-Teleport-API.patch +++ b/patches/server/0864-More-Teleport-API.patch @@ -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 21ad677121cc292bc1d1ecccb4da348829b46a46..2e36c53d5118ab37561e364b1d13c7e2ad72b4bf 100644 +index 51ddd6f0265c64241ff9d8b85959346e8106fa5e..0df3bb9893d5ed22a9e9f85ebc8ef7987168923a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1231,13 +1231,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1234,13 +1234,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setRotation(float yaw, float pitch) { @@ -179,7 +179,7 @@ index 21ad677121cc292bc1d1ecccb4da348829b46a46..2e36c53d5118ab37561e364b1d13c7e2 location.checkFinite(); ServerPlayer entity = this.getHandle(); -@@ -1250,7 +1337,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1253,7 +1340,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } @@ -188,7 +188,7 @@ index 21ad677121cc292bc1d1ecccb4da348829b46a46..2e36c53d5118ab37561e364b1d13c7e2 return false; } -@@ -1268,7 +1355,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1271,7 +1358,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 21ad677121cc292bc1d1ecccb4da348829b46a46..2e36c53d5118ab37561e364b1d13c7e2 // SPIGOT-5509: Wakeup, similar to riding if (this.isSleeping()) { -@@ -1284,13 +1371,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1287,13 +1374,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle(); // Close any foreign inventory diff --git a/patches/server/0869-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0869-Custom-Chat-Completion-Suggestions-API.patch index c939623dc0..9b459453e7 100644 --- a/patches/server/0869-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0869-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 b6efec1f72b038dfdbe8f3676006d2eed864dffb..d008c33aadb658e0b71e11fb29e904af64479f60 100644 +index 0df3bb9893d5ed22a9e9f85ebc8ef7987168923a..7ad4d931f6dabff1400695fcc016da2cd8f7df07 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -666,6 +666,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -669,6 +669,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().getServer().getPlayerList().sendPlayerPermissionLevel(this.getHandle(), level, false); } diff --git a/patches/server/0882-Add-custom-destroyerIdentity-to-sendBlockDamage.patch b/patches/server/0882-Add-custom-destroyerIdentity-to-sendBlockDamage.patch index c7627470e8..114bef97cc 100644 --- a/patches/server/0882-Add-custom-destroyerIdentity-to-sendBlockDamage.patch +++ b/patches/server/0882-Add-custom-destroyerIdentity-to-sendBlockDamage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add custom destroyerIdentity to sendBlockDamage diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d008c33aadb658e0b71e11fb29e904af64479f60..01978d9c56ec46669d22d363af36c1c596c318ba 100644 +index 7ad4d931f6dabff1400695fcc016da2cd8f7df07..0bb3a20c1f390b14edc9286eee5d976ab7d45f44 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1029,13 +1029,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1032,13 +1032,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void sendBlockDamage(Location loc, float progress) { diff --git a/patches/server/0902-Elder-Guardian-appearance-API.patch b/patches/server/0902-Elder-Guardian-appearance-API.patch index fb9c97d1d6..0602646c98 100644 --- a/patches/server/0902-Elder-Guardian-appearance-API.patch +++ b/patches/server/0902-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 82a955a5c7979090c95ed50478265b39ce89af35..3477315170312911a12ff5825522617a0c6c078c 100644 +index 0bb3a20c1f390b14edc9286eee5d976ab7d45f44..2c3035da5db7374fda5c05b496728f308e53bc2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3123,6 +3123,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3126,6 +3126,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0919-Add-Player-Warden-Warning-API.patch b/patches/server/0919-Add-Player-Warden-Warning-API.patch index d9d2dd55f8..8a1a46e500 100644 --- a/patches/server/0919-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0919-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 3477315170312911a12ff5825522617a0c6c078c..826fd85d946b7049e95a8e58b9e582f3958f05d4 100644 +index 2c3035da5db7374fda5c05b496728f308e53bc2f..634e1b33996471e2a9dc0274f3a22cffcb0d4ff7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3128,6 +3128,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3131,6 +3131,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/0933-fix-Instruments.patch b/patches/server/0933-fix-Instruments.patch index ac81b1768f..77044918ef 100644 --- a/patches/server/0933-fix-Instruments.patch +++ b/patches/server/0933-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 7944f6a130da8f370f8018fad495694c61a94338..c3c4bc73310993f3a92d8aa171289fc61da8949f 100644 +index 634e1b33996471e2a9dc0274f3a22cffcb0d4ff7..18357352824fdd6604c450b759646134a3a42074 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -768,62 +768,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -771,62 +771,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/0944-Flying-Fall-Damage.patch b/patches/server/0944-Flying-Fall-Damage.patch index 5708d12084..99424ba64b 100644 --- a/patches/server/0944-Flying-Fall-Damage.patch +++ b/patches/server/0944-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 63f8a92cadfecc2d0e5256c5de822fe86d5ed91b..cdb1e5d82ff1e18e3f27c816df57bd9eeebbe80b 100644 +index 18357352824fdd6604c450b759646134a3a42074..a13b0db44fca0b9c3b08687a3058fc953aa5e4e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2291,6 +2291,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2294,6 +2294,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().onUpdateAbilities(); } diff --git a/patches/server/0950-Win-Screen-API.patch b/patches/server/0950-Win-Screen-API.patch index 5927de4938..24af96107a 100644 --- a/patches/server/0950-Win-Screen-API.patch +++ b/patches/server/0950-Win-Screen-API.patch @@ -10,7 +10,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/ index cdb1e5d82ff1e18e3f27c816df57bd9eeebbe80b..0ae1fce0c1a2e3bfbbab756a088fc76545e263fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1208,6 +1208,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1211,6 +1211,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); }