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){ return $player->getName(); }, array_filter($sender->getServer()->getOnlinePlayers(), function(Player $player) use ($sender){ return $player->isOnline() and (!($sender instanceof Player) or $sender->canSee($player)); })); $sender->sendMessage(new TranslationContainer("commands.players.list", [count($playerNames), $sender->getServer()->getMaxPlayers()])); $sender->sendMessage(implode(", ", $playerNames)); return true; } }