public function onCommand(CommandSender $sender, Command $command, $label, array $args) { switch ($command->getname()) { case "sg": $map1status = "nr"; $map2status = "nr"; $map3status = "nr"; $map4status = "nr"; $map5status = "nr"; $map1 = $this->getConfig()->get("name1"); $map2 = $this->getConfig()->get("name2"); $map3 = $this->getConfig()->get("name3"); $map4 = $this->getConfig()->get("name4"); $map5 = $this->getConfig()->get("name5"); $a = array("getstatus" => $map1status); $b = array("getstatus" => $map2status); $c = array("getstatus" => $map3status); $d = array("getstatus" => $map4status); $e = array("getstatus" => $map5status); if (!isset($args[0])) { // when client just performs /sg $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Please enter into a match " . "using /sg join."); return true; } if ($args[0] === "join") { // when client performs /sg join <match> //defines all global array so that later functions can access array. global $a; global $b; global $c; global $d; global $e; if (!isset($args[1])) { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " /sg join " . $map1); $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " /sg join " . $map2); $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " /sg join " . $map3); $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " /sg join " . $map4); $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " /sg join " . $map5); return true; } if ($args[1] === $map1) { $player = $sender->getName(); //sends all variable information into the datafolder. $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Transporting to map " . $map1); //sets player into map list. \array_push($a, $player); if (Server::getInstance()->loadLevel($map1) != false) { $sender->getPlayer()->teleport(Server::getInstance()->getLevelByName($map1)->getSafeSpawn()); $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Please enter command /match1 register" . " to register into the match."); include $this->getDataFolder() . "/" . "/required/" . "match1.php"; $str = fopen("match1pro.txt", "w"); $message = "nr"; \fwrite($str, $message); foreach ($a as $player) { $player = $this->getServer()->getPlayer($player); $mapname = $this->getConfig()->get("name1"); if ($sender instanceof Player) { $sender->sendMessage("Map 1 - '" . TEXTFORMAT::BLUE . $mapname . TEXTFORMAT::WHITE . "'"); } } return true; } else { //map doesn't exist, so tells the player there's an error. $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . "This" . " match is non-existant. Please check for errors."); } if ($args[1] === "map2") { //gets player name and returns as $player $player = $sender->getName(); //send player confirmation. $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Transport to map " . $map2); //sets player into map list. array_push($b, $player); if (Server::getInstance()->loadLevel($map2) != false) { $event->getPlayer()->teleport(Server::getInstance()->getLevelByName($map2)->getSafeSpawn()); return true; } else { $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " That map is currently unavailable."); return true; } } if ($args[1] === "map3") { //gets player name and returns as $player $player = $sender->getName(); //send player confirmation. $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Transport to map " . $map3); //sets player into map list. array_push($c, $player); if (Server::getInstance()->loadLevel($map3) != false) { $event->getPlayer()->teleport(Server::getInstance()->getLevelByName($map3)->getSafeSpawn()); return true; } else { $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " That map is currently unavailable."); return true; } } if ($args[1] === "map4") { //gets player name and returns as $player $player = $sender->getName(); //send player confirmation. $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Transport to map " . $map4); //sets player into map list. array_push($d, $player); if (Server::getInstance()->loadLevel($map4) != false) { $event->getPlayer()->teleport(Server::getInstance()->getLevelByName($map4)->getSafeSpawn()); include 'SGPro/tasks/match1.php'; return true; } else { $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " That map is currently unavailable."); return true; } } if ($args[1] === "map5") { //gets player name and returns as $player $player = $sender->getName(); //send player confirmation. $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " Transport to map " . $map5); //sets player into map list. array_push($e, $player); if (Server::getInstance()->loadLevel($map5) != false) { $event->getPlayer()->teleport(Server::getInstance()->getLevelByName($map5)->getSafeSpawn()); return true; } else { $player->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " That map is currently unavailable."); return true; } } } } case "match1": if (!isset($args[0])) { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . "That is not valid."); } if ($args[0] === "register") { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " You have been registered into the match."); $status = file_get_contents("match1pro.txt"); if ($status === "nr") { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " This round is not ready yet. Please hold on."); return true; } elseif ($status === "sr") { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " This round is halfway until showdown!"); return true; } elseif ($status === "r") { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " This round is about to go underway!"); return true; } foreach ($a as $player) { $player = $this->getServer()->getPlayer($player); $server = $sender->getName(); $mapname = $this->getConfig()->get("name1"); if ($sender instanceof Player) { $sender->sendMessage("[" . TEXTFORMAT::RED . "SGLite" . TEXTFORMAT::WHITE . "]" . " New player " . TEXTFORMAT::RED . $server . " has joined the match."); } } } return true; } }