diff options
author | Nassim Jahnke <[email protected]> | 2024-10-27 09:43:00 +0100 |
---|---|---|
committer | Nassim Jahnke <[email protected]> | 2024-10-27 10:03:59 +0100 |
commit | 348c8550967380d9843e365e769f67eee8a8e474 (patch) | |
tree | 185991293a5343239e1107ebc98df37de3d020a5 /patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch | |
parent | bcf52fe5fd7b178e3c72f53762c8e32ca7910dc4 (diff) | |
download | Paper-348c8550967380d9843e365e769f67eee8a8e474.tar.gz Paper-348c8550967380d9843e365e769f67eee8a8e474.zip |
Readd last API patch (with TODO)
Diffstat (limited to 'patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch')
-rw-r--r-- | patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch b/patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch deleted file mode 100644 index 88334f2709..0000000000 --- a/patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nassim Jahnke <[email protected]> -Date: Sat, 21 Sep 2024 22:01:52 +0200 -Subject: [PATCH] Fix PlayerCommandPreprocessEvent on signed commands - - -diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b57f9e048581f67ab031731553e82829d7eb7c1d..bcf6c5ec1cb4be806d49f30f3404498018760f91 100644 ---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2195,24 +2195,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - - PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(this.getCraftPlayer(), command, new LazyPlayerSet(this.server)); - this.cserver.getPluginManager().callEvent(event); -- -- if (event.isCancelled()) { -- return; -- } - command = event.getMessage().substring(1); - -- ParseResults<CommandSourceStack> parseresults = this.parseCommand(command); -- // CraftBukkit end -- -- Map map; -+ // Paper start - Fix cancellation and message changing -+ ParseResults<CommandSourceStack> parseresults = this.parseCommand(packet.command()); - -+ Map<String, PlayerChatMessage> map; - try { -- map = (packet.command().equals(command)) ? this.collectSignedArguments(packet, SignableCommand.of(parseresults), lastSeenMessages) : Collections.emptyMap(); // CraftBukkit -+ // Always parse the original command to add to the chat chain -+ map = this.collectSignedArguments(packet, SignableCommand.of(parseresults), lastSeenMessages); - } catch (SignedMessageChain.DecodeException signedmessagechain_a) { - this.handleMessageDecodeFailure(signedmessagechain_a); - return; - } - -+ if (event.isCancelled()) { -+ // Only now are we actually good to return -+ return; -+ } -+ -+ // Remove signed parts if the command was changed -+ if (!command.equals(packet.command())) { -+ parseresults = this.parseCommand(command); -+ map = Collections.emptyMap(); -+ } -+ // Paper end - Fix cancellation and message changing -+ - CommandSigningContext.SignedArguments commandsigningcontext_a = new CommandSigningContext.SignedArguments(map); - - parseresults = Commands.<CommandSourceStack>mapSource(parseresults, (commandlistenerwrapper) -> { // CraftBukkit - decompile error |