minetest-go_play_modpack/growing_trees/crafts.lua

62 lines
1.8 KiB
Lua

-------------------------------------------------------------------------------
-- Growing Trees Mod by Sapier
--
-- License GPLv3
--
--! @file crafts.lua
--! @brief file containing craft recieps and item definitions
--! mod
--! @copyright Sapier
--! @author Sapier
--! @date 2012-09-04
--
-- Contact sapier a t gmx net
-------------------------------------------------------------------------------
function growing_trees_place_sprout(pos)
local pos_above = {x=pos.x,y=pos.y+1,z=pos.z}
local node = minetest.env:get_node(pos)
local node_above = minetest.env:get_node(pos_above)
if node.name == "air" and
node_above.name == "air" then
local pos_bottom = { x=pos.x,y=pos.y-1,z=pos.z }
local bottom_node = minetest.env:get_node(pos_bottom)
if bottom_node.name == "default:dirt" or
bottom_node.name == "default:dirt_with_grass" then
minetest.env:add_node(pos,{type=node,name="growing_trees:trunk"})
minetest.env:add_node(pos_above,{type=node,name="growing_trees:trunk_sprout"})
growing_trees_grow_sprout_leaves(pos_above)
return true
end
end
return false
end
minetest.register_craftitem("growing_trees:sapling", {
description = "Sapling (growing tree mod)",
image = "default_sapling.png",
on_place = function(item,place,pointed_thing)
if pointed_thing.type == "node" then
local pos = pointed_thing.above
if growing_trees_place_sprout(pos) then
item:take_item(1)
end
end
return item
end
})
minetest.register_craft({
output = "growing_trees:sapling",
recipe = {
{"default:sapling"},
{"default:sapling"},
}
})