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; } }