コード例 #1
0
ファイル: CommandFetchTask.php プロジェクト: GeenoMC/BuyCraft
 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));
             }
         }
     }
 }
コード例 #2
0
ファイル: VisitLinkTask.php プロジェクト: GeenoMC/BuyCraft
 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.");
     }
 }
コード例 #3
0
 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.");
     }
 }
コード例 #4
0
 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.");
     }
 }
コード例 #5
0
ファイル: PendingUsersTask.php プロジェクト: GeenoMC/BuyCraft
 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();
         }
     }
 }
コード例 #6
0
ファイル: ApiAsyncTask.php プロジェクト: GeenoMC/BuyCraft
 /**
  * @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);
 }
コード例 #7
0
ファイル: BuyCommand.php プロジェクト: GeenoMC/BuyCraft
 public function __construct(BuyCraft $main)
 {
     parent::__construct($main->getConfig()->get('buyCommand'), "Buy command!", "/buy", []);
     $this->main = $main;
 }