diff options
author | madmaxoft <github@xoft.cz> | 2014-09-03 23:02:00 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-09-03 23:02:00 +0200 |
commit | bae928fd27cb26ec55db04f64d8de888443d65a0 (patch) | |
tree | 095d8e7437ef4c2ce65fa60abbe2b643e33528a0 | |
parent | Added cIniFile::HasValue() function. (diff) | |
download | cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.tar cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.tar.gz cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.tar.bz2 cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.tar.lz cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.tar.xz cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.tar.zst cuberite-bae928fd27cb26ec55db04f64d8de888443d65a0.zip |
-rw-r--r-- | src/Generating/ChunkGenerator.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/Generating/ChunkGenerator.cpp b/src/Generating/ChunkGenerator.cpp index d39b44733..4fa9729ec 100644 --- a/src/Generating/ChunkGenerator.cpp +++ b/src/Generating/ChunkGenerator.cpp @@ -52,10 +52,21 @@ bool cChunkGenerator::Start(cPluginInterface & a_PluginInterface, cChunkSink & a m_PluginInterface = &a_PluginInterface; m_ChunkSink = &a_ChunkSink; - MTRand rnd; - m_Seed = a_IniFile.GetValueSetI("Seed", "Seed", (int)rnd.randInt()); + // Get the seed; create a new one and log it if not found in the INI file: + if (a_IniFile.HasValue("Seed", "Seed")) + { + m_Seed = a_IniFile.GetValueI("Seed", "Seed"); + } + else + { + MTRand rnd; + m_Seed = rnd.randInt(); + LOGINFO("Chosen a new random seed for world: %d", m_Seed); + a_IniFile.SetValueI("Seed", "Seed", m_Seed); + } + + // Get the generator engine based on the INI file settings: AString GeneratorName = a_IniFile.GetValueSet("Generator", "Generator", "Composable"); - if (NoCaseCompare(GeneratorName, "Noise3D") == 0) { m_Generator = new cNoise3DGenerator(*this); |