setPermission("pocketmine.command.list"); } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(!$this->testPermission($sender)){ return true; } $playerNames = array_map(function(Player $player) : string{ return $player->getName(); }, array_filter($sender->getServer()->getOnlinePlayers(), function(Player $player) use ($sender) : bool{ return !($sender instanceof Player) or $sender->canSee($player); })); sort($playerNames, SORT_STRING); $sender->sendMessage(new TranslationContainer("commands.players.list", [count($playerNames), $sender->getServer()->getMaxPlayers()])); $sender->sendMessage(implode(", ", $playerNames)); return true; } }