From 9290e6f00da82392b26b72bac1391b364bf0827a Mon Sep 17 00:00:00 2001 From: goblin Date: Fri, 18 Jul 2014 17:08:05 +0100 Subject: [PATCH 1/2] coal alloy furnace to return the buckets --- technic/machines/LV/coal_alloy_furnace.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/technic/machines/LV/coal_alloy_furnace.lua b/technic/machines/LV/coal_alloy_furnace.lua index d1b7fae..a149921 100644 --- a/technic/machines/LV/coal_alloy_furnace.lua +++ b/technic/machines/LV/coal_alloy_furnace.lua @@ -142,10 +142,11 @@ minetest.register_abm({ -- Next take a hard look at the fuel situation local fuel = nil + local afterfuel local fuellist = inv:get_list("fuel") 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 if fuel.time <= 0 then @@ -158,9 +159,7 @@ minetest.register_abm({ meta:set_string("fuel_totaltime", fuel.time) meta:set_string("fuel_time", 0) - local stack = inv:get_stack("fuel", 1) - stack:take_item() - inv:set_stack("fuel", 1, stack) + inv:set_stack("fuel", 1, afterfuel.items[1]) end, }) From 6ec12b51cbf80f85be18db8e59dcb444b50c52ca Mon Sep 17 00:00:00 2001 From: goblin Date: Sat, 19 Jul 2014 00:18:44 +0100 Subject: [PATCH 2/2] also return buckets with generators ... and in the `smelt_item` function, even though it seems unused --- technic/machines/register/common.lua | 8 ++++---- technic/machines/register/generator.lua | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/technic/machines/register/common.lua b/technic/machines/register/common.lua index 3933b0c..a3702ab 100644 --- a/technic/machines/register/common.lua +++ b/technic/machines/register/common.lua @@ -71,15 +71,15 @@ function technic.smelt_item(meta, result, speed) if meta:get_int("cook_time") < result.time / speed then return 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 meta:set_int("cook_time", 0) -- check if there's room for output in "dst" list if inv:room_for_item("dst", result.item) then - srcstack = inv:get_stack("src", 1) - srcstack:take_item() - inv:set_stack("src", 1, srcstack) + inv:set_stack("src", 1, afterfuel.items[1]) inv:add_item("dst", result.item) end end diff --git a/technic/machines/register/generator.lua b/technic/machines/register/generator.lua index ec1ea79..64f75be 100644 --- a/technic/machines/register/generator.lua +++ b/technic/machines/register/generator.lua @@ -51,7 +51,9 @@ function technic.register_generator(data) local inv = meta:get_inventory() if not inv:is_empty("src") then 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, items = fuellist}) if not fuel or fuel.time == 0 then @@ -61,9 +63,7 @@ function technic.register_generator(data) end meta:set_int("burn_time", fuel.time) meta:set_int("burn_totaltime", fuel.time) - local stack = inv:get_stack("src", 1) - stack:take_item() - inv:set_stack("src", 1, stack) + inv:set_stack("src", 1, afterfuel.items[1]) technic.swap_node(pos, "technic:"..ltier.."_generator_active") meta:set_int(tier.."_EU_supply", data.supply) else