diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 4d4915ba2..9bfa1d1a1 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1869,7 +1869,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $this->networkSession->getIp(), $this->networkSession->getPort(), $this->id, - $this->level->getName(), + $this->level->getDisplayName(), round($this->x, 4), round($this->y, 4), round($this->z, 4) diff --git a/src/pocketmine/command/defaults/StatusCommand.php b/src/pocketmine/command/defaults/StatusCommand.php index c580fda32..d83f38019 100644 --- a/src/pocketmine/command/defaults/StatusCommand.php +++ b/src/pocketmine/command/defaults/StatusCommand.php @@ -107,7 +107,7 @@ class StatusCommand extends VanillaCommand{ } foreach($server->getLevelManager()->getLevels() as $level){ - $levelName = $level->getFolderName() !== $level->getName() ? " (" . $level->getName() . ")" : ""; + $levelName = $level->getFolderName() !== $level->getDisplayName() ? " (" . $level->getDisplayName() . ")" : ""; $timeColor = ($level->getTickRate() > 1 or $level->getTickRateTime() > 40) ? TextFormat::RED : TextFormat::YELLOW; $tickRate = $level->getTickRate() > 1 ? " (tick rate " . $level->getTickRate() . ")" : ""; $sender->sendMessage(TextFormat::GOLD . "World \"{$level->getFolderName()}\"$levelName: " . diff --git a/src/pocketmine/event/server/QueryRegenerateEvent.php b/src/pocketmine/event/server/QueryRegenerateEvent.php index c54d51166..a9393a1c6 100644 --- a/src/pocketmine/event/server/QueryRegenerateEvent.php +++ b/src/pocketmine/event/server/QueryRegenerateEvent.php @@ -89,7 +89,7 @@ class QueryRegenerateEvent extends ServerEvent{ $this->version = $server->getVersion(); $this->server_engine = $server->getName() . " " . $server->getPocketMineVersion(); $level = $server->getLevelManager()->getDefaultLevel(); - $this->map = $level === null ? "unknown" : $level->getName(); + $this->map = $level === null ? "unknown" : $level->getDisplayName(); $this->numPlayers = count($this->players); $this->maxPlayers = $server->getMaxPlayers(); $this->whitelist = $server->hasWhitelist() ? "on" : "off"; diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 47d9dd04a..aaa14426e 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -2803,16 +2803,17 @@ class Level implements ChunkManager, Metadatable{ } /** - * Returns the Level name + * Returns the Level display name. + * WARNING: This is NOT guaranteed to be unique. Multiple levels at runtime may share the same display name. * * @return string */ - public function getName() : string{ + public function getDisplayName() : string{ return $this->displayName; } /** - * Returns the Level folder name + * Returns the Level folder name. This will not change at runtime and will be unique to a level per runtime. * * @return string */ diff --git a/src/pocketmine/level/LevelManager.php b/src/pocketmine/level/LevelManager.php index b4f54ece2..56cb8b6c8 100644 --- a/src/pocketmine/level/LevelManager.php +++ b/src/pocketmine/level/LevelManager.php @@ -179,7 +179,7 @@ class LevelManager{ return false; } - $this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.level.unloading", [$level->getName()])); + $this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.level.unloading", [$level->getDisplayName()])); foreach($level->getPlayers() as $player){ if($level === $this->levelDefault or $this->levelDefault === null){ $player->close($player->getLeaveMessage(), "Forced default level unload"); @@ -382,14 +382,14 @@ class LevelManager{ if($r > $this->baseTickRate){ $level->tickRateCounter = $level->getTickRate(); } - $this->server->getLogger()->debug("Raising level \"{$level->getName()}\" tick rate to {$level->getTickRate()} ticks"); + $this->server->getLogger()->debug("Raising level \"{$level->getDisplayName()}\" tick rate to {$level->getTickRate()} ticks"); }elseif($tickMs >= 50){ if($level->getTickRate() === $this->baseTickRate){ $level->setTickRate(max($this->baseTickRate + 1, min($this->autoTickRateLimit, (int) floor($tickMs / 50)))); - $this->server->getLogger()->debug(sprintf("Level \"%s\" took %gms, setting tick rate to %d ticks", $level->getName(), (int) round($tickMs, 2), $level->getTickRate())); + $this->server->getLogger()->debug(sprintf("Level \"%s\" took %gms, setting tick rate to %d ticks", $level->getDisplayName(), (int) round($tickMs, 2), $level->getTickRate())); }elseif(($tickMs / $level->getTickRate()) >= 50 and $level->getTickRate() < $this->autoTickRateLimit){ $level->setTickRate($level->getTickRate() + 1); - $this->server->getLogger()->debug(sprintf("Level \"%s\" took %gms, setting tick rate to %d ticks", $level->getName(), (int) round($tickMs, 2), $level->getTickRate())); + $this->server->getLogger()->debug(sprintf("Level \"%s\" took %gms, setting tick rate to %d ticks", $level->getDisplayName(), (int) round($tickMs, 2), $level->getTickRate())); } $level->tickRateCounter = $level->getTickRate(); } diff --git a/src/pocketmine/level/Location.php b/src/pocketmine/level/Location.php index d29f8b26c..b24d90242 100644 --- a/src/pocketmine/level/Location.php +++ b/src/pocketmine/level/Location.php @@ -76,7 +76,7 @@ class Location extends Position{ } public function __toString(){ - return "Location (level=" . ($this->isValid() ? $this->getLevel()->getName() : "null") . ", x=$this->x, y=$this->y, z=$this->z, yaw=$this->yaw, pitch=$this->pitch)"; + return "Location (level=" . ($this->isValid() ? $this->getLevel()->getDisplayName() : "null") . ", x=$this->x, y=$this->y, z=$this->z, yaw=$this->yaw, pitch=$this->pitch)"; } public function equals(Vector3 $v) : bool{ diff --git a/src/pocketmine/level/Position.php b/src/pocketmine/level/Position.php index 313f24e01..9f3898b09 100644 --- a/src/pocketmine/level/Position.php +++ b/src/pocketmine/level/Position.php @@ -118,7 +118,7 @@ class Position extends Vector3{ } public function __toString(){ - return "Position(level=" . ($this->isValid() ? $this->getLevel()->getName() : "null") . ",x=" . $this->x . ",y=" . $this->y . ",z=" . $this->z . ")"; + return "Position(level=" . ($this->isValid() ? $this->getLevel()->getDisplayName() : "null") . ",x=" . $this->x . ",y=" . $this->y . ",z=" . $this->z . ")"; } public function equals(Vector3 $v) : bool{ diff --git a/src/pocketmine/metadata/BlockMetadataStore.php b/src/pocketmine/metadata/BlockMetadataStore.php index 58adf2e54..dd16447ba 100644 --- a/src/pocketmine/metadata/BlockMetadataStore.php +++ b/src/pocketmine/metadata/BlockMetadataStore.php @@ -37,7 +37,7 @@ class BlockMetadataStore extends MetadataStore{ private function disambiguate(Block $block, string $metadataKey) : string{ if($block->getLevel() !== $this->owningLevel){ - throw new \InvalidStateException("Block does not belong to world " . $this->owningLevel->getName()); + throw new \InvalidStateException("Block does not belong to world " . $this->owningLevel->getDisplayName()); } return $block->x . ":" . $block->y . ":" . $block->z . ":" . $metadataKey; } diff --git a/src/pocketmine/metadata/LevelMetadataStore.php b/src/pocketmine/metadata/LevelMetadataStore.php index 790c5221c..b31099f41 100644 --- a/src/pocketmine/metadata/LevelMetadataStore.php +++ b/src/pocketmine/metadata/LevelMetadataStore.php @@ -30,7 +30,7 @@ use function strtolower; class LevelMetadataStore extends MetadataStore{ private function disambiguate(Level $level, string $metadataKey) : string{ - return strtolower($level->getName()) . ":" . $metadataKey; + return strtolower($level->getFolderName()) . ":" . $metadataKey; } public function getMetadata(Level $subject, string $metadataKey){