summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node_breaker.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/node_breaker.lua b/node_breaker.lua
index d43a541..b9267f4 100644
--- a/node_breaker.lua
+++ b/node_breaker.lua
@@ -147,9 +147,13 @@ local function break_node (pos, facedir)
setpos = delay(),
set_hp = delay(),
set_properties = delay(),
- set_wielded_item = function(stack)
- inv:add_item("main", stack)
- inv:set_stack(pick_inv, 1, ItemStack(""))
+ set_wielded_item = function(self, stack)
+ if stack:get_name() == pick:get_name() then
+ inv:set_stack(pick_inv, 1, stack)
+ else
+ inv:add_item("main", stack)
+ inv:set_stack(pick_inv, 1, ItemStack(""))
+ end
end,
set_animation = delay(),
set_attach = delay(),
@@ -160,7 +164,6 @@ local function break_node (pos, facedir)
if pick_inv == "pick" and minetest.registered_items[pick:get_name()] and minetest.registered_items[pick:get_name()].on_use then
local pos_under, pos_above = {x = pos.x - vel.x, y = pos.y - vel.y, z = pos.z - vel.z}, {x = pos.x - 2*vel.x, y = pos.y - 2*vel.y, z = pos.z - 2*vel.z}
local pointed_thing = {type="node", under=pos_under, above=pos_above}
- --print(dump(minetest.get_node(pos_under)))
inv:set_stack(pick_inv, 1, minetest.registered_items[pick:get_name()].on_use(pick, digger, pointed_thing) or pick)
else
minetest.node_dig(front, node, digger)