mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 17:59:48 +00:00
Renaming "Level" -> "World" (#2907)
This has been a pain point for a long time due to the misleading nature of the name "level". It's also confusing when trying to do things like getting the XP level of the player or such, and also does not translate well to other languages. This transition was already executed on the UI some time ago (language strings) and now it's time for the same change to occur on the API. This will burn a lot of plugins, but they'll acclimatize. Despite the scary size of this PR, there isn't actually so many changes to make. Most of this came from renaming `Position->getLevel()` to `Position->getWorld()`, or cosmetic changes like changing variable names or doc comments.
This commit is contained in:
@ -47,17 +47,9 @@ use pocketmine\item\ItemFactory;
|
||||
use pocketmine\lang\Language;
|
||||
use pocketmine\lang\LanguageNotFoundException;
|
||||
use pocketmine\lang\TextContainer;
|
||||
use pocketmine\level\biome\Biome;
|
||||
use pocketmine\level\format\io\LevelProviderManager;
|
||||
use pocketmine\level\format\io\WritableLevelProvider;
|
||||
use pocketmine\level\generator\Generator;
|
||||
use pocketmine\level\generator\GeneratorManager;
|
||||
use pocketmine\level\generator\normal\Normal;
|
||||
use pocketmine\level\Level;
|
||||
use pocketmine\level\LevelManager;
|
||||
use pocketmine\metadata\EntityMetadataStore;
|
||||
use pocketmine\metadata\LevelMetadataStore;
|
||||
use pocketmine\metadata\PlayerMetadataStore;
|
||||
use pocketmine\metadata\WorldMetadataStore;
|
||||
use pocketmine\nbt\BigEndianNbtSerializer;
|
||||
use pocketmine\nbt\NbtDataException;
|
||||
use pocketmine\nbt\tag\CompoundTag;
|
||||
@ -102,6 +94,14 @@ use pocketmine\utils\Terminal;
|
||||
use pocketmine\utils\TextFormat;
|
||||
use pocketmine\utils\Utils;
|
||||
use pocketmine\utils\UUID;
|
||||
use pocketmine\world\biome\Biome;
|
||||
use pocketmine\world\format\io\WorldProviderManager;
|
||||
use pocketmine\world\format\io\WritableWorldProvider;
|
||||
use pocketmine\world\generator\Generator;
|
||||
use pocketmine\world\generator\GeneratorManager;
|
||||
use pocketmine\world\generator\normal\Normal;
|
||||
use pocketmine\world\World;
|
||||
use pocketmine\world\WorldManager;
|
||||
use function array_key_exists;
|
||||
use function array_shift;
|
||||
use function array_sum;
|
||||
@ -238,8 +238,8 @@ class Server{
|
||||
/** @var ResourcePackManager */
|
||||
private $resourceManager;
|
||||
|
||||
/** @var LevelManager */
|
||||
private $levelManager;
|
||||
/** @var WorldManager */
|
||||
private $worldManager;
|
||||
|
||||
/** @var int */
|
||||
private $maxPlayers;
|
||||
@ -253,8 +253,8 @@ class Server{
|
||||
/** @var PlayerMetadataStore */
|
||||
private $playerMetadata;
|
||||
|
||||
/** @var LevelMetadataStore */
|
||||
private $levelMetadata;
|
||||
/** @var WorldMetadataStore */
|
||||
private $worldMetadata;
|
||||
|
||||
/** @var Network */
|
||||
private $network;
|
||||
@ -436,7 +436,7 @@ class Server{
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns Server global difficulty. Note that this may be overridden in individual Levels.
|
||||
* Returns Server global difficulty. Note that this may be overridden in individual worlds.
|
||||
* @return int
|
||||
*/
|
||||
public function getDifficulty() : int{
|
||||
@ -493,10 +493,10 @@ class Server{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return LevelMetadataStore
|
||||
* @return WorldMetadataStore
|
||||
*/
|
||||
public function getLevelMetadata(){
|
||||
return $this->levelMetadata;
|
||||
public function getWorldMetadata(){
|
||||
return $this->worldMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -528,10 +528,10 @@ class Server{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return LevelManager
|
||||
* @return WorldManager
|
||||
*/
|
||||
public function getLevelManager() : LevelManager{
|
||||
return $this->levelManager;
|
||||
public function getWorldManager() : WorldManager{
|
||||
return $this->worldManager;
|
||||
}
|
||||
|
||||
public function getAsyncPool() : AsyncPool{
|
||||
@ -1130,7 +1130,7 @@ class Server{
|
||||
|
||||
$this->entityMetadata = new EntityMetadataStore();
|
||||
$this->playerMetadata = new PlayerMetadataStore();
|
||||
$this->levelMetadata = new LevelMetadataStore();
|
||||
$this->worldMetadata = new WorldMetadataStore();
|
||||
|
||||
$this->operators = new Config($this->dataPath . "ops.txt", Config::ENUM);
|
||||
$this->whitelist = new Config($this->dataPath . "white-list.txt", Config::ENUM);
|
||||
@ -1156,8 +1156,8 @@ class Server{
|
||||
$this->logger->warning($this->getLanguage()->translateString("pocketmine.server.authProperty.disabled"));
|
||||
}
|
||||
|
||||
if($this->getConfigBool("hardcore", false) and $this->getDifficulty() < Level::DIFFICULTY_HARD){
|
||||
$this->setConfigInt("difficulty", Level::DIFFICULTY_HARD);
|
||||
if($this->getConfigBool("hardcore", false) and $this->getDifficulty() < World::DIFFICULTY_HARD){
|
||||
$this->setConfigInt("difficulty", World::DIFFICULTY_HARD);
|
||||
}
|
||||
|
||||
if(\pocketmine\DEBUG >= 0){
|
||||
@ -1213,18 +1213,18 @@ class Server{
|
||||
$this->pluginManager->registerInterface(new PharPluginLoader($this->autoloader));
|
||||
$this->pluginManager->registerInterface(new ScriptPluginLoader());
|
||||
|
||||
LevelProviderManager::init();
|
||||
WorldProviderManager::init();
|
||||
if(
|
||||
($format = LevelProviderManager::getProviderByName($formatName = (string) $this->getProperty("level-settings.default-format"))) !== null and
|
||||
is_a($format, WritableLevelProvider::class, true)
|
||||
($format = WorldProviderManager::getProviderByName($formatName = (string) $this->getProperty("level-settings.default-format"))) !== null and
|
||||
is_a($format, WritableWorldProvider::class, true)
|
||||
){
|
||||
LevelProviderManager::setDefault($format);
|
||||
WorldProviderManager::setDefault($format);
|
||||
}elseif($formatName !== ""){
|
||||
$this->logger->warning($this->language->translateString("pocketmine.level.badDefaultFormat", [$formatName]));
|
||||
}
|
||||
|
||||
GeneratorManager::registerDefaultGenerators();
|
||||
$this->levelManager = new LevelManager($this);
|
||||
$this->worldManager = new WorldManager($this);
|
||||
|
||||
$this->updater = new AutoUpdater($this, $this->getProperty("auto-updater.host", "update.pmmp.io"));
|
||||
|
||||
@ -1241,7 +1241,7 @@ class Server{
|
||||
}elseif(!is_array($options)){
|
||||
continue;
|
||||
}
|
||||
if(!$this->levelManager->loadLevel($name, true)){
|
||||
if(!$this->worldManager->loadWorld($name, true)){
|
||||
if(isset($options["generator"])){
|
||||
$generatorOptions = explode(":", $options["generator"]);
|
||||
$generator = GeneratorManager::getGenerator(array_shift($generatorOptions));
|
||||
@ -1252,19 +1252,19 @@ class Server{
|
||||
$generator = Normal::class;
|
||||
}
|
||||
|
||||
$this->levelManager->generateLevel($name, Generator::convertSeed((string) ($options["seed"] ?? "")), $generator, $options);
|
||||
$this->worldManager->generateWorld($name, Generator::convertSeed((string) ($options["seed"] ?? "")), $generator, $options);
|
||||
}
|
||||
}
|
||||
|
||||
if($this->levelManager->getDefaultLevel() === null){
|
||||
if($this->worldManager->getDefaultWorld() === null){
|
||||
$default = $this->getConfigString("level-name", "world");
|
||||
if(trim($default) == ""){
|
||||
$this->getLogger()->warning("level-name cannot be null, using default");
|
||||
$default = "world";
|
||||
$this->setConfigString("level-name", "world");
|
||||
}
|
||||
if(!$this->levelManager->loadLevel($default, true)){
|
||||
$this->levelManager->generateLevel(
|
||||
if(!$this->worldManager->loadWorld($default, true)){
|
||||
$this->worldManager->generateWorld(
|
||||
$default,
|
||||
Generator::convertSeed($this->getConfigString("level-seed")),
|
||||
GeneratorManager::getGenerator($this->getConfigString("level-type")),
|
||||
@ -1272,14 +1272,14 @@ class Server{
|
||||
);
|
||||
}
|
||||
|
||||
$level = $this->levelManager->getLevelByName($default);
|
||||
if($level === null){
|
||||
$world = $this->worldManager->getWorldByName($default);
|
||||
if($world === null){
|
||||
$this->getLogger()->emergency($this->getLanguage()->translateString("pocketmine.level.defaultError"));
|
||||
$this->forceShutdown();
|
||||
|
||||
return;
|
||||
}
|
||||
$this->levelManager->setDefaultLevel($level);
|
||||
$this->worldManager->setDefaultWorld($world);
|
||||
}
|
||||
|
||||
$this->enablePlugins(PluginLoadOrder::POSTWORLD());
|
||||
@ -1628,10 +1628,10 @@ class Server{
|
||||
$this->network->getSessionManager()->close($this->getProperty("settings.shutdown-message", "Server closed"));
|
||||
}
|
||||
|
||||
if($this->levelManager instanceof LevelManager){
|
||||
if($this->worldManager instanceof WorldManager){
|
||||
$this->getLogger()->debug("Unloading all worlds");
|
||||
foreach($this->levelManager->getLevels() as $level){
|
||||
$this->levelManager->unloadLevel($level, true);
|
||||
foreach($this->worldManager->getWorlds() as $world){
|
||||
$this->worldManager->unloadWorld($world, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1951,7 +1951,7 @@ class Server{
|
||||
$this->asyncPool->collectTasks();
|
||||
Timings::$schedulerAsyncTimer->stopTiming();
|
||||
|
||||
$this->levelManager->tick($this->tickCounter);
|
||||
$this->worldManager->tick($this->tickCounter);
|
||||
|
||||
Timings::$connectionTimer->startTiming();
|
||||
$this->network->tick();
|
||||
@ -1978,8 +1978,8 @@ class Server{
|
||||
}
|
||||
|
||||
if(($this->tickCounter % 100) === 0){
|
||||
foreach($this->levelManager->getLevels() as $level){
|
||||
$level->clearCache();
|
||||
foreach($this->worldManager->getWorlds() as $world){
|
||||
$world->clearCache();
|
||||
}
|
||||
|
||||
if($this->getTicksPerSecondAverage() < 12){
|
||||
|
Reference in New Issue
Block a user