diff options
author | ShadowNinja <noreply@gmail.com> | 2013-09-24 17:09:20 -0400 |
---|---|---|
committer | ShadowNinja <noreply@gmail.com> | 2013-09-24 17:09:20 -0400 |
commit | bd3cc74d0576250af06a367369b7ea709d5581f4 (patch) | |
tree | a2265fdba1212373c4beb047cd6d54396e51c385 | |
parent | 3107618c9e710b753b5ce81052b3765d92c01312 (diff) |
Don't consume items or drain power when there isn't room for the results
-rw-r--r-- | technic/machines/register/alloy_furnace.lua | 4 | ||||
-rw-r--r-- | technic/machines/register/common.lua | 2 | ||||
-rw-r--r-- | technic/machines/register/electric_furnace.lua | 9 |
3 files changed, 5 insertions, 10 deletions
diff --git a/technic/machines/register/alloy_furnace.lua b/technic/machines/register/alloy_furnace.lua index b771134..bbae151 100644 --- a/technic/machines/register/alloy_furnace.lua +++ b/technic/machines/register/alloy_furnace.lua @@ -240,7 +240,8 @@ function technic.register_alloy_furnace(data) 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) @@ -251,7 +252,6 @@ function technic.register_alloy_furnace(data) -- 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") diff --git a/technic/machines/register/common.lua b/technic/machines/register/common.lua index 475e35b..664f43b 100644 --- a/technic/machines/register/common.lua +++ b/technic/machines/register/common.lua @@ -70,7 +70,7 @@ function technic.smelt_item(meta, result, speed) 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) diff --git a/technic/machines/register/electric_furnace.lua b/technic/machines/register/electric_furnace.lua index 2a7642f..7d57a59 100644 --- a/technic/machines/register/electric_furnace.lua +++ b/technic/machines/register/electric_furnace.lua @@ -152,12 +152,6 @@ function technic.register_electric_furnace(data) 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) @@ -174,7 +168,8 @@ function technic.register_electric_furnace(data) 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") |