pocketmine\command\defaults\WhitelistCommand::execute PHP Метод

execute() публичный Метод

public execute ( pocketmine\command\CommandSender $sender, $currentAlias, array $args )
$sender pocketmine\command\CommandSender
$args array
    public function execute(CommandSender $sender, $currentAlias, array $args)
    {
        if (!$this->testPermission($sender)) {
            return true;
        }
        if (count($args) === 0 or count($args) > 2) {
            $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
            return true;
        }
        if (count($args) === 1) {
            if ($this->badPerm($sender, strtolower($args[0]))) {
                return false;
            }
            switch (strtolower($args[0])) {
                case "reload":
                    $sender->getServer()->reloadWhitelist();
                    Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.reloaded"));
                    return true;
                case "on":
                    $sender->getServer()->setConfigBool("white-list", true);
                    Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.enabled"));
                    return true;
                case "off":
                    $sender->getServer()->setConfigBool("white-list", false);
                    Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.disabled"));
                    return true;
                case "list":
                    $result = "";
                    $count = 0;
                    foreach ($sender->getServer()->getWhitelisted()->getAll(true) as $player) {
                        $result .= $player . ", ";
                        ++$count;
                    }
                    $sender->sendMessage(new TranslationContainer("commands.whitelist.list", [$count, $count]));
                    $sender->sendMessage(substr($result, 0, -2));
                    return true;
                case "add":
                    $sender->sendMessage(new TranslationContainer("commands.generic.usage", ["%commands.whitelist.add.usage"]));
                    return true;
                case "remove":
                    $sender->sendMessage(new TranslationContainer("commands.generic.usage", ["%commands.whitelist.remove.usage"]));
                    return true;
            }
        } elseif (count($args) === 2) {
            if ($this->badPerm($sender, strtolower($args[0]))) {
                return false;
            }
            switch (strtolower($args[0])) {
                case "add":
                    $sender->getServer()->getOfflinePlayer($args[1])->setWhitelisted(true);
                    Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.add.success", [$args[1]]));
                    return true;
                case "remove":
                    $sender->getServer()->getOfflinePlayer($args[1])->setWhitelisted(false);
                    Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.remove.success", [$args[1]]));
                    return true;
            }
        }
        return true;
    }