public function onServerQuery(QueryRegenerateEvent $ev)
{
$players = count($this->owner->getServer()->getOnlinePlayers());
$maxplayers = $this->owner->getServer()->getMaxPlayers();
$lst = $this->owner->getModule("ServerList");
foreach ($lst->getIds() as $i) {
if ($lst->getServerAttr($i, "no-merge-slots", false)) {
continue;
}
if (!$lst->getServerAttr($i, "no-motd-task", false)) {
$cc = $lst->getQueryData($i, "motd");
if ($cc !== null) {
$players += $cc["players"];
$maxplayers += $cc["max-players"];
}
}
if (!$lst->getServerAttr($i, "no-query-task", false)) {
$cc = $lst->getQueryData($i, "query.info");
if ($cc !== null) {
$players += $cc["Players"];
$maxplayers += $cc["MaxPlayers"];
}
}
}
$ev->setPlayerCount($players);
$ev->setMaxPlayerCount($maxplayers);
}