Mapgen v6: Use snow blocks in tundra and remove them from taiga (#5827)
authorCasimir <CasimirKaPazi@users.noreply.github.com>
Sun, 4 Jun 2017 07:37:30 +0000 (09:37 +0200)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Sun, 4 Jun 2017 07:37:30 +0000 (09:37 +0200)
* Mapgen v6: Use snow blocks in tundra and remove them from taiga

* Use snowblocks in tundra above dirt with snow

src/mapgen_v6.cpp

index fe2b0b36f282c36e7ce6e77c3abe60a1e8bac262..f84f3b54892e6275f8a4a6cb110e3aadde2cca6b 100644 (file)
@@ -1002,14 +1002,13 @@ void MapgenV6::placeTreesAndJungleGrass()
                                continue;
 
                        v3s16 p(x, y, z);
-                       // Trees grow only on mud and grass and snowblock
+                       // Trees grow only on mud and grass
                        {
                                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_snowblock)
+                                               c != c_dirt_with_snow)
                                        continue;
                        }
                        p.Y++;
@@ -1064,15 +1063,15 @@ void MapgenV6::growGrass() // Add surface nodes
                content_t c = vm->m_data[i].getContent();
                if (surface_y >= water_level - 20) {
                        if (bt == BT_TAIGA && c == c_dirt) {
-                               vm->m_data[i] = n_snowblock;
-                               vm->m_area.add_y(em, i, -1);
                                vm->m_data[i] = n_dirt_with_snow;
                        } else if (bt == BT_TUNDRA) {
                                if (c == c_dirt) {
+                                       vm->m_data[i] = n_snowblock;
+                                       vm->m_area.add_y(em, i, -1);
                                        vm->m_data[i] = n_dirt_with_snow;
                                } else if (c == c_stone && surface_y < node_max.Y) {
                                        vm->m_area.add_y(em, i, 1);
-                                       vm->m_data[i] = n_snow;
+                                       vm->m_data[i] = n_snowblock;
                                }
                        } else if (c == c_dirt) {
                                vm->m_data[i] = n_dirt_with_grass;