Der Befehls-Manager

Der CommandManager ist ein Manager, der schaut welche Befehle in den Chat eingetippt werden und diese an den zugehörigen Command-Handler weiterleitet. Um deinen Befehl zu registrieren, kannst du die Methode CommandManager#register(Object, CommandCallable, String…) mit deiner Plugin Instanz, einer Instanz deines Befehls, sowie jeglichen Aliasen als Parameter aufrufen.

Usually you want to register your commands when the GameInitializationEvent is called.

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

PluginContainer plugin = ...;

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

Bemerkung

Die Argumente, die du nach der Instanz des Commands an die Methode übergibst, werden als Alias für den registrierten Command benutzt. Du kannst so viele Aliasse angeben wie du möchtest und der erste Alias, der nicht von einem anderen Plugin genutzt wird, wird als primärer Alias genommen. Das bedeutet, dass Aliasse, die bereits von anderen Plugins genutzt werden, für deinen Befehl ignoriert werden,

The CommandManager can also be used to call a command programmatically:

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

Du kannst einen Befehl auch von der Server-Konsole aus ausführen:

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