From 6360b7acfc22e74a711af22e4284da13314aca61 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 30 Aug 2019 01:31:39 +0200 Subject: [PATCH] Crafting: Hide crafting list if nothing applies --- mods/crafting/api.lua | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mods/crafting/api.lua b/mods/crafting/api.lua index 329903c..1b0a2cc 100644 --- a/mods/crafting/api.lua +++ b/mods/crafting/api.lua @@ -1,3 +1,4 @@ +local S = minetest.get_translator("crafting") -- -- API @@ -293,6 +294,7 @@ function crafting.get_formspec(name) local selected_craftdef = nil + local craft_count = 0 for i, itemn in ipairs(craftitems) do local itemstack = ItemStack(itemn) local itemdef = minetest.registered_items[itemstack:get_name()] @@ -313,13 +315,16 @@ function crafting.get_formspec(name) end craft_list = craft_list .. "," .. minetest.formspec_escape(itemdef.description) + craft_count = craft_count + 1 end end local form = default.ui.get_page("crafting:crafting") - form = form .. "table[2.25,0.25;4.75,3.75;craft_list;" .. craft_list - .. ";" .. row .. "]" + if craft_count > 0 then + form = form .. "table[2.25,0.25;4.75,3.75;craft_list;" .. craft_list + .. ";" .. row .. "]" + end if selected_craftdef ~= nil then if selected_craftdef.items[1] ~= nil then @@ -381,7 +386,7 @@ local function on_player_receive_fields(player, form_name, fields) local name = player:get_player_name() - local do_craft_1, do_craft_10 + local do_craft_1, do_craft_10 = false, false if fields.craft_list then -- Double-click on list entry crafts single time local selection = minetest.explode_table_event(fields.craft_list)