2 minetest.register_node("main:sapling", {
3 description = "Sapling",
4 drawtype = "plantlike",
9 is_ground_content = false,
10 tiles = {"sapling.png"},
11 groups = {leaves = 1, plant = 1, axe = 1, hand = 0,instant=1, sapling=1},
12 sounds = main.grassSound(),
13 drop = "main:sapling",
14 node_placement_prediction = "",
17 fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
19 on_place = function(itemstack, placer, pointed_thing)
20 if not pointed_thing.type == "node" then
23 local pos = pointed_thing.above
24 if minetest.get_node_group(minetest.get_node(vector.new(pos.x,pos.y-1,pos.z)).name, "soil") > 0 and minetest.get_node(pointed_thing.above).name == "air" then
25 minetest.set_node(pointed_thing.above, {name="main:sapling"})
26 minetest.sound_play("leaves",{pos=pointed_thing.above})
27 itemstack:take_item(1)
28 --print(minetest.get_node(pointed_thing.above).param1)
35 local function sapling_grow(pos)
36 if minetest.get_node_group(minetest.get_node(vector.new(pos.x,pos.y-1,pos.z)).name, "soil") > 0 then
38 local good_to_grow = true
39 --check if room to grow (leaves or air)
41 local node_name = minetest.get_node(vector.new(pos.x,pos.y+i,pos.z)).name
42 if node_name ~= "air" and node_name ~= "main:leaves" then
46 if good_to_grow == true then
47 minetest.set_node(pos,{name="main:tree"})
48 minetest.place_schematic(pos, treeSchematic,"0",nil,false,"place_center_x, place_center_z")
51 minetest.set_node(vector.new(pos.x,pos.y+i,pos.z),{name="main:tree"})
57 --growing abm for sapling
58 minetest.register_abm({
60 nodenames = {"group:sapling"},
61 neighbors = {"group:soil"},
64 action = function(pos)