123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- local random = math.random
- -- I don't remember if snow function is needed.
- -- local function is_snow_nearby(pos)
- -- return minetest.find_node_near(pos, 1,
- -- {"default:snow", "default:snowblock", "default:dirt_with_snow"})
- -- end
- -- Sapling ABM
- function maple.grow_sapling(pos)
- if not default.can_grow(pos) then
- -- Can't grow yet, try later.
- minetest.get_node_timer(pos):start(random(240, 600))
- return
- end
- local node = minetest.get_node(pos)
- if node.name == "maple:maple_sapling" then
- minetest.log("action", "An maple sapling grows into a tree at "..
- minetest.pos_to_string(pos))
- minetest.remove_node(pos)
- maple.grow_new_maple_tree(pos)
- end
- end
- minetest.register_lbm({
- name = "maple:convert_saplings_to_node_timer",
- nodenames = {"maple:maple_sapling"},
- action = function(pos)
- minetest.get_node_timer(pos):start(random(1200, 2400))
- end
- })
- --
- -- Tree generation
- --
- -- New maple tree
- function maple.grow_new_maple_tree(pos)
- local path = maple.path .. "/schematics/maple_tree.mts"
- minetest.place_schematic({x = pos.x - 3, y = pos.y, z = pos.z - 3},
- path, "0", nil, false)
- end
|