From: paramat Date: Sun, 4 Mar 2018 19:47:06 +0000 (+0000) Subject: Pine trees: Add small pine tree and mix into coniferous forests X-Git-Tag: 5.0.0~99 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=160dc21bc14a9869fb1dcae30a2eed3f3112c004;p=oweals%2Fminetest_game.git Pine trees: Add small pine tree and mix into coniferous forests Use noises to create a varying mix in coniferous forest biomes: Areas of large pines only, areas of small pines only, mixed areas. While also having areas of high and low tree densities. Saplings grow into large or small pines with equal chance. --- diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 5810bb6d..f236f7b2 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -1758,7 +1758,7 @@ function default.register_decorations() minetest.register_decoration({ deco_type = "schematic", place_on = {"default:dirt_with_rainforest_litter", "default:dirt"}, - sidelen = 16, + sidelen = 80, fill_ratio = 0.1, biomes = {"rainforest", "rainforest_swamp"}, y_max = 31000, @@ -1771,7 +1771,7 @@ function default.register_decorations() minetest.register_decoration({ deco_type = "schematic", place_on = {"default:dirt_with_rainforest_litter", "default:dirt"}, - sidelen = 16, + sidelen = 80, fill_ratio = 0.005, biomes = {"rainforest", "rainforest_swamp"}, y_max = 31000, @@ -1781,15 +1781,15 @@ function default.register_decorations() rotation = "random", }) - -- Taiga and temperate coniferous forest pine tree and log + -- Taiga and temperate coniferous forest pine tree, small pine tree and log minetest.register_decoration({ deco_type = "schematic", place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, sidelen = 16, noise_params = { - offset = 0.036, - scale = 0.022, + offset = 0.010, + scale = 0.048, spread = {x = 250, y = 250, z = 250}, seed = 2, octaves = 3, @@ -1805,10 +1805,10 @@ function default.register_decorations() minetest.register_decoration({ deco_type = "schematic", place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, - sidelen = 80, + sidelen = 16, noise_params = { - offset = 0.0018, - scale = 0.0011, + offset = 0.010, + scale = -0.048, spread = {x = 250, y = 250, z = 250}, seed = 2, octaves = 3, @@ -1816,6 +1816,18 @@ function default.register_decorations() }, biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, y_max = 31000, + y_min = 2, + schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts", + flags = "place_center_x, place_center_z", + }) + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + sidelen = 80, + fill_ratio = 0.0018, + biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, + y_max = 31000, y_min = 1, schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts", flags = "place_center_x", @@ -2039,7 +2051,7 @@ function default.register_decorations() minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_rainforest_litter"}, - sidelen = 16, + sidelen = 80, fill_ratio = 0.1, biomes = {"rainforest"}, y_max = 31000, diff --git a/mods/default/schematics/small_pine_tree.mts b/mods/default/schematics/small_pine_tree.mts new file mode 100644 index 00000000..1b27a84f Binary files /dev/null and b/mods/default/schematics/small_pine_tree.mts differ diff --git a/mods/default/schematics/small_pine_tree_from_sapling.mts b/mods/default/schematics/small_pine_tree_from_sapling.mts new file mode 100644 index 00000000..dc438a9d Binary files /dev/null and b/mods/default/schematics/small_pine_tree_from_sapling.mts differ diff --git a/mods/default/schematics/snowy_small_pine_tree_from_sapling.mts b/mods/default/schematics/snowy_small_pine_tree_from_sapling.mts new file mode 100644 index 00000000..76fe345b Binary files /dev/null and b/mods/default/schematics/snowy_small_pine_tree_from_sapling.mts differ diff --git a/mods/default/trees.lua b/mods/default/trees.lua index c4403096..7f5556b2 100644 --- a/mods/default/trees.lua +++ b/mods/default/trees.lua @@ -411,8 +411,14 @@ end -- New pine tree function default.grow_new_pine_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/pine_tree_from_sapling.mts" + local path + if math.random() > 0.5 then + path = minetest.get_modpath("default") .. + "/schematics/pine_tree_from_sapling.mts" + else + path = minetest.get_modpath("default") .. + "/schematics/small_pine_tree_from_sapling.mts" + end minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, path, "0", nil, false) end @@ -421,8 +427,14 @@ end -- New snowy pine tree function default.grow_new_snowy_pine_tree(pos) - local path = minetest.get_modpath("default") .. - "/schematics/snowy_pine_tree_from_sapling.mts" + local path + if math.random() > 0.5 then + path = minetest.get_modpath("default") .. + "/schematics/snowy_pine_tree_from_sapling.mts" + else + path = minetest.get_modpath("default") .. + "/schematics/snowy_small_pine_tree_from_sapling.mts" + end minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, path, "random", nil, false) end