srcstack = src2stack
src2stack = temp
end
- if not result then
+ if not result or
+ not inv:room_for_item("dst", result) then
hacky_swap_node(pos, machine_node)
meta:set_string("infotext", machine_name.." Idle")
meta:set_int(data.tier.."_EU_demand", 0)
-- Unpowered - go idle
hacky_swap_node(pos, machine_node)
meta:set_string("infotext", machine_name.." Unpowered")
- next_state = 1
elseif eu_input >= machine_demand[EU_upgrade+1] then
-- Powered
hacky_swap_node(pos, machine_node.."_active")
if result and result.item then
meta:set_int("cook_time", 0)
-- check if there's room for output in "dst" list
- if inv:room_for_item("dst", result) then
+ if inv:room_for_item("dst", result.item) then
srcstack = inv:get_stack("src", 1)
srcstack:take_item()
inv:set_stack("src", 1, srcstack)
local machine_node = "technic:"..string.lower(data.tier).."_electric_furnace"
local machine_demand = data.demand
- -- Setup meta data if it does not exist. state is used as an indicator of this
- if not eu_input then
- meta:set_int(data.tier.."_EU_demand", machine_demand[1])
- meta:set_int(data.tier.."_EU_input", 0)
- end
-
-- Power off automatically if no longer connected to a switching station
technic.switching_station_timeout_count(pos, data.tier)
method = "cooking",
width = 1,
items = inv:get_list("src")})
- if not result or result.time == 0 then
+ if not result or result.time == 0 or
+ not inv:room_for_item("dst", result.item) then
meta:set_int(data.tier.."_EU_demand", 0)
hacky_swap_node(pos, machine_node)
meta:set_string("infotext", machine_name.." Idle")