指令管理器

CommandManager 作為管理器,用於監視被輸入到聊天室的指令,以及將他們重新導向至正確的指令處理器。為了註冊你的指令,使用 CommandManager#register(Object, CommandCallable, String…) 方法,以參數傳入你的插件、指令實例,以及所有需要的別名。

通常你希望在 GameInitializationEvent 被呼叫時註冊你的指令。如果你從插件的主類別註冊指令的話,使用 this 作為 plugin 參數。

import org.spongepowered.api.Sponge;
import org.spongepowered.api.command.CommandManager;

CommandManager cmdManager = Sponge.getCommandManager();
cmdManager.register(this, myCommandSpec, "alias1", "alias2", "alias3");

備註

命令的实例后的参数就是待注册的命令的所有别名。你可以添加任意多的字符串。没有被其他命令占用的第一个别名将成为命令的主名称。这意味着已被其他命令占用的别名会被忽略。

CommandManager 也能夠以撰寫程式的方式呼叫一個指令:

cmdManager.process(player, "msg Notch hi notch!");

你也可以從伺服器 Console 傳送一個指令:

cmdManager.process(Sponge.getServer().getConsole(), "kill Notch");