From f772d527e2339c6c42a5f04c99ab11e32bc12cfe Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 13 Jan 2025 05:40:43 +0300 Subject: [PATCH] feat: nameless worlds --- src/logic/LevelController.cpp | 4 ++++ src/world/World.cpp | 7 ++++++- src/world/World.hpp | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/logic/LevelController.cpp b/src/logic/LevelController.cpp index 06fd6e96..47a6384d 100644 --- a/src/logic/LevelController.cpp +++ b/src/logic/LevelController.cpp @@ -108,6 +108,10 @@ void LevelController::update(float delta, bool pause) { void LevelController::saveWorld() { auto world = level->getWorld(); + if (world->isNameless()) { + logger.info() << "nameless world will not be saved"; + return; + } logger.info() << "writing world '" << world->getName() << "'"; world->wfile->createDirectories(); scripting::on_world_save(); diff --git a/src/world/World.cpp b/src/world/World.cpp index a3b83742..54785862 100644 --- a/src/world/World.cpp +++ b/src/world/World.cpp @@ -94,7 +94,12 @@ std::unique_ptr World::create( content, packs ); - logger.info() << "created world '" << name << "' (" << directory.u8string() << ")"; + if (name.empty()) { + logger.info() << "created nameless world"; + } else { + logger.info() << "created world '" << name << "' (" + << directory.u8string() << ")"; + } logger.info() << "world seed: " << seed << " generator: " << generator; return std::make_unique(std::move(world), content, settings); } diff --git a/src/world/World.hpp b/src/world/World.hpp index 552f70ec..da1ebd81 100644 --- a/src/world/World.hpp +++ b/src/world/World.hpp @@ -140,6 +140,10 @@ public: /// @brief Get world generator id std::string getGenerator() const; + bool isNameless() const { + return info.name.empty(); + } + WorldInfo& getInfo() { return info; }