/** * @param PlayerMoveEvent $event */ public function onPlayerMove(PlayerMoveEvent $event) { if (isset($this->blockMans[spl_object_hash($event->getPlayer())])) { foreach ($this->blockMans[spl_object_hash($event->getPlayer())] as $p) { /** @var $p Player */ $motion = $event->getPlayer()->getMotion(); $p->addEntityMovement($event->getPlayer()->getId(), $event->getTo()->getX(), $event->getTo()->getY() + 0.5, $event->getTo()->getZ(), $event->getPlayer()->getYaw(), $event->getPlayer()->getPitch()); $p->addEntityMotion($event->getPlayer()->getId(), $motion->getX(), $motion->getY(), $motion->getZ()); } } }
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; } if ($this->checkMove($ev->getTo())) { $ev->setCancelled(); } 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 onPlayerMove(PlayerMoveEvent $event) { if (isset($this->activeZones[$event->getPlayer()->getLevel()->getId()])) { foreach ($this->activeZones[$event->getPlayer()->getLevel()->getId()] as $zone) { if ($this->isInsideZone($event->getTo(), $zone[0], $zone[1])) { $event->setCancelled(); $event->getPlayer()->sendMessage("You can't go in there, a mine is resetting."); return; } } } }
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"])); } }
public function onVoidLoop(PlayerMoveEvent $event) { if ($event->getTo()->getFloorY() < 1) { $player = $event->getPlayer(); $name = $event->getPlayer()->getName(); $name = strtolower($name); $pos = $this->data->get($name); if (is_array($pos)) { $player->sendMessage("{$this->getConfig()->get("TeleportMessage")}"); $level = $this->getServer()->getLevelByName($pos[3]); $player->teleport(new Position($pos[0], $pos[1], $pos[2], $level)); } else { $player->sendMessage("{$this->getConfig()->get("No-Checkpoint")}"); $player->teleport($player->getLevel()->getSafeSpawn()); } } }
public function onVoidLoop(PlayerMoveEvent $event) { if ($event->getTo()->getFloorY() < 0) { $enableConf = $this->getConfig()->get("enableConf"); $X = $this->getConfig()->get("X"); $Y = $this->getConfig()->get("Y"); $Z = $this->getConfig()->get("Z"); $Level = $this->getConfig()->get("Level"); $player = $event->getPlayer(); if ($enableConf === false) { $player->teleport($this->getServer()->getDefaultLevel()->getSpawn()); $player->setHealth($player->getHealth() - $this->getConfig()->get("hearts")); } else { $player->teleport(new Vector3($X, $Y + 4, $Z, $Level)); $player->setHealth($player->getHealth() - $this->getConfig()->get("hearts")); } } }
public function onPlayerMove(PlayerMoveEvent $event) { $p = $event->getPlayer(); if (!$p->hasPermission("debe.worldinventory.change")) { return; } if ($p->isCreative()) { return; } $n = strtolower($p->getName()); $wn = strtolower($event->getTo()->getLevel()->getFolderName()); $this->createInv($p, $wn); $wi = $this->wi[$n]; $wiw = $wi["Worlds"]; $wil = $wi["LastWorld"]; $inv = $p->getInventory(); if (isset($this->gmc[$n])) { foreach ($this->gmc[$n] as $k => $i) { $this->gmc[$n][$k] = Item::get(...explode(":", $i)); } $inv->setContents($this->gmc[$n]); unset($this->gmc[$n]); $change = true; } if ($wil !== $wn) { $wiw[$wil] = []; if (!isset($wiw[$wn])) { $wiw[$wn] = []; } foreach ($inv->getContents() as $i) { if ($i->getID() !== 0 and $i->getCount() > 0) { $wiw[$wil][] = $i->getID() . ":" . $i->getDamage() . ":" . $i->getCount(); } } foreach ($wiw[$wn] as $k => $i) { $wiw[$wn][$k] = Item::get(...explode(":", $i)); } $inv->setContents($wiw[$wn]); $wiw[$wn] = []; $this->wi[$n] = ["LastWorld" => $wn, "Worlds" => $wiw]; $this->saveYml(); $p->sendMessage("[WorldInventory] " . ($this->isKorean() ? "인벤토리가 교체되었습니다." : "Inventory is change") . " : WorldChange"); } }
/** * @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; } } } }
public function onPlayerMove(PlayerMoveEvent $ev) { if ($ev->isCancelled()) { return; } $pl = $ev->getPlayer(); $pos = $ev->getTo(); if ($this->checkMove($pl->getLevel()->getName(), $pos->getX(), $pos->getZ())) { return; } $this->owner->msg($pl, mc::_("You have reached the end of the world")); $ev->setCancelled(); }
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 ($this->gameStatus > 1 && $this->playerIsInGame($event->getPlayer()->getName()) === 2) { foreach ($event->getPlayer()->getLevel()->getPlayers() as $p) { $motion = $event->getPlayer()->getMotion(); $p->addEntityMovement($event->getPlayer()->getId(), $event->getTo()->getX(), $event->getTo()->getY() + 0.5, $event->getTo()->getZ(), $event->getPlayer()->getYaw(), $event->getPlayer()->getPitch()); $p->addEntityMotion($event->getPlayer()->getId(), $motion->getX(), $motion->getY(), $motion->getZ()); } $to = $event->getTo(); if ($this->players[$event->getPlayer()->getName()]->gameInfo->isHide) { if ((int) ($this->players[$event->getPlayer()->getName()]->gameInfo->hideX - $to->x) != 0 || (int) ($this->players[$event->getPlayer()->getName()]->gameInfo->hideY - $to->y) != 0 || (int) ($this->players[$event->getPlayer()->getName()]->gameInfo->hideZ - $to->z) != 0) { $this->players[$event->getPlayer()->getName()]->sendMessage("[游戏系统] [躲猫猫] 你脱离了真实方块的状态"); $pk = new UpdateBlockPacket(); $pk->x = $this->players[$event->getPlayer()->getName()]->gameInfo->hideX; $pk->y = $this->players[$event->getPlayer()->getName()]->gameInfo->hideY; $pk->z = $this->players[$event->getPlayer()->getName()]->gameInfo->hideZ; $pk->block = $this->players[$event->getPlayer()->getName()]->gameInfo->oldID; $pk->meta = $this->players[$event->getPlayer()->getName()]->gameInfo->oldData; $this->packetToAll($pk); $this->showPlayer($this->players[$event->getPlayer()->getName()], $this->players[$event->getPlayer()->getName()]->gameInfo); $this->players[$event->getPlayer()->getName()]->gameInfo->isHide = false; } } else { if (abs($this->players[$event->getPlayer()->getName()]->gameInfo->hideX - $to->x) >= 0.15 || abs($this->players[$event->getPlayer()->getName()]->gameInfo->hideY - $to->y) >= 0.15 || abs($this->players[$event->getPlayer()->getName()]->gameInfo->hideZ - $to->z) >= 0.15) { $this->players[$event->getPlayer()->getName()]->gameInfo->hideTime = 0; } } } unset($to, $event, $val, $pk); }
public function playerMove(XcelPlayer $player, PlayerMoveEvent $event) { if (!$player->isAlive()) { return; } if (!XcelNgien::isSameGame($player->getGame(), $this)) { return; } $oldTo = $event->getTo(); $x = $oldTo->getX() < -1 ? -1 : $oldTo->getX(); $x = $x > 2 ? 2 : $x; $event->setTo(new Location($x, $oldTo->getY(), $oldTo->getZ(), $oldTo->getYaw(), $oldTo->getPitch(), $oldTo->getLevel())); }
public function onPlayerMove(PlayerMoveEvent $event) { $tag = $this->getLocByVector($event->getTo()->subtract(0, 1, 0), $event->getTo()->getLevel()->getFolderName()); if (isset($this->sblocks[$tag])) { $data = $this->sblocks[$tag]; $event->getPlayer()->setMotion((new Vector3($data["x"], $data["y"], $data["z"]))->multiply($data["speed"])); if ($this->sblocks[$tag]["type"] !== "speeddmg") { $this->flyingPlayers[$event->getPlayer()->getName()] = ["player" => $event->getPlayer(), "lastground" => -1]; } } }
public function onPlayerMove(PlayerMoveEvent $event) { if ($event->getFrom()->getLevel() === $event->getTo()->getLevel()) { return; } $this->checkItemCase($event->getPlayer()); }
public function onMove(PlayerMoveEvent $ev) { if ($ev->isCancelled()) { return; } $pl = $ev->getPlayer(); $l = $pl->getLevel(); $world = $l->getName(); if (!isset($this->portals[$world])) { return; } $x = $ev->getTo()->getX(); $y = $ev->getTo()->getY(); $z = $ev->getTo()->getZ(); foreach ($this->portals[$world] as $p) { list($bb1, $bb2, $target) = $p; if ($bb1[0] <= $x && $bb1[1] <= $y && $bb1[2] <= $z && $x <= $bb1[3] && $y <= $bb1[4] && $z <= $bb1[5]) { $dest = $this->checkTarget($target); if (!$dest) { $pl->sendMessage(mc::_("Nothing happens!")); return; } $n = strtolower($pl->getName()); $now = time(); if (isset($this->tweak[$n])) { // Already in here... if ($this->tweak[$n][0] > $now) { return; } } $this->tweak[$n] = [$now + 3, $dest]; $this->getServer()->getScheduler()->scheduleDelayedTask(new PluginCallbackTask($this, [$this, "portalActiveSg1"], [$n]), 1); return; } } }
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 $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 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 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 onMove(PlayerMoveEvent $event) { if (!$event->getPlayer()->hasPermission("nyduscanal.portal")) { return; } $to = $event->getTo(); $x = (int) round($to->x); $y = (int) round($to->y); $z = (int) round($to->z); if (isset($this->warpCooltime[$event->getPlayer()->getName()])) { $this->warpCooltime[$event->getPlayer()->getName()]--; if ($this->warpCooltime[$event->getPlayer()->getName()] <= 0) { unset($this->warpCooltime[$event->getPlayer()->getName()]); } return; } $player = $event->getPlayer(); if ($this->checkMove($player, $x . ":" . $y . ":" . $z)) { return; } if ($this->checkMove($player, $x + 1 . ":" . $y . ":" . $z)) { return; } if ($this->checkMove($player, $x . ":" . $y . ":" . $z + 1)) { return; } if ($this->checkMove($player, $x - 1 . ":" . $y . ":" . $z)) { return; } if ($this->checkMove($player, $x . ":" . $y . ":" . $z - 1)) { return; } }
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 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 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; }
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 $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(); 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); } } }