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