public function onPlayerLevelChange(EntityLevelChangeEvent $event) { if ($event->getEntity() instanceof Player && isset($this->level)) { if ($this->playerIsInGame($event->getEntity()->getName()) !== false) { $event->setCancelled(); $event->getEntity()->getLevel("[游戏系统] [躲猫猫] 抱歉 ,游戏中请输入 /lobby 离开"); } /*else if(!$event->getEntity()->isOp() && $event->getEntity()->getLevel()==$this->level) { $event->setCancelled(); $event->getEntity()->getLevel("[游戏系统] [躲猫猫] 你没有权限进入游戏世界"); }*/ //反正大RAM用不到 } }
/** * @param EntityLevelChangeEvent $event * @priority HIGHEST * @ignoreCancelled true */ public function onEntityLevelChange(EntityLevelChangeEvent $event) { if (($player = $event->getEntity()) instanceof Player) { if ($this->plugin->getStorage()->getShield($player->getLevel())->isPlayerBanned($player)) { $event->setCancelled(true); $event->getPlayer()->sendTip($this->plugin->getConfig()->get("levelChangeNotAllowed")); } } }
public function onTeleport(EntityLevelChangeEvent $event) { $to = $event->getTarget(); $player = $event->getEntity(); foreach ($this->getConfig()->get("Arenas") as $arena => $g) { if ($to instanceof Level and $player instanceof Player) { if ($to->getName() === $g["world"] and $g["status"] === "in-gioco") { $event->setCancelled(true); $player->sendMessage(TextFormat::RED . "Partita già iniziata! Scegli un'altra arena!"); } elseif ($to->getName() === $g["name"] and count($this->getServer()->getLevelByName($g["name"])->getPlayers()) === 8 and $g["status"] === "pieno") { $event->setCancelled(true); $player->sendMessage(TextFormat::RED . "Arena piena! Scegli un'altra arena!"); } elseif ($to->getName() === $g["name"] and count($this->getServer()->getLevelByName($g["name"])->getPlayers()) < 8 and $g["status"] === "in-attesa") { foreach ($this->getServer()->getLevelByName($g["world"])->getPlayers() as $p) { $name = $player->getName(); $p->sendMessage(TextFormat::DARK_GRAY . "{$name} è entrato/a in partita!"); } } } } }