From b2ef4f7576577ba93cdbf7806e98bc60743f6227 Mon Sep 17 00:00:00 2001 From: Adrian Date: Sat, 25 Jan 2025 01:27:26 -0500 Subject: [PATCH] fix: Ignore proxy commands executed by plugins These executions are never transmitted to the backend server and can cause bugs --- .../velocity/listener/PlayerCommandListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/velocity/src/main/java/io/github/_4drian3d/signedvelocity/velocity/listener/PlayerCommandListener.java b/velocity/src/main/java/io/github/_4drian3d/signedvelocity/velocity/listener/PlayerCommandListener.java index 8d197a5..714ab5f 100644 --- a/velocity/src/main/java/io/github/_4drian3d/signedvelocity/velocity/listener/PlayerCommandListener.java +++ b/velocity/src/main/java/io/github/_4drian3d/signedvelocity/velocity/listener/PlayerCommandListener.java @@ -29,7 +29,12 @@ public void register() { @Override public @Nullable EventTask executeAsync(final CommandExecuteEvent event) { final CommandExecuteEvent.CommandResult result = event.getResult(); + // A plugin command invocation, like CommandManager#executeAsync(CommandSource, String) + if (event.getInvocationInfo().source() == CommandExecuteEvent.Source.API) { + return null; + } + // A non-player command invocation if (!(event.getCommandSource() instanceof Player player)) return null; return EventTask.withContinuation(continuation -> { final ServerConnection server = player.getCurrentServer().orElse(null);