setPermission("pocketmine.command.kill.self;pocketmine.command.kill.other"); } 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; } }