do not correct the command input

in case some mongoloid plugin decides to not filter out the / and rawdog the message into Player#performCommand
This commit is contained in:
2023-11-05 22:04:29 +01:00
parent 75b91a70d3
commit 3c31081b42
@@ -21,10 +21,7 @@ public class PlayerCommandPreProcessListener implements Listener {
String caseSensitiveLabel = CommandUtil.getCommandLabel(event.getMessage()); String caseSensitiveLabel = CommandUtil.getCommandLabel(event.getMessage());
String label = caseSensitiveLabel.toLowerCase(); String label = caseSensitiveLabel.toLowerCase();
String fullCommand = event.getMessage().substring(label.length()+1); CommandWhitelistBukkit.getPlugin().getLogger().info("Message after: "+event.getMessage());
fullCommand = "/"+label+fullCommand;
event.setMessage(fullCommand);
BukkitAudiences audiences = CommandWhitelistBukkit.getAudiences(); BukkitAudiences audiences = CommandWhitelistBukkit.getAudiences();
ConfigCache config = CommandWhitelistBukkit.getConfigCache(); ConfigCache config = CommandWhitelistBukkit.getConfigCache();
@@ -36,8 +33,9 @@ public class PlayerCommandPreProcessListener implements Listener {
} }
HashSet<String> bannedSubCommands = CommandWhitelistBukkit.getSuggestions(player); HashSet<String> bannedSubCommands = CommandWhitelistBukkit.getSuggestions(player);
String messageWithoutSlash = event.getMessage().startsWith("/") ? event.getMessage().substring(1) : event.getMessage();
for (String bannedSubCommand : bannedSubCommands) { for (String bannedSubCommand : bannedSubCommands) {
if (event.getMessage().toLowerCase().substring(1).startsWith(bannedSubCommand)) { if (messageWithoutSlash.startsWith(bannedSubCommand)) {
event.setCancelled(true); event.setCancelled(true);
audiences.player(player).sendMessage(CWCommand.miniMessage.deserialize(config.prefix + config.subcommand_denied)); audiences.player(player).sendMessage(CWCommand.miniMessage.deserialize(config.prefix + config.subcommand_denied));
return; return;