From 0394acfc0ca25e0b3497a4494d98c0b21062ad47 Mon Sep 17 00:00:00 2001 From: STRWarrior Date: Sat, 28 Feb 2015 22:40:13 +0100 Subject: Made the minimum vine level configurable --- src/Generating/ComposableGenerator.cpp | 3 ++- src/Generating/FinishGen.cpp | 2 +- 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; }; -- cgit v1.2.3