diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Generating/ComposableGenerator.cpp | 3 | ||||
-rw-r--r-- | src/Generating/FinishGen.cpp | 2 | ||||
-rw-r--r-- | src/Generating/FinishGen.h | 6 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/Generating/ComposableGenerator.cpp b/src/Generating/ComposableGenerator.cpp index 09c1c3949..42a805760 100644 --- a/src/Generating/ComposableGenerator.cpp +++ b/src/Generating/ComposableGenerator.cpp @@ -618,7 +618,8 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) } else if (NoCaseCompare(*itr, "Vines") == 0) { - m_FinishGens.push_back(cFinishGenPtr(new cFinishGenVines(Seed))); + int Level = a_IniFile.GetValueSetI("Generator", "VinesLevel", 40); + m_FinishGens.push_back(cFinishGenPtr(new cFinishGenVines(Seed, Level))); } else if (NoCaseCompare(*itr, "WaterLakes") == 0) { diff --git a/src/Generating/FinishGen.cpp b/src/Generating/FinishGen.cpp index 5b8965906..8790ac0e8 100644 --- a/src/Generating/FinishGen.cpp +++ b/src/Generating/FinishGen.cpp @@ -287,7 +287,7 @@ void cFinishGenVines::GenFinish(cChunkDesc & a_ChunkDesc) } int Height = a_ChunkDesc.GetHeight(x, z); - for (int y = Height; y > 40; y--) + for (int y = Height; y > m_Level; y--) { if (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR) { diff --git a/src/Generating/FinishGen.h b/src/Generating/FinishGen.h index 023d26f10..950406872 100644 --- a/src/Generating/FinishGen.h +++ b/src/Generating/FinishGen.h @@ -122,8 +122,9 @@ class cFinishGenVines : public cFinishGen { public: - cFinishGenVines(int a_Seed) : - m_Noise(a_Seed) + cFinishGenVines(int a_Seed, int a_Level) : + m_Noise(a_Seed), + m_Level(a_Level) { } @@ -131,6 +132,7 @@ public: protected: cNoise m_Noise; + int m_Level; virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; }; |