From 1d0687556a52891aeadc0e8d9a58e44c53cb826b Mon Sep 17 00:00:00 2001 From: Zefram <zefram@fysh.org> Date: Fri, 15 Aug 2014 13:25:46 +0200 Subject: [PATCH] Fix music player's sound management --- technic/tools/tree_tap.lua | 66 ++++++++++++++++++--------------- 1 files changed, 36 insertions(+), 30 deletions(-) diff --git a/technic/tools/tree_tap.lua b/technic/tools/tree_tap.lua index 3b038a2..f4b12bf 100644 --- a/technic/tools/tree_tap.lua +++ b/technic/tools/tree_tap.lua @@ -1,47 +1,51 @@ + +local S = technic.getter + minetest.register_tool("technic:treetap", { - description = "Tree Tap", + 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 = { - {"pipeworks:tube", "group:wood", "default:stick"}, + {"pipeworks:tube_1", "group:wood", "default:stick"}, {"", "default:stick", "default:stick"} }, }) minetest.register_craftitem("technic:raw_latex", { - description = "Raw Latex", + description = S("Raw Latex"), inventory_image = "technic_raw_latex.png", }) @@ -52,7 +56,7 @@ }) minetest.register_craftitem("technic:rubber", { - description = "Rubber Fiber", + description = S("Rubber Fiber"), inventory_image = "technic_rubber.png", }) @@ -61,8 +65,10 @@ interval = 60, chance = 15, action = function(pos, node) - node.name = "moretrees:rubber_tree_trunk" - minetest.set_node(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