public function onPlayerJoin(PlayerJoinEvent $event) { if (isset($this->pendingPlayers[$event->getPlayer()->getName()])) { $fetch = new CommandFetchTask($this->getOwner(), ["users" => [$event->getPlayer()->getName()], "offlineCommands" => false]); $fetch->call(); unset($this->pendingPlayers[$event->getPlayer()->getName()]); } }
public function onOutput(BuyCraft $main, CommandSender $sender) { $res = $this->getOutput(); if ($res !== false && is_array($res["payload"]["pendingPlayers"])) { $playersToFetch = []; foreach ($res["payload"]["pendingPlayers"] as $player) { $p = $main->getServer()->getPlayerExact($player); if ($p !== null && $p->isOnline()) { $playersToFetch[] = $p->getName(); } else { $main->getPendingPlayerCheckerTask()->addPendingPlayer($player); } } if ($res["payload"]["offlineCommands"] || count($playersToFetch) > 0) { $fetch = new CommandFetchTask($main, ["users" => $playersToFetch, "offlineCommands" => $res["payload"]["offlineCommands"]]); $fetch->call(); } } }