From 399e2700a21d2bcd9029805377c4c7eb6c79ecca Mon Sep 17 00:00:00 2001 From: oilboi <47129783+oilboi@users.noreply.github.com> Date: Sun, 21 Jun 2020 16:14:39 -0400 Subject: [PATCH] Fix furnace inv swap xp glitch --- mods/utility/furnace.lua | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/mods/utility/furnace.lua b/mods/utility/furnace.lua index ecdc95d..0086b88 100644 --- a/mods/utility/furnace.lua +++ b/mods/utility/furnace.lua @@ -91,17 +91,6 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player return stack:get_count() end -local function on_metadata_inventory_take(pos, listname, index, stack, player) - if listname == "dst" then - if stack and stack:get_count() then - local experience = math.ceil(stack:get_count()/1.5) - local dir = vector.divide(minetest.facedir_to_dir(minetest.get_node(pos).param2),-1.95) - local newpos = vector.add(pos,dir) - minetest.throw_experience(newpos, experience) - end - end -end - local function swap_node(pos, name) local node = minetest.get_node(pos) if node.name == name then @@ -162,6 +151,9 @@ local function furnace_node_timer(pos, elapsed) inv:set_stack("src", 1, aftercooked.items[1]) src_time = src_time - cooked.time update = true + local dir = vector.divide(minetest.facedir_to_dir(minetest.get_node(pos).param2),-1.95) + local newpos = vector.add(pos,dir) + minetest.throw_experience(newpos, 1) else dst_full = true end -- 2.44.0