From 95ce5583a9e4a0f95a4d9b28e0faedccd73e2b9d Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Fri, 16 Mar 2018 08:52:42 +0100 Subject: ServerEnvironment::loadDefaultMeta: Loading default meta is only possible for ServerEnv itself --- src/serverenvironment.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/serverenvironment.cpp') diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index 4ca76eead..74b44c730 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -614,6 +614,16 @@ void ServerEnvironment::saveMeta() void ServerEnvironment::loadMeta() { + // If file doesn't exist, load default environment metadata + if (!fs::PathExists(m_path_world + DIR_DELIM "env_meta.txt")) { + infostream << "ServerEnvironment: Loading default environment metadata" + << std::endl; + loadDefaultMeta(); + return; + } + + infostream << "ServerEnvironment: Loading environment metadata" << std::endl; + std::string path = m_path_world + DIR_DELIM "env_meta.txt"; // Open file and deserialize @@ -664,6 +674,9 @@ void ServerEnvironment::loadMeta() args.getU64("day_count") : 0; } +/** + * called if env_meta.txt doesn't exist (e.g. new world) + */ void ServerEnvironment::loadDefaultMeta() { m_lbm_mgr.loadIntroductionTimes("", m_server, m_game_time); -- cgit v1.2.3