From cf0c0e72a9661d8a0871b2f8e2593d5ba17c35d5 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 7 May 2019 19:49:06 +0100 Subject: [PATCH] Assume the player is online when they are, uh, assumed to be online the checks removed here should never be hit under normal circumstances. If they were hit, they'd just conceal bugs which would cause a crash to happen later anyway. --- src/pocketmine/Player.php | 8 -------- src/pocketmine/command/defaults/ListCommand.php | 2 +- src/pocketmine/entity/Entity.php | 4 +--- src/pocketmine/event/server/QueryRegenerateEvent.php | 7 +------ src/pocketmine/scheduler/SendUsageTask.php | 9 +++------ 5 files changed, 6 insertions(+), 24 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index ed9297290..116eca17d 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1129,10 +1129,6 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener, } public function doChunkRequests(){ - if(!$this->isOnline()){ - return; - } - if($this->nextChunkOrderRun !== PHP_INT_MAX and $this->nextChunkOrderRun-- <= 0){ $this->nextChunkOrderRun = PHP_INT_MAX; $this->orderChunks(); @@ -1192,10 +1188,6 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener, * @return bool */ public function sleepOn(Vector3 $pos) : bool{ - if(!$this->isOnline()){ - return false; - } - $pos = $pos->floor(); $b = $this->world->getBlock($pos); diff --git a/src/pocketmine/command/defaults/ListCommand.php b/src/pocketmine/command/defaults/ListCommand.php index f87248096..6fe084b1e 100644 --- a/src/pocketmine/command/defaults/ListCommand.php +++ b/src/pocketmine/command/defaults/ListCommand.php @@ -50,7 +50,7 @@ class ListCommand extends VanillaCommand{ $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)); + return !($sender instanceof Player) or $sender->canSee($player); })); $sender->sendMessage(new TranslationContainer("commands.players.list", [count($playerNames), $sender->getServer()->getMaxPlayers()])); diff --git a/src/pocketmine/entity/Entity.php b/src/pocketmine/entity/Entity.php index a17b9f091..6040a2abf 100644 --- a/src/pocketmine/entity/Entity.php +++ b/src/pocketmine/entity/Entity.php @@ -1630,9 +1630,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{ return; } foreach($this->world->getViewersForPosition($this) as $player){ - if($player->isOnline()){ - $this->spawnTo($player); - } + $this->spawnTo($player); } } diff --git a/src/pocketmine/event/server/QueryRegenerateEvent.php b/src/pocketmine/event/server/QueryRegenerateEvent.php index 0550de332..d7e49c22f 100644 --- a/src/pocketmine/event/server/QueryRegenerateEvent.php +++ b/src/pocketmine/event/server/QueryRegenerateEvent.php @@ -79,12 +79,7 @@ class QueryRegenerateEvent extends ServerEvent{ $this->serverName = $server->getMotd(); $this->listPlugins = $server->getProperty("settings.query-plugins", true); $this->plugins = $server->getPluginManager()->getPlugins(); - $this->players = []; - foreach($server->getOnlinePlayers() as $player){ - if($player->isOnline()){ - $this->players[] = $player; - } - } + $this->players = $server->getOnlinePlayers(); $this->gametype = ($server->getGamemode()->getMagicNumber() & 0x01) === 0 ? "SMP" : "CMP"; $this->version = $server->getVersion(); diff --git a/src/pocketmine/scheduler/SendUsageTask.php b/src/pocketmine/scheduler/SendUsageTask.php index c37cd1d4e..3f66a0e07 100644 --- a/src/pocketmine/scheduler/SendUsageTask.php +++ b/src/pocketmine/scheduler/SendUsageTask.php @@ -24,12 +24,14 @@ declare(strict_types=1); namespace pocketmine\scheduler; use pocketmine\network\mcpe\protocol\ProtocolInfo; +use pocketmine\Player; use pocketmine\Server; use pocketmine\utils\Internet; use pocketmine\utils\Process; use pocketmine\utils\Utils; use pocketmine\utils\UUID; use pocketmine\utils\VersionString; +use function array_map; use function array_values; use function count; use function json_encode; @@ -122,12 +124,7 @@ class SendUsageTask extends AsyncTask{ $playerList[$k] = md5($v); } - $players = []; - foreach($server->getOnlinePlayers() as $p){ - if($p->isOnline()){ - $players[] = md5($p->getUniqueId()->toBinary()); - } - } + $players = array_map(function(Player $p){ return md5($p->getUniqueId()->toBinary()); }, $server->getOnlinePlayers()); $data["players"] = [ "count" => count($players),