From 40871661f958ca173c17f342130a1fb90483d2e3 Mon Sep 17 00:00:00 2001 From: SFENCE Date: Thu, 26 Aug 2021 07:51:07 +0200 Subject: [PATCH] Prevent blocking of fuel inventory by fuel replacement. --- mods/default/furnace.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mods/default/furnace.lua b/mods/default/furnace.lua index d5703cd6..b164b8a0 100644 --- a/mods/default/furnace.lua +++ b/mods/default/furnace.lua @@ -177,8 +177,15 @@ local function furnace_node_timer(pos, elapsed) fuel_totaltime = 0 src_time = 0 else - -- Take fuel from fuel list - inv:set_stack("fuel", 1, afterfuel.items[1]) + -- prevent blocking of fuel inventory (for automatization mods) + local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}}) + if is_fuel.time == 0 then + table.insert(fuel.replacements, afterfuel.items[1]) + inv:set_stack("fuel", 1, "") + else + -- Take fuel from fuel list + inv:set_stack("fuel", 1, afterfuel.items[1]) + end -- Put replacements in dst list or drop them on the furnace. local replacements = fuel.replacements if replacements[1] then