public function onTeleport(EntityTeleportEvent $ev)
 {
     if ($ev->isCancelled()) {
         return;
     }
     $pl = $ev->getEntity();
     if (!$pl instanceof Player) {
         return;
     }
     $to = clone $ev->getTo();
     if (!$to) {
         return;
     }
     // This should never happen!
     if ($to->getLevel()) {
         $world = $to->getLevel()->getName();
     } else {
         $from = $ev->getFrom();
         if (!$from) {
             return;
         }
         // OK, this would be weird...
         if (!$from->getLevel()) {
             return;
         }
         // Can't determine the level at all!
         $world = $from->getLevel()->getName();
     }
     //echo __METHOD__.",".__LINE__."world=$world\n"; //##DEBUG
     if ($this->checkMove($world, $to->getX(), $to->getZ())) {
         return;
     }
     $this->owner->msg($pl, mc::_("You are teleporting outside the world"));
     $ev->setCancelled();
 }
示例#2
0
 public function onTeleport(EntityTeleportEvent $ev)
 {
     //echo __METHOD__.",".__LINE__."\n"; //##DEBUG
     if ($ev->isCancelled()) {
         return;
     }
     $et = $ev->getEntity();
     if (!$et instanceof Player) {
         return;
     }
     $from = $ev->getFrom()->getLevel();
     $to = $ev->getTo()->getLevel();
     if (!$from) {
         // THIS SHOULDN'T HAPPEN!
         return;
     }
     if (!$to) {
         // Somebody did not initialize the level properly!
         // But we return because they do not intent to change worlds
         return;
     }
     $from = $from->getName();
     $to = $to->getName();
     //echo "FROM:$from TO:$to\n";//##DEBUG
     if ($from == $to) {
         return;
     }
     $max = $this->getCfg($to, 0);
     if ($max == 0) {
         return;
     }
     $np = count($this->owner->getServer()->getLevelByName($to)->getPlayers());
     if ($np >= $max) {
         $ev->setCancelled();
         $et->sendMessage(mc::_("Unable to teleport to %1%\nWorld is full", $to));
         $this->owner->getLogger()->notice(mc::_("%1% is FULL", $to));
     }
 }
示例#3
0
 public function onTeleport(EntityTeleportEvent $event)
 {
     if ($event->getEntity() instanceof Player && $this->plugin->isJailed($event->getEntity())) {
         $event->setCancelled(true);
     }
 }
 public function onTeleport(EntityTeleportEvent $event)
 {
     $ent = $event->getEntity();
     if (!$ent instanceof Player) {
         return;
     }
     $session = $this->main->getSession($ent);
     if (!$session instanceof Session) {
         $event->setCancelled();
         return;
     }
     if ($session->onTeleport($event) === false) {
         $event->setCancelled();
     }
 }
 /** 
  * @param EntityTeleportEvent $event 
  * @priority HIGHEST
  * @ignoreCancelled true
  */
 public function onEntityTeleport(EntityTeleportEvent $event)
 {
     if (($player = $event->getEntity()) instanceof Player) {
         if (!$this->plugin->getStorage()->getShield($player->getLevel())->isAllowed(Shield::TELEPORTING)) {
             $event->setCancelled(true);
             $player->sendTip($this->plugin->getConfig()->get("teleportNotAllowed"));
         }
     }
 }
 public function onEntityTeleport(EntityTeleportEvent $event)
 {
     $Player = $event->getEntity();
     $From = $event->getFrom();
     $To = $event->getTo();
     $Level = $Player->getLevel();
     $Level2 = $From->getLevel();
     $Level3 = $To->getLevel();
     if ($Level2->getFolderName() != $Level3->getFolderName() && ($this->plugin->game->level_name == $Level2->getFolderName() || $this->plugin->game->level_name == $Level3->getFolderName())) {
         $event->setCancelled($this->plugin->getState("teleport", $Player, true));
         $this->plugin->setState("teleport", $Player, true);
         return;
     }
     if (!$this->plugin->game || $this->plugin->game->level_name != $Level->getFolderName() || $this->plugin->game->status == 0) {
         return;
     }
     if ($Player instanceof Player) {
         if ($Team = $this->plugin->game->getTeamByPlayer($Player)) {
             $event->setCancelled($this->plugin->getState("teleport", $Player, true));
             $this->plugin->setState("teleport", $Player, true);
         }
     }
 }
示例#7
0
 public function onPlayerTeleport(EntityTeleportEvent $event)
 {
     return;
     $player = $event->getEntity();
     if (!$player instanceof Player) {
         return;
     }
     if (is_null($event->getTo()->getLevel()) || is_null($event->getFrom()->getLevel())) {
         return;
     }
     $toworld = $event->getTo()->getLevel()->getName();
     $fromworld = $event->getFrom()->getLevel()->getName();
     if ($toworld == $fromworld) {
         return;
     }
     echo "Player tried to go to world " . $toworld . PHP_EOL;
     $event->setCancelled(true);
 }
示例#8
0
 public function onTeleport(EntityTeleportEvent $event)
 {
     if ($event->getEntity() instanceof Player) {
         if ($this->disableTeleport) {
             $event->setCancelled();
         }
     }
     return;
 }