/** * @param BuyCraft $main * @param array $data * @param bool $player */ public function __construct(BuyCraft $main, $data = [], $player = false) { DebugUtils::construct($this); if ($main->getConfig()->get("https")) { $this->apiUrl = "https://api.buycraft.net/v4"; } else { $this->apiUrl = "http://api.buycraft.net/v4"; } $data["secret"] = $main->getConfig()->get("secret"); $data["playersOnline"] = count($main->getServer()->getOnlinePlayers()); $this->data = serialize($data); $this->player = $player; $this->isAuthenticated = $main->isAuthenticated(); $this->autoloader = unserialize(serialize($main->getServer()->getLoader())); //TODO improve this $this->onConfig($main); }
public function onOutput(BuyCraft $main, CommandSender $sender) { $out = $this->getOutput(); if (isset($out["payload"]["commands"])) { foreach ($this->getOutput()["payload"]["commands"] as $cmd) { $p = $cmd["requireOnline"] ? $main->getServer()->getPlayer($cmd["ign"]) : null; if (!$cmd["requireOnline"] || $p !== null) { $main->getCommandExecuteTask()->queueCommand(new PackageCommand($cmd)); } } } }
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(); } } }