diff --git a/mods/default/schematics/acacia_tree.mts b/mods/default/schematics/acacia_tree.mts new file mode 100644 index 00000000..c9bd2d86 Binary files /dev/null and b/mods/default/schematics/acacia_tree.mts differ diff --git a/mods/default/schematics/apple_tree.mts b/mods/default/schematics/apple_tree.mts new file mode 100644 index 00000000..07c3e7aa Binary files /dev/null and b/mods/default/schematics/apple_tree.mts differ diff --git a/mods/default/schematics/jungle_tree.mts b/mods/default/schematics/jungle_tree.mts new file mode 100644 index 00000000..39cbcbf2 Binary files /dev/null and b/mods/default/schematics/jungle_tree.mts differ diff --git a/mods/default/schematics/large_cactus.mts b/mods/default/schematics/large_cactus.mts new file mode 100644 index 00000000..b71077b3 Binary files /dev/null and b/mods/default/schematics/large_cactus.mts differ diff --git a/mods/default/schematics/pine_tree.mts b/mods/default/schematics/pine_tree.mts new file mode 100644 index 00000000..02668750 Binary files /dev/null and b/mods/default/schematics/pine_tree.mts differ diff --git a/mods/default/trees.lua b/mods/default/trees.lua index 8e503556..b5b20ec5 100644 --- a/mods/default/trees.lua +++ b/mods/default/trees.lua @@ -29,8 +29,12 @@ minetest.register_abm({ end minetest.log("action", "A sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_tree(pos, random(1, 4) == 1) + minetest.pos_to_string(pos)) + if minetest.get_mapgen_params().mgname == "v6" then + default.grow_tree(pos, random(1, 4) == 1) + else + default.grow_new_apple_tree(pos) + end end }) @@ -44,8 +48,12 @@ minetest.register_abm({ end minetest.log("action", "A jungle sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_jungle_tree(pos) + minetest.pos_to_string(pos)) + if minetest.get_mapgen_params().mgname == "v6" then + default.grow_jungle_tree(pos) + else + default.grow_new_jungle_tree(pos) + end end }) @@ -59,8 +67,27 @@ minetest.register_abm({ end minetest.log("action", "A pine sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_pine_tree(pos) + minetest.pos_to_string(pos)) + if minetest.get_mapgen_params().mgname == "v6" then + default.grow_pine_tree(pos) + else + default.grow_new_pine_tree(pos) + end + end +}) + +minetest.register_abm({ + nodenames = {"default:acacia_sapling"}, + interval = 13, + chance = 50, + action = function(pos, node) + if not can_grow(pos) then + return + end + + minetest.log("action", "An acacia sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + default.grow_new_acacia_tree(pos) end }) @@ -346,3 +373,34 @@ function default.grow_pine_tree(pos) vm:update_map() end +-- New tree + +function default.grow_new_apple_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/apple_tree.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, 0, nil, false) +end + +-- New jungle tree + +function default.grow_new_jungle_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, 0, nil, false) +end + +-- New pine tree + +function default.grow_new_pine_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/pine_tree.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, 0, nil, false) +end + +-- New acacia tree + +function default.grow_new_acacia_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/acacia_tree.mts" + minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4}, + path, random, nil, false) +end