diff --git a/api.lua b/api.lua index 7ab5d66..604d49e 100644 --- a/api.lua +++ b/api.lua @@ -187,8 +187,9 @@ minetest.after(0.01, function() -- Remove unknown items from all categories local total_removed = 0 for cat_name, cat_def in pairs(ui.registered_category_items) do - for itemname, exists in pairs(cat_def) do - if exists and not minetest.registered_items[itemname] then + for itemname, _ in pairs(cat_def) do + local idef = minetest.registered_items[itemname] + if not idef then total_removed = total_removed + 1 --[[ -- For analysis @@ -197,12 +198,21 @@ minetest.after(0.01, function() .. "'. Reason: item not registered") ]] cat_def[itemname] = nil + elseif not ui.is_itemdef_listable(idef) then + total_removed = total_removed + 1 + --[[ + -- For analysis + minetest.log("warning", "[unified_inventory] Removed item '" + .. itemname .. "' from category '" .. cat_name + .. "'. Reason: item is in 'not_in_creative_inventory' group") + ]] + cat_def[itemname] = nil end end end if total_removed > 0 then minetest.log("info", "[unified_inventory] Removed " .. total_removed .. - " unknown items from the categories.") + " items from the categories.") end for _, callback in ipairs(ui.initialized_callbacks) do