Exemple #1
0
 /**
  * @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();
         }
     }
 }