From fb67d7c6c4f41962a09000857a5dc1dcbcd2f5ab Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Thu, 16 Sep 2021 17:55:49 +0200 Subject: [PATCH] Only show commands you have perms for --- .../minecraft/commands/MinecraftCommand.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/MinecraftCommand.java b/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/MinecraftCommand.java index 6e9f6f5..10936ff 100644 --- a/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/MinecraftCommand.java +++ b/src/main/java/com/alttd/proxydiscordlink/minecraft/commands/MinecraftCommand.java @@ -55,12 +55,19 @@ public class MinecraftCommand implements SimpleCommand { List suggest = new ArrayList<>(); if (args.length == 0) { - subCommands.forEach(subCommand -> suggest.add(subCommand.getName())); + subCommands.stream() + .filter(subCommand -> invocation.source().hasPermission(subCommand.getPermission())) + .forEach(subCommand -> suggest.add(subCommand.getName())); } else if (args.length <= 1) { - subCommands.stream().filter(subCommand -> subCommand.getName().startsWith(args[0].toLowerCase())) + subCommands.stream() + .filter(subCommand -> invocation.source().hasPermission(subCommand.getPermission())) + .filter(subCommand -> subCommand.getName().startsWith(args[0].toLowerCase())) .forEach(subCommand -> suggest.add(subCommand.getName())); } else { - subCommands.stream().filter(subCommand -> subCommand.getName().equalsIgnoreCase(args[0])).findFirst() + subCommands.stream() + .filter(subCommand -> invocation.source().hasPermission(subCommand.getPermission())) + .filter(subCommand -> subCommand.getName().equalsIgnoreCase(args[0])) + .findFirst() .ifPresent(subCommand -> suggest.addAll(subCommand.suggest(args))); }