public function removePlayer(XcelPlayer $player, $notify = false) { if ($notify && $player->isAlive()) { $this->broadcastMessageForPlayers(TextFormat::RED . XcelNgien::getTranslation("PLAYER_OUT", $player->getPlayer()->getDisplayName())); } if ($this->currentStatus === self::STATUS_IN_GAME || $this->currentStatus === self::STATUS_FINISHED) { $this->removePrivilege($player); } $player->setGame(null); $player->getPlayer()->setGamemode(Server::getInstance()->getDefaultGamemode()); $player->getPlayer()->setHealth($player->getPlayer()->getMaxHealth()); $player->getPlayer()->teleport(Server::getInstance()->getDefaultLevel()->getSpawnLocation()); unset($this->players[$player->getPlayer()->getName()]); $this->recalculatePlayers(); }
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())); }