/** * Register this class as a command. * * @param str $cmd - command to register * @param mixed[] $yaml - options for command */ public function enableCmd($cmd, $yaml) { $newCmd = new PluginCommand($cmd, $this->owner); if (isset($yaml["description"])) { $newCmd->setDescription($yaml["description"]); } if (isset($yaml["usage"])) { $newCmd->setUsage($yaml["usage"]); } if (isset($yaml["aliases"]) and is_array($yaml["aliases"])) { $aliasList = []; foreach ($yaml["aliases"] as $alias) { if (strpos($alias, ":") !== false) { $this->owner->getLogger()->info("Unable to load alias {$alias}"); continue; } $aliasList[] = $alias; } $newCmd->setAliases($aliasList); } if (isset($yaml["permission"])) { $newCmd->setPermission($yaml["permission"]); } if (isset($yaml["permission-message"])) { $newCmd->setPermissionMessage($yaml["permission-message"]); } $newCmd->setExecutor($this); $cmdMap = $this->owner->getServer()->getCommandMap(); $cmdMap->register($this->owner->getDescription()->getName(), $newCmd); }
public function onEnable() { $cmd = new PluginCommand("customkick", $this); $cmd->setDescription("Kick with custom message"); $cmd->setUsage("/kick <player>"); $cmd->setExecutor($this); $this->getServer()->getCommandMap()->register($this->getDescription()->getName(), $cmd); }
public function registerCommand(CommandRegistration $stormCommand) { $cmd = new PluginCommand($stormCommand->getName(), $this); $cmd->setExecutor($stormCommand->getCommandHandler()); $this->getServer()->getCommandMap()->register($this->getDescription()->getName(), $cmd); }