public function onMove(PlayerMoveEvent $event) { $player = $event->getPlayer(); $from = $event->getFrom(); $to = $event->getTo(); if ($from->getLevel()->getBlockIdAt($from->x, $from->y - 1, $from->z) === Block::REDSTONE_BLOCK) { $player->setMotion((new Vector3($to->x - $from->x, $to->y - $from->y, $to->z - $from->z))->multiply(5)); } }
public function onMove(PlayerMoveEvent $event) { if (isset($this->move[$event->getPlayer()->getName()])) { unset($this->move[$event->getPlayer()->getName()]); return; } if ($event->getFrom()->distance($event->getTo()) > 7) { $event->setCancelled(); } }
public function onMove(PlayerMoveEvent $ev) { if ($ev->isCancelled()) { return; } $from = $ev->getFrom(); $to = $ev->getTo(); $dir = ["dx" => $to->getX() - $from->getX(), "dy" => $to->getY() - $from->getY(), "dz" => $to->getZ() - $from->getZ()]; if (!$dir["dy"]) { return; } $id = $to->getLevel()->getBlockIdAt($to->getX(), $to->getY() - 1, $to->getZ()); if (isset($this->blocks[$id])) { $ev->getPlayer()->setMotion(new Vector3($dir["dx"], -$dir["dy"] * 1.1, $dir["dz"])); } }
/** * @param PlayerMoveEvent $event * * @priority HIGHEST */ public function onMove(PlayerMoveEvent $event) { $player = $event->getPlayer(); $gamer = $this->hub->getGamerForPlayer($player); $delta = $event->getTo()->subtract($event->getFrom()); $bb = clone $player->getBoundingBox(); $bb->offset($delta->x, $delta->y, $delta->z); foreach ($this->hub->getJoinMethods() as $method) { if (!$method->isLevelCorrect($player->getLevel())) { continue; } if ($method instanceof PortalJoinMethod) { if ($method->isLevelCorrect($player->getLevel()) and $method->bb->intersectsWith($bb)) { $gamer->setModule($this->hub->getModule($method->target)); return; } } } }
/** * Handle player move events. * @param PlayerMoveEvent $ev - Move event */ public function onMove(PlayerMoveEvent $ev) { //echo __METHOD__.",".__LINE__."\n";//##DEBUG if ($ev->isCancelled()) { return; } $p = $ev->getPlayer(); if (!$this->getState("fz", $p, false)) { return; } if ($this->hard) { $ev->setCancelled(); } else { // Lock position but still allow to turn around $to = clone $ev->getFrom(); $to->yaw = $ev->getTo()->yaw; $to->pitch = $ev->getTo()->pitch; $ev->setTo($to); } }
public function onPlayerTeleport(PlayerMoveEvent $event) { if ($event->getFrom()->getLevel() !== $event->getTo()->getLevel()) { $to = $event->getTo()->getLevel(); if (isset($this->items[$to->getFolderName()])) { $player = $event->getPlayer(); foreach ($this->items[$to->getFolderName()] as $displayer) { $displayer->spawnTo($player); } } } }
public function onPlayerMove(PlayerMoveEvent $event) { if ($event->getFrom()->getLevel() === $event->getTo()->getLevel()) { return; } $this->checkItemCase($event->getPlayer()); }
public function onPlayerMove(PlayerMoveEvent $event) { if (!$this->plugin->getConfig()->get("ShowPlotPopup", true)) { return; } $levelName = $event->getPlayer()->getLevel()->getName(); if (!$this->plugin->isLevelLoaded($levelName)) { return; } $plot = $this->plugin->getPlotByPosition($event->getTo()); if ($plot !== null and $plot !== $this->plugin->getPlotByPosition($event->getFrom())) { $plotName = TextFormat::GREEN . $plot; $popup = $this->plugin->getLanguage()->translateString("popup", [$plotName]); if ($plot->owner != "") { $owner = TextFormat::GREEN . $plot->owner; $ownerPopup = $this->plugin->getLanguage()->translateString("popup.owner", [$owner]); $paddingSize = floor((strlen($popup) - strlen($ownerPopup)) / 2); $paddingPopup = str_repeat(" ", max(0, -$paddingSize)); $paddingOwnerPopup = str_repeat(" ", max(0, $paddingSize)); $popup = TextFormat::WHITE . $paddingPopup . $popup . "\n" . TextFormat::WHITE . $paddingOwnerPopup . $ownerPopup; } $event->getPlayer()->sendTip($popup); } }
public function onMoveEvent(PlayerMoveEvent $event) { $player = $event->getPlayer(); if (($fromLevel = $event->getFrom()->getLevel()->getFolderName()) !== ($toLevel = $event->getTo()->getLevel()->getFolderName())) { if (isset($this->worlds[$toLevel])) { $this->players[$event->getPlayer()->getName()] = $toLevel; $this->getWorldManagerByWorldFolderName($toLevel)->onPlayerMoveToWorld($event->getPlayer()); } if (isset($this->worlds[$fromLevel])) { if ($this->players[$event->getPlayer()->getName()] === $fromLevel) { $this->players[$event->getPlayer()->getName()] = $this->getServer()->getDefaultLevel()->getFolderName(); } $this->getWorldManagerByWorldFolderName($fromLevel)->onPlayerMoveToAnotherWorld($event->getPlayer(), $toLevel); } foreach ($this->npcs as $npc) { if ($npc->getLevel()->getFolderName() === $toLevel) { $npc->spawnTo($player); } } } if (isset($this->worlds[$toLevel])) { if ($event->getTo()->getY() <= $this->getConfiguration("MIN_Y")) { $this->worlds[$toLevel]["manager"]->onPlayerDrown($event->getPlayer()); } } foreach ($this->npcs as $npc) { if ($npc->getLevel()->getFolderName() === $event->getPlayer()->getLevel()->getFolderName()) { $npc->seePlayer($player); } } }
public function onMove(PlayerMoveEvent $ev) { //echo __METHOD__.",".__LINE__."\n";//##DEBUG if ($ev->isCancelled()) { return; } $p = $ev->getPlayer(); if (isset($this->frosties[strtolower($p->getName())])) { if ($this->hard) { $ev->setCancelled(); if (MPMU::apiVersion("1.12.0")) { $p->sendTip(mc::_("You are frozen")); } } else { // Lock position but still allow to turn around $to = clone $ev->getFrom(); $to->yaw = $ev->getTo()->yaw; $to->pitch = $ev->getTo()->pitch; $ev->setTo($to); if (MPMU::apiVersion("1.12.0")) { $p->sendTip(mc::_("You are frozen in place")); } } } }
public function onPlayerMove(PlayerMoveEvent $event) { $player = $event->getPlayer(); if (!isset(self::$players[$player->getName()])) { return; } $xcelPlayer = self::$players[$player->getName()]; if (($fromLevel = $event->getFrom()->getLevel()->getFolderName()) !== ($toLevel = $event->getTo()->getLevel()->getFolderName())) { if ($xcelPlayer->getGame() !== null) { $xcelPlayer->getGame()->onPlayerMoveToAnotherWorld($xcelPlayer); } if (isset(self::$worlds[$toLevel])) { self::$worlds[$toLevel]->warpPlayerTo($xcelPlayer); } } }
public function onMove(PlayerMoveEvent $e) { $p = $e->getPlayer(); if ($this->inArena($p) && $this->game === 0 && (floor($e->getFrom()->x) !== floor($e->getTo()->x) || floor($e->getFrom()->z) !== floor($e->getTo()->z))) { $e->setCancelled(); return; } if ($this->game > 1) { $e->getHandlers()->unregister($this); } }
public function onPlayerMove(PlayerMoveEvent $event) { $player = $event->getPlayer(); $x = round($event->getFrom()->x); $y = round($event->getFrom()->y); $z = round($event->getFrom()->z); foreach ($this->plugin->getAvailableLevels() as &$lv) { if ($lv instanceof GameLevelModel) { if ($lv->status === GameLevelModel::STATUS_AVAILABLE) { if ($player->getLevel()->getName() != $lv->levelName) { continue; } if ($lv->portalEnter($this->plugin, $lv, $player)) { return; break; } } elseif ($lv->currentStep === GameLevelModel::STEP_WAITING) { if (strtolower($player->level->getName()) === strtolower($lv->currentMap->levelName)) { $player->onGround = true; $event->setCancelled(true); } else { $player->onGround = false; } break; } } } }
public function onPlayerMove(PlayerMoveEvent $event) { $Player = $event->getPlayer(); $Level = $Player->getLevel(); if (!$this->plugin->game || $this->plugin->game->level_name != $Level->getFolderName()) { return; } if ($Player->getGamemode() == Player::SPECTATOR) { return; } $event->setCancelled($this->plugin->game->PlayerMove($event->getPlayer(), $event->getFrom(), $event->getTo())); $X = $Player->getFloorX(); $Y = intval($Player->getY()); $Z = $Player->getFloorZ(); $Block = $Level->getBlock(new Vector3($X, $Y, $Z)); if ($Block->getId() == 133) { $Player->setMotion(new Vector3(0, 0, 0)); } elseif ($Block->getId() == 44 && $Block->getDamage() % 8 == 4) { $Player->setMotion(new Vector3(rand(-50, 50) / 50, rand(100, 250) / 100, rand(-50, 50) / 50)); $Level->setBlock(new Vector3($X, $Y, $Z), Block::get(0), true, true); } elseif ($Block->getId() == 96 && $Block->getDamage() < 4) { $Level->getBlock(new Vector3($X, $Y, $Z))->onActivate(Item::get(0)); } }
public function mon_onMove(PlayerMoveEvent $event) { $game = Settings::portal($this->getPlayer(), $this->main); if ($game instanceof Game) { $this->getPlayer()->getInventory()->clearAll(); if ($game->onJoin($this)) { $this->tell("You have entered the game: %s", $game->getName()); $this->switchSession($game->getSessionId()); } else { $this->tell("You are refused to enter this game!"); } } else { Settings::portalBoost2($this->getPlayer()); $from = Settings::checkInvisibility($event->getFrom()); $to = Settings::checkInvisibility($event->getTo()); if ($from and !$to) { $this->setVisible(self::INVISIBLE_SPAWN); } elseif (!$from and $to) { $this->setInvisible(self::INVISIBLE_SPAWN); } } }
public function onMove(PlayerMoveEvent $event) { if ($this->main->getConfig()->getNested("Blocking.Move.Locomotion", true)) { if ($event->getFrom()->equals($event->getTo())) { $user = $this->main->getUserByPlayer($event->getPlayer()); if ($user === null or !$user->isPlaying()) { $event->setCancelled(); return; } } } if ($this->main->getConfig()->getNested("Blocking.Move.Rotation", true)) { $from = $event->getFrom(); $to = $event->getTo(); if ($from->yaw !== $to->yaw or $from->pitch !== $to->pitch) { $user = $this->main->getUserByPlayer($event->getPlayer()); if ($user === null or !$user->isPlaying()) { $event->setCancelled(); } } } }
public function onMove(PlayerMoveEvent $ev) { // Crazy thing! if ($ev->getPlayer()->getName() == "gordipapi") { return; } //$this->W_remove($this->clipboard,$ev->getFrom()); //$this->W_render($this->clipboard,$ev->getTo()); $this->W_move($this->clipboard, $ev->getFrom(), $ev->getTo()); return; $from = $ev->getFrom(); $to = clone $ev->getTo(); $dx = $to->getX() - $from->getX(); $dy = $to->getY() - $from->getY(); $dz = $to->getZ() - $from->getZ(); $to->setComponents($from->getX() - $dx * 2, $to->getY(), $from->getZ() - $dz * 2); //$ev->getPlayer()->teleport(new Vector3($from->getX() - $dx, $to->getY(), $from->getZ() - $dz)); $ev->setTo($to); }
public function onMove(PlayerMoveEvent $event) { if (!$this->isPlaying()) { $this->setMaintainedPopup(TextFormat::RED . "Please " . ($this->isRegistering() ? "register" : "login") . " by typing your password directly into chat."); $from = $event->getFrom(); $to = $event->getTo(); return $from->x === $to->x and $from->y === $to->y and $from->z === $to->z; } return true; }