mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-27 21:59:52 +00:00
Improved ListCommand and fixed crash when no players are online
I <3 closures
This commit is contained in:
parent
75cc2d6914
commit
9e99252817
@ -43,18 +43,14 @@ class ListCommand extends VanillaCommand{
|
||||
return true;
|
||||
}
|
||||
|
||||
$online = "";
|
||||
$onlineCount = 0;
|
||||
$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));
|
||||
}));
|
||||
|
||||
foreach($sender->getServer()->getOnlinePlayers() as $player){
|
||||
if($player->isOnline() and (!($sender instanceof Player) or $sender->canSee($player))){
|
||||
$online .= $player->getDisplayName() . ", ";
|
||||
++$onlineCount;
|
||||
}
|
||||
}
|
||||
|
||||
$sender->sendMessage(new TranslationContainer("commands.players.list", [$onlineCount, $sender->getServer()->getMaxPlayers()]));
|
||||
$sender->sendMessage(substr($online, 0, -2));
|
||||
$sender->sendMessage(new TranslationContainer("commands.players.list", [count($playerNames), $sender->getServer()->getMaxPlayers()]));
|
||||
$sender->sendMessage(implode(", ", $playerNames));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user