pocketmine\command\defaults\KillCommand::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) >= 2) {
            $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
            return false;
        }
        if (count($args) === 1) {
            if (!$sender->hasPermission("pocketmine.command.kill.other")) {
                $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
                return true;
            }
            $player = $sender->getServer()->getPlayer($args[0]);
            if ($player instanceof Player) {
                $sender->getServer()->getPluginManager()->callEvent($ev = new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, 1000));
                if ($ev->isCancelled()) {
                    return true;
                }
                $player->setLastDamageCause($ev);
                $player->setHealth(0);
                Command::broadcastCommandMessage($sender, new TranslationContainer("commands.kill.successful", [$player->getName()]));
            } else {
                $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
            }
            return true;
        }
        if ($sender instanceof Player) {
            if (!$sender->hasPermission("pocketmine.command.kill.self")) {
                $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
                return true;
            }
            $sender->getServer()->getPluginManager()->callEvent($ev = new EntityDamageEvent($sender, EntityDamageEvent::CAUSE_SUICIDE, 1000));
            if ($ev->isCancelled()) {
                return true;
            }
            $sender->setLastDamageCause($ev);
            $sender->setHealth(0);
            $sender->sendMessage(new TranslationContainer("commands.kill.successful", [$sender->getName()]));
        } else {
            $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
            return false;
        }
        return true;
    }