diff options
author | James Balajan <jbalajan@gmail.com> | 2016-12-02 10:52:29 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2016-12-02 10:52:29 +0100 |
commit | df5be57c1e829e6008b9f7825331c07ba0b406de (patch) | |
tree | cd5090d51e7bfecd988d59cec01790b3d10dce9b /src/Generating/Trees.cpp | |
parent | Merge pull request #3468 from cuberite/FixVillageGen (diff) | |
download | cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.tar cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.tar.gz cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.tar.bz2 cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.tar.lz cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.tar.xz cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.tar.zst cuberite-df5be57c1e829e6008b9f7825331c07ba0b406de.zip |
Diffstat (limited to 'src/Generating/Trees.cpp')
-rw-r--r-- | src/Generating/Trees.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Generating/Trees.cpp b/src/Generating/Trees.cpp index c185f54d9..f90a5c9c3 100644 --- a/src/Generating/Trees.cpp +++ b/src/Generating/Trees.cpp @@ -602,6 +602,15 @@ void GetDarkoakTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No a_LogBlocks.push_back(sSetBlock(a_BlockX + 1, a_BlockY + i, a_BlockZ + 1, E_BLOCK_NEW_LOG, E_META_NEW_LOG_DARK_OAK_WOOD)); } + // Prevent floating trees by placing dirt under them + for (int i = 1; i < 5; i++) + { + a_OtherBlocks.push_back(sSetBlock(a_BlockX, a_BlockY - i, a_BlockZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + a_OtherBlocks.push_back(sSetBlock(a_BlockX + 1, a_BlockY - i, a_BlockZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + a_OtherBlocks.push_back(sSetBlock(a_BlockX, a_BlockY - i, a_BlockZ + 1, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + a_OtherBlocks.push_back(sSetBlock(a_BlockX + 1, a_BlockY - i, a_BlockZ + 1, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + } + // Create branches for (int i = 0; i < 3; i++) { @@ -966,6 +975,15 @@ void GetLargeJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & } int hei = a_BlockY + Height - 2; + // Prevent floating trees by placing dirt under them + for (int i = 1; i < 5; i++) + { + a_OtherBlocks.push_back(sSetBlock(a_BlockX, a_BlockY - i, a_BlockZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + a_OtherBlocks.push_back(sSetBlock(a_BlockX + 1, a_BlockY - i, a_BlockZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + a_OtherBlocks.push_back(sSetBlock(a_BlockX, a_BlockY - i, a_BlockZ + 1, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + a_OtherBlocks.push_back(sSetBlock(a_BlockX + 1, a_BlockY - i, a_BlockZ + 1, E_BLOCK_DIRT, E_META_DIRT_NORMAL)); + } + // Put vines around the lowermost leaves layer: PushSomeColumns(a_BlockX, hei, a_BlockZ, Height, a_Seq, a_Noise, 0x3fffffff, a_OtherBlocks, Vines, ARRAYCOUNT(Vines), E_BLOCK_VINES); |