Improve Mass Storage Item Naming

This commit is contained in:
Zenon Seth 2023-11-10 12:50:31 +00:00
parent 93a078d0be
commit e98aaa412f
2 changed files with 14 additions and 5 deletions

View File

@ -212,11 +212,8 @@ local function on_mass_storage_preserve_metadata(pos, oldnode, oldmeta, drops)
dropMeta:set_string(META_SELECTED_RES, get_reserve_as_string(oldnode.name, meta))
-- update description
local name = minetest.registered_nodes[oldnode.name].logistica.baseName
if inv:is_empty("storage") then
name = name.."\n(Empty)"
else
name = name.."\n(Contains items)" -- TODO set a node name or use a stackname
end
name = name..logistica.get_mass_storage_imgname_or_first_item(meta)
-- TODO set a node name or use a stackname
drop:get_meta():set_string("description", name)
end

View File

@ -217,3 +217,15 @@ function logistica.update_mass_storage_front_image(origPos)
logistica.display_item_on_block_front(pos, item:get_name())
end
end
function logistica.get_mass_storage_imgname_or_first_item(meta)
local inv = meta:get_inventory()
if inv:is_empty("filter") then return "\n(Empty)" end
local index = meta:get_int(META_IMG_PIC)
local itemStack = inv:get_stack("filter", index)
if not itemStack:is_empty() then return "\n(Has: "..itemStack:get_description()..")" end
for _, v in ipairs(inv:get_list("filter")) do
if not v:is_empty() then return "\n(Has: "..v:get_description()..")" end
end
return "\n(Empty)"
end