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) { $out = $this->getOutput()['payload']; if ($out !== null && $out !== false) { if (isset($out['url']) && $out['url'] !== null) { $sender->sendMessage($main->getConfig()->get('pleaseVisit') . ": " . $out['url']); } else { $sender->sendMessage($out['errormessage']); } } else { $sender->sendMessage("HTTP request error during url shortening."); } }
public function onOutput(BuyCraft $main, CommandSender $sender) { $out = $this->getOutput(); if ($out['code'] === 0) { $main->getPackageManager()->reset(); foreach ($out['payload'] as $category) { $main->getPackageManager()->addCategory(isset($category['id']) ? $category['id'] : 0, $category['name'], $category['shortDescription'], $category['guiItemId']); } $sender->sendMessage("Loaded " . count($out['payload']) . " categories."); $fetch = new ReloadPackagesTask($main, [], $sender instanceof Player ? $sender : false); $fetch->call(); } else { $sender->sendMessage("An error occurred during category reload."); } }
public function onOutput(BuyCraft $main, CommandSender $sender) { $out = $this->getOutput(); if ($out['code'] === 0) { foreach ($out['payload'] as $package) { if ($package !== null) { $main->getPackageManager()->addPackage(isset($package['category']) ? $package['category'] : 0, $package['id'], $package['guiItemId'], $package['name'], $package['shortDescription'], $package['price']); } } $main->getPackageManager()->cleanCategories(); $sender->sendMessage("Loaded " . count($out["payload"]) . " (approx) packages into cache."); } else { $sender->sendMessage("An error occurred during package reload."); } }
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(); } } }
/** * @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 __construct(BuyCraft $main) { parent::__construct($main->getConfig()->get('buyCommand'), "Buy command!", "/buy", []); $this->main = $main; }