diff options
Diffstat (limited to 'anvil/init.lua')
-rw-r--r-- | anvil/init.lua | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/anvil/init.lua b/anvil/init.lua index f4098c8..910c187 100644 --- a/anvil/init.lua +++ b/anvil/init.lua @@ -69,7 +69,7 @@ minetest.register_entity("anvil:item",{ }) local remove_item = function(pos, node) - local objs = minetest.env:get_objects_inside_radius({x = pos.x, y = pos.y + item_displacement, z = pos.z}, .5) + local objs = minetest.get_objects_inside_radius({x = pos.x, y = pos.y + item_displacement, z = pos.z}, .5) if objs then for _, obj in ipairs(objs) do if obj and obj:get_luaentity() and obj:get_luaentity().name == "anvil:item" then @@ -80,13 +80,13 @@ local remove_item = function(pos, node) end local update_item = function(pos, node) - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() if not inv:is_empty("input") then pos.y = pos.y + item_displacement tmp.nodename = node.name tmp.texture = inv:get_stack("input", 1):get_name() - local e = minetest.env:add_entity(pos,"anvil:item") + local e = minetest.add_entity(pos,"anvil:item") local yaw = math.pi*2 - node.param2 * math.pi/2 e:setyaw(yaw) end @@ -180,12 +180,13 @@ minetest.register_node("anvil:anvil", { on_rightclick = function(pos, node, clicker, itemstack) if itemstack:get_count() == 0 then - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() if not inv:is_empty("input") then local return_stack = inv:get_stack("input", 1) inv:set_stack("input", 1, nil) - clicker:get_inventory():add_item("main", return_stack) + local wield_index = clicker:get_wield_index() + clicker:get_inventory():set_stack("main", wield_index, return_stack) remove_item(pos, node) return return_stack end @@ -193,7 +194,7 @@ minetest.register_node("anvil:anvil", { local this_def = minetest.registered_nodes[node.name] if this_def.allow_metadata_inventory_put(pos, "input", 1, itemstack:peek_item(), clicker) > 0 then local s = itemstack:take_item() - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() inv:add_item("input", s) update_item(pos,node) @@ -214,7 +215,8 @@ minetest.register_node("anvil:anvil", { if not inv:is_empty("input") then local return_stack = inv:get_stack("input", 1) inv:set_stack("input", 1, nil) - puncher:get_inventory():add_item("main", return_stack) + local wield_index = puncher:get_wield_index() + puncher:get_inventory():set_stack("main", wield_index, return_stack) remove_item(pos, node) end end |