Mgv6: Fix taiga, allow pine tree spawning on snowblocks
authorparamat <mat.gregory@virginmedia.com>
Sun, 12 Apr 2015 04:11:16 +0000 (05:11 +0100)
committerparamat <mat.gregory@virginmedia.com>
Sun, 12 Apr 2015 04:52:41 +0000 (05:52 +0100)
src/mapgen_v6.cpp

index 92b9c7af411081e34eb377c8fda45372b1345e59..6fcd457fb688921c369a4d9b431f8865c0baef23 100644 (file)
@@ -944,13 +944,14 @@ void MapgenV6::placeTreesAndJungleGrass()
                                continue;
 
                        v3s16 p(x, y, z);
-                       // Trees grow only on mud and grass
+                       // Trees grow only on mud and grass and snowblock
                        {
                                u32 i = vm->m_area.index(p);
                                content_t c = vm->m_data[i].getContent();
                                if (c != c_dirt &&
                                                c != c_dirt_with_grass &&
-                                               c != c_dirt_with_snow)
+                                               c != c_dirt_with_snow &&
+                                               c != c_snowblock)
                                        continue;
                        }
                        p.Y++;
@@ -959,7 +960,7 @@ void MapgenV6::placeTreesAndJungleGrass()
                        if (bt == BT_JUNGLE) {
                                treegen::make_jungletree(*vm, p, ndef, myrand());
                        } else if (bt == BT_TAIGA) {
-                               treegen::make_pine_tree(*vm, p, ndef, myrand());
+                               treegen::make_pine_tree(*vm, p - v3s16(0, 1, 0), ndef, myrand());
                        } else if (bt == BT_NORMAL) {
                                bool is_apple_tree = (myrand_range(0, 3) == 0) &&
                                                        getHaveAppleTree(v2s16(x, z));