Expose command interface.

This commit is contained in:
garbagemule
2013-08-05 12:42:34 +02:00
parent 48686aafcb
commit 312ef3c55a
2 changed files with 10 additions and 5 deletions
+8 -3
View File
@@ -44,6 +44,7 @@ public class MobArena extends JavaPlugin
{
private Config config;
private ArenaMaster arenaMaster;
private CommandHandler commandHandler;
// Inventories from disconnects
private Set<String> inventoriesToRestore;
@@ -134,9 +135,9 @@ public class MobArena extends JavaPlugin
private void registerListeners() {
// Bind the /ma, /mobarena commands to MACommands.
CommandHandler handler = new CommandHandler(this);
getCommand("ma").setExecutor(handler);
getCommand("mobarena").setExecutor(handler);
commandHandler = new CommandHandler(this);
getCommand("ma").setExecutor(commandHandler);
getCommand("mobarena").setExecutor(commandHandler);
PluginManager pm = this.getServer().getPluginManager();
pm.registerEvents(new MAGlobalListener(this, arenaMaster), this);
@@ -228,6 +229,10 @@ public class MobArena extends JavaPlugin
public ArenaMaster getArenaMaster() {
return arenaMaster;
}
public CommandHandler getCommandHandler() {
return commandHandler;
}
private void updateSettings(Config config) {
Set<String> arenas = config.getKeys("arenas");
@@ -201,12 +201,12 @@ public class CommandHandler implements CommandExecutor
}
/**
* Register a single command.
* Register a command.
* The Command's CommandInfo annotation is queried to find its pattern
* string, which is used to map the commands.
* @param c a Command
*/
private void register(Class<? extends Command> c) {
public void register(Class<? extends Command> c) {
CommandInfo info = c.getAnnotation(CommandInfo.class);
if (info == null) return;