diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index e63b2b42..1b6dd292 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -499,7 +499,7 @@ public abstract class BaseCommand { } public boolean hasPermission(CommandIssuer sender) { - return permission == null || permission.isEmpty() || sender.hasPermission(permission); + return manager.hasPermission(sender, permission); } public String getName() { diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index eb7dcbb4..5929726d 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -69,6 +69,11 @@ abstract class CommandManager { public abstract void registerCommand(BaseCommand command); public abstract boolean hasRegisteredCommands(); public abstract boolean isCommandIssuer(Class type); + + public boolean hasPermission(CommandIssuer issuer, String permission) { + return permission == null || permission.isEmpty() || issuer.hasPermission(permission); + } + public abstract CommandIssuer getCommandIssuer(Object issuer); public abstract RootCommand createRootCommand(String cmd); @@ -84,7 +89,7 @@ abstract class CommandManager { public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) { return new RegisteredCommand(command, cmdName, method, prefSubCommand); } - public abstract void log(final LogLevel level, final String message); + public abstract void log(final LogLevel level, final String message, final Throwable throwable); } diff --git a/core/src/main/java/co/aikar/commands/RegisteredCommand.java b/core/src/main/java/co/aikar/commands/RegisteredCommand.java index cc312000..be32a4b6 100644 --- a/core/src/main/java/co/aikar/commands/RegisteredCommand.java +++ b/core/src/main/java/co/aikar/commands/RegisteredCommand.java @@ -218,8 +218,8 @@ public class RegisteredCommand