From 482cb191c3287ca9836a702b922b4bbd8795ddeb Mon Sep 17 00:00:00 2001 From: Cristiano Magro <cristiano.magro@vola.it> Date: Sun, 11 Oct 2020 16:46:27 +0200 Subject: [PATCH] Tool raccolta automatica gomma --- technic/tools/init.lua | 1 + technic/tools/xno_tree_tap.lua | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 0 deletions(-) diff --git a/technic/tools/init.lua b/technic/tools/init.lua index 5e0aa02..c4a8c36 100644 --- a/technic/tools/init.lua +++ b/technic/tools/init.lua @@ -12,6 +12,7 @@ dofile(path.."/cans.lua") dofile(path.."/chainsaw.lua") dofile(path.."/tree_tap.lua") +dofile(path.."/xno_tree_tap.lua") dofile(path.."/sonic_screwdriver.lua") dofile(path.."/prospector.lua") dofile(path.."/vacuum.lua") diff --git a/technic/tools/xno_tree_tap.lua b/technic/tools/xno_tree_tap.lua new file mode 100644 index 0000000..7344645 --- /dev/null +++ b/technic/tools/xno_tree_tap.lua @@ -0,0 +1,59 @@ + +local S = technic.getter +local mesecons_materials = minetest.get_modpath("mesecons_materials") + +minetest.register_tool("technic:xnotreetap", { + description = S("Xno Tree Tap"), + inventory_image = "technic_tree_tap.png", + on_use = function(itemstack, user, pointed_thing) + if pointed_thing.type ~= "node" then + return + end + local pos = pointed_thing.under + if minetest.is_protected(pos, user:get_player_name()) then + minetest.record_protection_violation(pos, user:get_player_name()) + return + end + local node = minetest.get_node(pos) + local node_name = node.name + if node_name ~= "moretrees:rubber_tree_trunk" then + return + end + node.name = "moretrees:rubber_tree_trunk_empty" + minetest.swap_node(pos, node) + minetest.handle_node_drops(pointed_thing.above, {"technic:raw_latex"}, user) + if not technic.creative_mode then + local item_wear = tonumber(itemstack:get_wear()) + item_wear = item_wear + 819 + if item_wear > 65535 then + itemstack:clear() + return itemstack + end + itemstack:set_wear(item_wear) + end + return itemstack + end, +}) + +minetest.register_craft({ + output = "technic:xnotreetap", + recipe = { + {"pipeworks:tube_1", "group:wood", "default:stick"}, + {"", "default:stick", "default:stick"} + {"", "default:stick", "default:stick"} + }, +}) + +minetest.register_abm({ + label = "Tools: xno tree tap", + nodenames = {"moretrees:rubber_tree_trunk_empty"}, + interval = 60, + chance = 15, + action = function(pos, node) + if minetest.find_node_near(pos, (moretrees and moretrees.leafdecay_radius) or 5, {"moretrees:rubber_tree_leaves"}) then + node.name = "moretrees:rubber_tree_trunk" + minetest.swap_node(pos, node) + end + end +}) + -- Gitblit v1.8.0