Added an invokeMethod hook to CommandsManager, that wraps method invocation and can be overridden

This commit is contained in:
TomyLobo 2011-08-08 10:45:19 +02:00
parent 96eb94155c
commit 2c155c241b

View File

@ -398,6 +398,11 @@ public abstract class CommandsManager<T> {
Object instance = instances.get(method);
invokeMethod(parent, args, player, method, instance, methodArgs, argsCount);
}
}
public void invokeMethod(Method parent, String[] args, T player, Method method, Object instance, Object[] methodArgs, int level) throws CommandException {
try {
method.invoke(instance, methodArgs);
} catch (IllegalArgumentException e) {
@ -412,7 +417,6 @@ public abstract class CommandsManager<T> {
throw new WrappedCommandException(e.getCause());
}
}
}
/**
* Returns whether a player has access to a command.