Prevent blocking of fuel inventory by fuel replacement (#2895)

This commit is contained in:
sfence 2021-10-23 14:37:51 +02:00 committed by GitHub
parent 1309953da6
commit 02ec133392
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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