From c4aa94426fe367b53e79354e27dd2b6ea7eed2bc Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Mon, 15 May 2023 00:22:13 +0800 Subject: [PATCH] Fix Bukkit player getter (#33) --- patches/server/0009-Fakeplayer-support.patch | 15 ++++++++------- patches/server/0017-No-chat-sign.patch | 4 ++-- patches/server/0045-PCA-sync-protocol.patch | 6 +++--- patches/server/0046-BBOR-Protocol.patch | 10 +++++----- patches/server/0049-Jade-Protocol.patch | 6 +++--- .../server/0056-Return-nether-portal-fix.patch | 6 +++--- patches/server/0057-Appleskin-Protocol.patch | 8 ++++---- patches/server/0058-Xaero-Map-Protocol.patch | 4 ++-- 8 files changed, 30 insertions(+), 29 deletions(-) diff --git a/patches/server/0009-Fakeplayer-support.patch b/patches/server/0009-Fakeplayer-support.patch index 5c3b20c8..960e0829 100644 --- a/patches/server/0009-Fakeplayer-support.patch +++ b/patches/server/0009-Fakeplayer-support.patch @@ -61,7 +61,7 @@ index 26888ebd38280de92e41dd8006d2b24e874afe26..a1ce0cce055ad5c92b0f20760471795f AdvancementProgress advancementprogress = this.getOrStartProgress(advancement); boolean flag1 = advancementprogress.isDone(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1d4d02f26391ac55c7631817f09d05e2769b0d29..0043261e4fc1c7de6281b9b150f71aa9c2494aa1 100644 +index a0053455eaeca04855b689f3b00b78dac39d08e3..fa1125c32f601e67fa3f9a1912b430cf975a1af8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -183,6 +183,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; @@ -87,7 +87,7 @@ index 1d4d02f26391ac55c7631817f09d05e2769b0d29..0043261e4fc1c7de6281b9b150f71aa9 PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver1.getWorld()); this.level.getCraftServer().getPluginManager().callEvent(changeEvent); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..9396de2ab4d04689476467622cbdba535ed15044 100644 +index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..18fde115b543f6db866779f20f363fab8d569dd6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -81,6 +81,7 @@ import net.minecraft.server.ServerScoreboard; @@ -114,17 +114,18 @@ index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..9396de2ab4d04689476467622cbdba53 import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerChangedWorldEvent; import org.bukkit.event.player.PlayerJoinEvent; -@@ -333,6 +334,18 @@ public abstract class PlayerList { +@@ -333,6 +334,19 @@ public abstract class PlayerList { return; } + // Leaves start - bot support + if (top.leavesmc.leaves.LeavesConfig.fakeplayerSupport) { -+ ServerBot bot = ServerBot.getBot(player.getName().getString()); ++ ServerBot bot = ServerBot.getBot(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); + if (bot != null) { + bot.die(bot.damageSources().outOfWorld()); // Leaves - remove bot with the same name ++ this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); ++ this.playersByUUID.put(player.getUUID(), player); + } -+ + ServerBot.getBots().forEach(bot1 -> + bot1.render(playerconnection, true,player.getBukkitEntity().getWorld() == bot1.getBukkitEntity().getWorld())); // Leaves - render bot + } @@ -133,7 +134,7 @@ index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..9396de2ab4d04689476467622cbdba53 final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure -@@ -1077,11 +1090,16 @@ public abstract class PlayerList { +@@ -1077,11 +1091,16 @@ public abstract class PlayerList { } public String[] getPlayerNamesArray() { @@ -151,7 +152,7 @@ index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..9396de2ab4d04689476467622cbdba53 return astring; } -@@ -1545,4 +1563,16 @@ public abstract class PlayerList { +@@ -1545,4 +1564,16 @@ public abstract class PlayerList { public boolean isAllowCheatsForAllPlayers() { return this.allowCheatsForAllPlayers; } diff --git a/patches/server/0017-No-chat-sign.patch b/patches/server/0017-No-chat-sign.patch index add23a09..9d64ee8a 100644 --- a/patches/server/0017-No-chat-sign.patch +++ b/patches/server/0017-No-chat-sign.patch @@ -155,10 +155,10 @@ index 9c5754ac3b00d3f0cb80ec83a2beefadee6d0a14..7221272dd2786dd47afb6af5d4198ed9 if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9396de2ab4d04689476467622cbdba535ed15044..67780647f5dc22b484c0817e1e8498566180c713 100644 +index 18fde115b543f6db866779f20f363fab8d569dd6..4b01d4e247936b56cc4a833002ee081fb12dc0b0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1439,7 +1439,7 @@ public abstract class PlayerList { +@@ -1440,7 +1440,7 @@ public abstract class PlayerList { } public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public diff --git a/patches/server/0045-PCA-sync-protocol.patch b/patches/server/0045-PCA-sync-protocol.patch index d654ec1c..e04510e0 100644 --- a/patches/server/0045-PCA-sync-protocol.patch +++ b/patches/server/0045-PCA-sync-protocol.patch @@ -35,10 +35,10 @@ index 7221272dd2786dd47afb6af5d4198ed96af1cce3..8985a92d78ebf150088f8a1f9df7dd88 byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 67780647f5dc22b484c0817e1e8498566180c713..821bb09f385306005c5ad206c532f898b40729df 100644 +index 4b01d4e247936b56cc4a833002ee081fb12dc0b0..cf961362bcfa2f8d3042a0f0995a35d9bbcb4f6f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -345,6 +345,7 @@ public abstract class PlayerList { +@@ -346,6 +346,7 @@ public abstract class PlayerList { bot1.render(playerconnection, true,player.getBukkitEntity().getWorld() == bot1.getBukkitEntity().getWorld())); // Leaves - render bot } // Leaves end - bot support @@ -343,7 +343,7 @@ index b7686fd63b7c5d88c3a12ec4ee9bc01a17f997e0..25a9c38c60d183bb65b14f4d7550ab98 public int[] getSlotsForFace(Direction side) { return ShulkerBoxBlockEntity.SLOTS; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1658adddd81880f0231c714e25ebb588ca7fd3c8..e4189f444da906d89d7c910c4f0e61e058bc31ab 100644 +index d6e2c67650341f823f08c07c3eb576530959338d..7f2602056b595ab7435defb9ddfb66889ad5f08d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -381,6 +381,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0046-BBOR-Protocol.patch b/patches/server/0046-BBOR-Protocol.patch index 3c28f5ae..4f744469 100644 --- a/patches/server/0046-BBOR-Protocol.patch +++ b/patches/server/0046-BBOR-Protocol.patch @@ -32,10 +32,10 @@ index 8985a92d78ebf150088f8a1f9df7dd881a7789b0..a859aac2accb462c2f3ed1a93a34e0bb ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 821bb09f385306005c5ad206c532f898b40729df..cb82e2e7cca1d093490de8f6768577eaad01e6ef 100644 +index cf961362bcfa2f8d3042a0f0995a35d9bbcb4f6f..61266233d27e97dc21c0291c66341bd2d2efbdf5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -346,6 +346,7 @@ public abstract class PlayerList { +@@ -347,6 +347,7 @@ public abstract class PlayerList { } // Leaves end - bot support top.leavesmc.leaves.protocol.PcaSyncProtocol.onJoin(player); // Leaves - pca @@ -43,7 +43,7 @@ index 821bb09f385306005c5ad206c532f898b40729df..cb82e2e7cca1d093490de8f6768577ea final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); -@@ -589,6 +590,7 @@ public abstract class PlayerList { +@@ -590,6 +591,7 @@ public abstract class PlayerList { return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : PaperAdventure.asAdventure(entityplayer.getDisplayName()))); } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { @@ -51,7 +51,7 @@ index 821bb09f385306005c5ad206c532f898b40729df..cb82e2e7cca1d093490de8f6768577ea // Paper end ServerLevel worldserver = entityplayer.getLevel(); -@@ -1558,7 +1560,7 @@ public abstract class PlayerList { +@@ -1559,7 +1561,7 @@ public abstract class PlayerList { entityplayer.connection.send(packetplayoutrecipeupdate); entityplayer.getRecipeBook().sendInitialRecipeBook(entityplayer); } @@ -77,7 +77,7 @@ index 19012c60ea6f725248f7e4a18d78eb1025f4b3a4..3a093befff648b394afd51d44b85f935 public Level getLevel() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e4189f444da906d89d7c910c4f0e61e058bc31ab..97ddfc93ddcb8241135d51f742281ed67cd716fd 100644 +index 7f2602056b595ab7435defb9ddfb66889ad5f08d..14553aaea6224fe7e6461c64d1ba2b0d427d0cda 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -965,6 +965,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0049-Jade-Protocol.patch b/patches/server/0049-Jade-Protocol.patch index d1ac524e..e4b7b549 100644 --- a/patches/server/0049-Jade-Protocol.patch +++ b/patches/server/0049-Jade-Protocol.patch @@ -20,10 +20,10 @@ index a859aac2accb462c2f3ed1a93a34e0bba8a0acb5..b7264b1bcbc72adc44fdca3a2990c037 ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cb82e2e7cca1d093490de8f6768577eaad01e6ef..f9dae1b30cc48dfd547c82b98e041c51b6c87e63 100644 +index 61266233d27e97dc21c0291c66341bd2d2efbdf5..63ed9e70756a3bed4a4357b2dcf3f201b0a61833 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -347,6 +347,7 @@ public abstract class PlayerList { +@@ -348,6 +348,7 @@ public abstract class PlayerList { // Leaves end - bot support top.leavesmc.leaves.protocol.PcaSyncProtocol.onJoin(player); // Leaves - pca top.leavesmc.leaves.protocol.BBORProtocol.onPlayerLoggedIn(player); // Leaves - bbor @@ -45,7 +45,7 @@ index 9058f9f2e561cda9f475f33218bf7a78297de4bc..196adc124a06e7c7712e4f70fada6d50 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 97ddfc93ddcb8241135d51f742281ed67cd716fd..1353ac5ff7e881e2499e98e8bfc37c9a919d7e67 100644 +index 14553aaea6224fe7e6461c64d1ba2b0d427d0cda..640bf562bc2b29bbba5375eea5bc4714b4bb9873 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -382,6 +382,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0056-Return-nether-portal-fix.patch b/patches/server/0056-Return-nether-portal-fix.patch index 6e078e5d..35fecf96 100644 --- a/patches/server/0056-Return-nether-portal-fix.patch +++ b/patches/server/0056-Return-nether-portal-fix.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Return nether portal fix This patch is powered by NetherPortalFix(https://github.com/TwelveIterationMods/NetherPortalFix) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 741ec2c1be0661f503e246d1c16b3ac97b1fa2e4..9c4df8ba64afd52cf9e0c9be5016c0d00e566b72 100644 +index 6d2c2a73fe06c4b45ccc43a2702539ec824b2989..07ef654c1c3eca0b28f2f788935a9eb9f2c8073d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -184,6 +184,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -74,7 +74,7 @@ index 741ec2c1be0661f503e246d1c16b3ac97b1fa2e4..9c4df8ba64afd52cf9e0c9be5016c0d0 return optional; } else { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index f9dae1b30cc48dfd547c82b98e041c51b6c87e63..b4722632d7dccb8d9893cc81a95448339e87fdaf 100644 +index 63ed9e70756a3bed4a4357b2dcf3f201b0a61833..e78973ade9c934a6b8472ae83ff47bbf328996b4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -27,6 +27,8 @@ import java.util.UUID; @@ -95,7 +95,7 @@ index f9dae1b30cc48dfd547c82b98e041c51b6c87e63..b4722632d7dccb8d9893cc81a9544833 public abstract class PlayerList { public static final File USERBANLIST_FILE = new File("banned-players.json"); -@@ -971,6 +975,24 @@ public abstract class PlayerList { +@@ -972,6 +976,24 @@ public abstract class PlayerList { if (fromWorld != location.getWorld()) { PlayerChangedWorldEvent event = new PlayerChangedWorldEvent(entityplayer.getBukkitEntity(), fromWorld); server.server.getPluginManager().callEvent(event); diff --git a/patches/server/0057-Appleskin-Protocol.patch b/patches/server/0057-Appleskin-Protocol.patch index 76876ce8..e17c1caa 100644 --- a/patches/server/0057-Appleskin-Protocol.patch +++ b/patches/server/0057-Appleskin-Protocol.patch @@ -17,10 +17,10 @@ index b02c2dbed413a06d01e41a3dbd1701d070c27d5b..7c90cc6ceedd4103c210757b2cc8a6ee MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper for (int i = 0; i < this.tickables.size(); ++i) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b4722632d7dccb8d9893cc81a95448339e87fdaf..3cc6351cf2d4b9102527e38e4ee895e7074ec076 100644 +index e78973ade9c934a6b8472ae83ff47bbf328996b4..023196e501f627621861851d3bcd7576d883994d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -352,6 +352,7 @@ public abstract class PlayerList { +@@ -353,6 +353,7 @@ public abstract class PlayerList { top.leavesmc.leaves.protocol.PcaSyncProtocol.onJoin(player); // Leaves - pca top.leavesmc.leaves.protocol.BBORProtocol.onPlayerLoggedIn(player); // Leaves - bbor top.leavesmc.leaves.protocol.JadeProtocol.onPlayerJoin(player); // Leaves - Jade @@ -28,7 +28,7 @@ index b4722632d7dccb8d9893cc81a95448339e87fdaf..3cc6351cf2d4b9102527e38e4ee895e7 final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); -@@ -596,6 +597,7 @@ public abstract class PlayerList { +@@ -597,6 +598,7 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { top.leavesmc.leaves.protocol.BBORProtocol.onPlayerLoggedOut(entityplayer); // Leaves - bbor @@ -37,7 +37,7 @@ index b4722632d7dccb8d9893cc81a95448339e87fdaf..3cc6351cf2d4b9102527e38e4ee895e7 ServerLevel worldserver = entityplayer.getLevel(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1353ac5ff7e881e2499e98e8bfc37c9a919d7e67..fb0164a3d77cf0b3042b8854c22b3b60292c1d4d 100644 +index 640bf562bc2b29bbba5375eea5bc4714b4bb9873..2a4c9ed93790a77b00dcc32996043f5a6304c09a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -978,6 +978,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0058-Xaero-Map-Protocol.patch b/patches/server/0058-Xaero-Map-Protocol.patch index 4ec9422d..9f8bb3de 100644 --- a/patches/server/0058-Xaero-Map-Protocol.patch +++ b/patches/server/0058-Xaero-Map-Protocol.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Xaero Map Protocol diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3cc6351cf2d4b9102527e38e4ee895e7074ec076..58070c3661ac33d5b0e89fbf58fa6ddb1e0e4a30 100644 +index 023196e501f627621861851d3bcd7576d883994d..528a039c1edc2edafadd56b5dc5cb337d72edab2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1284,6 +1284,7 @@ public abstract class PlayerList { +@@ -1285,6 +1285,7 @@ public abstract class PlayerList { player.connection.send(new ClientboundInitializeBorderPacket(worldborder)); player.connection.send(new ClientboundSetTimePacket(world.getGameTime(), world.getDayTime(), world.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(world.getSharedSpawnPos(), world.getSharedSpawnAngle()));