pocketmine\command\defaults\GameruleCommand::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 (!$sender instanceof Player) {
            $sender->sendMessage("This currently only works for players");
            return true;
        }
        $gamerules = $sender->getLevel()->getGameRules();
        $s = count($args) > 0 ? $args[0] : "";
        switch (count($args)) {
            case 0:
                $sender->sendMessage(TextFormat::YELLOW . "Gamerules:\n");
                //We are cooler than MC client. We tell the players the values too, not only keys!
                foreach ($gamerules->getRulesArray() as $key => $value) {
                    $sender->sendMessage(TextFormat::YELLOW . '"' . $key . '" = "' . $value . '"');
                }
                break;
            case 1:
                if (!$gamerules->hasRule($s)) {
                    $sender->sendMessage(new TranslationContainer("commands.gamerule.norule", [$s]));
                    return false;
                }
                $s2 = $gamerules->getRulesArray()[$s];
                $sender->sendMessage(TextFormat::YELLOW . $s . " = " . $s2);
                break;
            default:
                $s1 = $args[1];
                if ($gamerules->hasRule($s) && $gamerules->areSameType($s, $s2 = $gamerules->getRulesArray()[$s]) && !"true" === $s1 && !"false" === $s1) {
                    $sender->sendMessage(new TranslationContainer("commands.generic.boolean.invalid", [$s]));
                    return false;
                }
                $gamerules->setOrCreateGameRule($s, $s1);
                $this->broadcastCommandMessage($sender, new TranslationContainer("commands.gamerule.success", [$s, $s1]), true);
        }
        return true;
    }
GameruleCommand