diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/ParentCommand.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/ParentCommand.java index d0751a5..f8d1f79 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/ParentCommand.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/ParentCommand.java @@ -140,11 +140,11 @@ public abstract class ParentCommand extends ChildCommand { if (!childCommand.getName().equalsIgnoreCase(args[0])) { continue; } - if (childCommand instanceof ParentCommand || childCommand.hasPermission(sender)) { - return childCommand.onCommand(sender, command, label, Arrays.copyOfRange(args, 1, args.length)); + if (!childCommand.hasPermission(sender)) { + CoreMessage.COMMAND_NOT_HAS_PERMISSION.show(sender); + return true; } - CoreMessage.COMMAND_NOT_HAS_PERMISSION.show(sender); - return true; + return childCommand.onCommand(sender, command, label, Arrays.copyOfRange(args, 1, args.length)); } CoreMessage.COMMAND_NOT_FOUND.show(sender); return true; @@ -152,12 +152,6 @@ public abstract class ParentCommand extends ChildCommand { @Override public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) { - if (args.length == 0) { - return childCommands.stream() - .filter(o -> o.hasPermission(sender)) - .map(ChildCommand::getName) - .collect(Collectors.toList()); - } for (ChildCommand child : childCommands) { if (args[0].equalsIgnoreCase(child.getName())) { return child.onTabComplete(sender, command, alias, Arrays.copyOfRange(args, 1, args.length));