diff options
Diffstat (limited to 'tree_tap.lua')
-rw-r--r-- | tree_tap.lua | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tree_tap.lua b/tree_tap.lua new file mode 100644 index 0000000..6c5a012 --- /dev/null +++ b/tree_tap.lua @@ -0,0 +1,49 @@ + minetest.register_tool("technic:treetap", { + description = "Tree Tap", + inventory_image = "technic_tree_tap.png", + on_use = function(itemstack,user,pointed_thing) + if pointed_thing.type~="node" then return end + if user:get_inventory():room_for_item("main",ItemStack("technic:raw_rubber")) then + local pos=minetest.get_pointed_thing_position(pointed_thing,above) + local node=minetest.env:get_node(pos) + local node_name=node.name + if node_name == "farming:rubber_tree_full" then + user:get_inventory():add_item("main",ItemStack("technic:raw_rubber")) + minetest.env:set_node(pos,node) + local item=itemstack:to_table() + local item_wear=tonumber((item["wear"])) + item_wear=item_wear+819 + if item_wear>65535 then itemstack:clear() return itemstack end + item["wear"]=tostring(item_wear) + itemstack:replace(item) + return itemstack + else + return itemstack + end + else return end + end, + }) + + minetest.register_craft({ + output = "technic:treetap", + recipe = { + {"pipeworks:tube", "default:wood", "default:stick"}, + {"", "default:stick", "default:stick"} + }, + }) + + minetest.register_craftitem("technic:raw_rubber", { + description = "Raw Rubber", + inventory_image = "technic_raw_rubber.png", + }) + + minetest.register_craft({ + type = "cooking", + output = "technic:rubber", + recipe = "technic:raw_rubber", + }) + + minetest.register_craftitem("technic:rubber", { + description = "Rubber Fiber", + inventory_image = "technic_rubber.png", + }) |