Skip to content

Commit e203302

Browse files
committed
Default: Add biome API tree schematics and enable growing by sapling ABMs
1 parent da9789e commit e203302

File tree

6 files changed

+64
-6
lines changed

6 files changed

+64
-6
lines changed
178 Bytes
Binary file not shown.
180 Bytes
Binary file not shown.
221 Bytes
Binary file not shown.
94 Bytes
Binary file not shown.

mods/default/schematics/pine_tree.mts

186 Bytes
Binary file not shown.

mods/default/trees.lua

+64-6
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,12 @@ minetest.register_abm({
2929
end
3030

3131
minetest.log("action", "A sapling grows into a tree at "..
32-
minetest.pos_to_string(pos))
33-
default.grow_tree(pos, random(1, 4) == 1)
32+
minetest.pos_to_string(pos))
33+
if minetest.get_mapgen_params().mgname == "v6" then
34+
default.grow_tree(pos, random(1, 4) == 1)
35+
else
36+
default.grow_new_apple_tree(pos)
37+
end
3438
end
3539
})
3640

@@ -44,8 +48,12 @@ minetest.register_abm({
4448
end
4549

4650
minetest.log("action", "A jungle sapling grows into a tree at "..
47-
minetest.pos_to_string(pos))
48-
default.grow_jungle_tree(pos)
51+
minetest.pos_to_string(pos))
52+
if minetest.get_mapgen_params().mgname == "v6" then
53+
default.grow_jungle_tree(pos)
54+
else
55+
default.grow_new_jungle_tree(pos)
56+
end
4957
end
5058
})
5159

@@ -59,8 +67,27 @@ minetest.register_abm({
5967
end
6068

6169
minetest.log("action", "A pine sapling grows into a tree at "..
62-
minetest.pos_to_string(pos))
63-
default.grow_pine_tree(pos)
70+
minetest.pos_to_string(pos))
71+
if minetest.get_mapgen_params().mgname == "v6" then
72+
default.grow_pine_tree(pos)
73+
else
74+
default.grow_new_pine_tree(pos)
75+
end
76+
end
77+
})
78+
79+
minetest.register_abm({
80+
nodenames = {"default:acacia_sapling"},
81+
interval = 13,
82+
chance = 50,
83+
action = function(pos, node)
84+
if not can_grow(pos) then
85+
return
86+
end
87+
88+
minetest.log("action", "An acacia sapling grows into a tree at "..
89+
minetest.pos_to_string(pos))
90+
default.grow_new_acacia_tree(pos)
6491
end
6592
})
6693

@@ -346,3 +373,34 @@ function default.grow_pine_tree(pos)
346373
vm:update_map()
347374
end
348375

376+
-- New tree
377+
378+
function default.grow_new_apple_tree(pos)
379+
local path = minetest.get_modpath("default") .. "/schematics/apple_tree.mts"
380+
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
381+
path, 0, nil, false)
382+
end
383+
384+
-- New jungle tree
385+
386+
function default.grow_new_jungle_tree(pos)
387+
local path = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts"
388+
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
389+
path, 0, nil, false)
390+
end
391+
392+
-- New pine tree
393+
394+
function default.grow_new_pine_tree(pos)
395+
local path = minetest.get_modpath("default") .. "/schematics/pine_tree.mts"
396+
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
397+
path, 0, nil, false)
398+
end
399+
400+
-- New acacia tree
401+
402+
function default.grow_new_acacia_tree(pos)
403+
local path = minetest.get_modpath("default") .. "/schematics/acacia_tree.mts"
404+
minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4},
405+
path, random, nil, false)
406+
end

0 commit comments

Comments
 (0)