Merge pull request #152 from goblin/coal_alloy_return_bucket

alloy furnaces and generators should not eat fuel buckets
This commit is contained in:
hdastwb 2014-07-18 20:19:15 -04:00
commit dd468c3aaa
3 changed files with 11 additions and 12 deletions

View File

@ -142,10 +142,11 @@ minetest.register_abm({
-- Next take a hard look at the fuel situation -- Next take a hard look at the fuel situation
local fuel = nil local fuel = nil
local afterfuel
local fuellist = inv:get_list("fuel") local fuellist = inv:get_list("fuel")
if fuellist then if fuellist then
fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
end end
if fuel.time <= 0 then if fuel.time <= 0 then
@ -158,9 +159,7 @@ minetest.register_abm({
meta:set_string("fuel_totaltime", fuel.time) meta:set_string("fuel_totaltime", fuel.time)
meta:set_string("fuel_time", 0) meta:set_string("fuel_time", 0)
local stack = inv:get_stack("fuel", 1) inv:set_stack("fuel", 1, afterfuel.items[1])
stack:take_item()
inv:set_stack("fuel", 1, stack)
end, end,
}) })

View File

@ -71,15 +71,15 @@ function technic.smelt_item(meta, result, speed)
if meta:get_int("cook_time") < result.time / speed then if meta:get_int("cook_time") < result.time / speed then
return return
end end
local result = minetest.get_craft_result({method = "cooking", width = 1, items = inv:get_list("src")}) local result
local afterfuel
result, afterfuel = minetest.get_craft_result({method = "cooking", width = 1, items = inv:get_list("src")})
if result and result.item then if result and result.item then
meta:set_int("cook_time", 0) meta:set_int("cook_time", 0)
-- check if there's room for output in "dst" list -- check if there's room for output in "dst" list
if inv:room_for_item("dst", result.item) then if inv:room_for_item("dst", result.item) then
srcstack = inv:get_stack("src", 1) inv:set_stack("src", 1, afterfuel.items[1])
srcstack:take_item()
inv:set_stack("src", 1, srcstack)
inv:add_item("dst", result.item) inv:add_item("dst", result.item)
end end
end end

View File

@ -51,7 +51,9 @@ function technic.register_generator(data)
local inv = meta:get_inventory() local inv = meta:get_inventory()
if not inv:is_empty("src") then if not inv:is_empty("src") then
local fuellist = inv:get_list("src") local fuellist = inv:get_list("src")
local fuel = minetest.get_craft_result( local fuel
local afterfuel
fuel, afterfuel = minetest.get_craft_result(
{method = "fuel", width = 1, {method = "fuel", width = 1,
items = fuellist}) items = fuellist})
if not fuel or fuel.time == 0 then if not fuel or fuel.time == 0 then
@ -61,9 +63,7 @@ function technic.register_generator(data)
end end
meta:set_int("burn_time", fuel.time) meta:set_int("burn_time", fuel.time)
meta:set_int("burn_totaltime", fuel.time) meta:set_int("burn_totaltime", fuel.time)
local stack = inv:get_stack("src", 1) inv:set_stack("src", 1, afterfuel.items[1])
stack:take_item()
inv:set_stack("src", 1, stack)
technic.swap_node(pos, "technic:"..ltier.."_generator_active") technic.swap_node(pos, "technic:"..ltier.."_generator_active")
meta:set_int(tier.."_EU_supply", data.supply) meta:set_int(tier.."_EU_supply", data.supply)
else else