setPermission("pocketmine.command.ban.player"); } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(!$this->testPermission($sender)){ return true; } if(count($args) === 0){ throw new InvalidCommandSyntaxException(); } $name = array_shift($args); $reason = implode(" ", $args); $sender->getServer()->getNameBans()->addBan($name, $reason, null, $sender->getName()); if(($player = $sender->getServer()->getPlayerExact($name)) instanceof Player){ $player->kick($reason !== "" ? "Banned by admin. Reason: " . $reason : "Banned by admin."); } Command::broadcastCommandMessage($sender, new TranslationContainer("%commands.ban.success", [$player !== null ? $player->getName() : $name])); return true; } }