public static function attatchFramework(Framework $framework) { self::$framework = $framework; self::$instance->getLogger()->info(TextFormat::BLUE . "[GCFramework] Framework attatched!"); }
public static function onGameWin(XcelGame $game, array $winner) { $winnerDisplayName = []; $winnerName = []; /** * @var $xcelPlayer XcelPlayer */ foreach ($winner as $xcelPlayer) { $winnerDisplayName[] = $xcelPlayer->getPlayer()->getDisplayName(); $winnerName[] = $xcelPlayer->getPlayer()->getName(); } if (count($winner) > 0) { $text = TextFormat::AQUA . self::getTranslation("FINISHED_WINNER", $game->getServerId(), $game->getGameName(), implode(", ", $winnerDisplayName)); } else { $text = TextFormat::AQUA . self::getTranslation("FINISHED_NO_WINNER", $game->getServerId(), $game->getGameName()); } GCFramework::getFramework()->onGameFinish($game->getUniqueGameName(), $winnerName, $text); }
public function broadcastDescriptionTo(CommandSender $sender, $gameName) { GCFramework::sendPacket($this->mainServer["ip"], $this->mainServer["port"], ["TYPE" => GCFramework::PACKET_TYPE_GET_DESCRIPTION, "USER" => $sender instanceof Player ? $sender->getName() : null, "NAME" => $gameName]); }
public function onPacketRecieve(CustomPacketReceiveEvent $event) { //echo "Incoming Packet!\n"; if (!in_array($event->getPacket()->address, $this->ipWhitelist)) { $this->getLogger()->info(TextFormat::LIGHT_PURPLE . "Packet from " . $event->getPacket()->address . ":" . $event->getPacket()->port . " has been blocked!"); return; } $data = json_decode($event->getPacket()->data, true); if (!isset($data["TYPE"])) { return; } switch ($data["TYPE"]) { case GCFramework::PACKET_TYPE_GAME_FINISH: $message = $this->onGameFinish($data["NAME"], $data["WINNER"], $data["MESSAGE"]); GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_GAME_MESSAGE, "MESSAGE" => $message]); break; case GCFramework::PACKET_TYPE_GET_DESCRIPTION: GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_DESCRIPTION, "USER" => $data["USER"], "MESSAGE" => $this->getGameDescription($data["NAME"])]); break; case GCFramework::PACKET_TYPE_GET_GAME_RANK: GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_GAME_RANK, "USER" => $data["USER"], "MESSAGE" => $this->getRank($data["NAME"], $data["PAGE"], $data["USER"])]); break; case GCFramework::PACKET_TYPE_GET_WHOLE_RANK: GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_WHOLE_RANK, "USER" => $data["USER"], "MESSAGE" => $this->getWholeRank($data["PAGE"], $data["USER"])]); break; } }