From d0b3cf2887238275894b067f929f6c00a5d221a1 Mon Sep 17 00:00:00 2001 From: JPG Date: Sun, 18 Dec 2016 16:25:23 +0100 Subject: [PATCH] Attempt to fix #11 --- init.lua | 51 +++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/init.lua b/init.lua index d4f8607..4777e7f 100644 --- a/init.lua +++ b/init.lua @@ -335,35 +335,30 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) data.pagenum = data.pagemax end craftguide:get_formspec(player_name) - else - for item in pairs(fields) do - if not item:find(":") then break end - if item:sub(-4) == "_inv" then - item = item:sub(1,-5) - end - - local recipes = minetest.get_all_craft_recipes(item) - local is_fuel = minetest.get_craft_result({ - method="fuel", width=1, items={item}}).time > 0 - if not recipes and not is_fuel then return end - - if progressive_mode then - local who = - minetest.get_player_by_name(player_name) - local inv = who:get_inventory() - local _, has_item = - craftguide:recipe_in_inv(inv, item) - - if not has_item then return end - recipes = craftguide:recipe_in_inv( - inv, item, recipes) - end - - data.item = item - data.recipe_num = 1 - data.recipes_item = recipes - craftguide:get_formspec(player_name, is_fuel) + elseif next(fields):find(":") then + local item = next(fields) + if item:sub(-4) == "_inv" then + item = item:sub(1,-5) end + + local recipes = minetest.get_all_craft_recipes(item) + local is_fuel = minetest.get_craft_result({ + method="fuel", width=1, items={item}}).time > 0 + if not recipes and not is_fuel then return end + + if progressive_mode then + local who = minetest.get_player_by_name(player_name) + local inv = who:get_inventory() + local _, has_item = craftguide:recipe_in_inv(inv, item) + + if not has_item then return end + recipes = craftguide:recipe_in_inv(inv, item, recipes) + end + + data.item = item + data.recipe_num = 1 + data.recipes_item = recipes + craftguide:get_formspec(player_name, is_fuel) end end)