setPermission(DefaultPermissionNames::COMMAND_BAN_PLAYER); } public function execute(CommandSender $sender, string $commandLabel, array $args){ 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 !== "" ? KnownTranslationFactory::pocketmine_disconnect_ban($reason) : KnownTranslationFactory::pocketmine_disconnect_ban_noReason()); } Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_ban_success($player !== null ? $player->getName() : $name)); return true; } }