Ejemplo n.º 1
0
 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"));
         }
     }
 }
Ejemplo n.º 3
0
 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!");
                 }
             }
         }
     }
 }