if pointed_thing.type ~= "node" then
return
end
- local pos = minetest.get_pointed_thing_position(pointed_thing, above)
+ 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 minetest.registered_nodes[node_name].paramtype2 ~= "facedir" and
minetest.registered_nodes[node_name].paramtype2 ~= "wallmounted" then
- return itemstack
+ return
end
if node.param2 == nil then
return
minetest.register_tool("technic:treetap", {
description = S("Tree Tap"),
inventory_image = "technic_tree_tap.png",
- on_use = function(itemstack,user,pointed_thing)
+ 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_latex")) 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 == "moretrees:rubber_tree_trunk" then
- node.name = "moretrees:rubber_tree_trunk_empty"
- user:get_inventory():add_item("main", ItemStack("technic:raw_latex"))
- minetest.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
+ local inv = user:get_inventory()
+ if not inv:room_for_item("main", ItemStack("technic:raw_latex")) 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"
+ inv:add_item("main", ItemStack("technic:raw_latex"))
+ minetest.swap_node(pos, node)
+ 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)
+ return itemstack
end,
})
-
+
minetest.register_craft({
output = "technic:treetap",
recipe = {