diff --git a/src/main/java/co/aikar/commands/RootCommand.java b/src/main/java/co/aikar/commands/RootCommand.java index e6e78e24..7cb3aac4 100644 --- a/src/main/java/co/aikar/commands/RootCommand.java +++ b/src/main/java/co/aikar/commands/RootCommand.java @@ -54,17 +54,20 @@ public class RootCommand extends Command { @Override public boolean execute(CommandSender sender, String commandLabel, String[] args) { - if (!this.defCommand.testPermission(sender)) { - return true; - } for (int i = args.length; i >= 0; i--) { String checkSub = StringUtils.join(args, " ", 0, i).toLowerCase(); BaseCommand subHandler = this.subCommands.get(checkSub); if (subHandler != null) { + if (!subHandler.testPermission(sender)) { + return true; + } subHandler.execute(sender, commandLabel, args); return false; } } + if (!this.defCommand.testPermission(sender)) { + return true; + } this.defCommand.execute(sender, commandLabel, args); return false; }