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))); }