forked from MineClone5/MineClone5
Furnace: Stop cooking if output is full
This commit is contained in:
parent
a99be92638
commit
a97daa7c2c
|
@ -184,10 +184,12 @@ local function furnace_node_timer(pos, elapsed)
|
||||||
fuel_time = fuel_time + elapsed
|
fuel_time = fuel_time + elapsed
|
||||||
-- If there is a cookable item then check if it is ready yet
|
-- If there is a cookable item then check if it is ready yet
|
||||||
if cookable then
|
if cookable then
|
||||||
src_time = src_time + elapsed
|
-- Successful cooking requires space in dst slot and time
|
||||||
if src_time >= cooked.time then
|
|
||||||
-- Place result in dst list if possible
|
|
||||||
if inv:room_for_item("dst", cooked.item) then
|
if inv:room_for_item("dst", cooked.item) then
|
||||||
|
src_time = src_time + elapsed
|
||||||
|
|
||||||
|
-- Place result in dst list if done
|
||||||
|
if src_time >= cooked.time then
|
||||||
inv:add_item("dst", cooked.item)
|
inv:add_item("dst", cooked.item)
|
||||||
inv:set_stack("src", 1, aftercooked.items[1])
|
inv:set_stack("src", 1, aftercooked.items[1])
|
||||||
|
|
||||||
|
@ -197,11 +199,12 @@ local function furnace_node_timer(pos, elapsed)
|
||||||
inv:set_stack("fuel", 1, "mcl_buckets:bucket_water")
|
inv:set_stack("fuel", 1, "mcl_buckets:bucket_water")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
-- Note: If there was not enough space in the output, the item is not
|
|
||||||
-- cooked and the cooking progress is lost.
|
|
||||||
|
|
||||||
-- Always reset cooking time
|
src_time = 0
|
||||||
|
update = true
|
||||||
|
end
|
||||||
|
elseif src_time ~= 0 then
|
||||||
|
-- If output slot is occupied, stop cooking
|
||||||
src_time = 0
|
src_time = 0
|
||||||
update = true
|
update = true
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue