From 42db3abf5e109478da7c80a31d4a7082ff5cb4ff Mon Sep 17 00:00:00 2001 From: BrandPVP <114182697+BrandPVP@users.noreply.github.com> Date: Sat, 31 Dec 2022 16:04:22 +0300 Subject: [PATCH] QueryInfo->setPlayerList() now accepts string[] instead of Player[] (#5476) --- src/network/query/QueryInfo.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/network/query/QueryInfo.php b/src/network/query/QueryInfo.php index 1dc0dcf7e..2d36ac7e6 100644 --- a/src/network/query/QueryInfo.php +++ b/src/network/query/QueryInfo.php @@ -29,6 +29,7 @@ use pocketmine\plugin\Plugin; use pocketmine\Server; use pocketmine\utils\Binary; use pocketmine\utils\Utils; +use function array_map; use function chr; use function count; use function str_replace; @@ -41,7 +42,7 @@ final class QueryInfo{ private bool $listPlugins; /** @var Plugin[] */ private array $plugins; - /** @var Player[] */ + /** @var string[] */ private array $players; private string $gametype; @@ -67,7 +68,7 @@ final class QueryInfo{ $this->serverName = $server->getMotd(); $this->listPlugins = $server->getConfigGroup()->getPropertyBool("settings.query-plugins", true); $this->plugins = $server->getPluginManager()->getPlugins(); - $this->players = $server->getOnlinePlayers(); + $this->players = array_map(fn(Player $p) => $p->getName(), $server->getOnlinePlayers()); $this->gametype = ($server->getGamemode()->equals(GameMode::SURVIVAL()) || $server->getGamemode()->equals(GameMode::ADVENTURE())) ? "SMP" : "CMP"; $this->version = $server->getVersion(); @@ -122,17 +123,17 @@ final class QueryInfo{ } /** - * @return Player[] + * @return string[] */ public function getPlayerList() : array{ return $this->players; } /** - * @param Player[] $players + * @param string[] $players */ public function setPlayerList(array $players) : void{ - Utils::validateArrayValueType($players, function(Player $_) : void{}); + Utils::validateArrayValueType($players, function(string $_) : void{}); $this->players = $players; $this->destroyCache(); } @@ -226,7 +227,7 @@ final class QueryInfo{ $query .= "\x00\x01player_\x00\x00"; foreach($this->players as $player){ - $query .= $player->getName() . "\x00"; + $query .= $player . "\x00"; } $query .= "\x00";