diff options
Diffstat (limited to 'unified_inventory')
-rw-r--r-- | unified_inventory/bags.lua | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/unified_inventory/bags.lua b/unified_inventory/bags.lua index 3923dab..6d0842f 100644 --- a/unified_inventory/bags.lua +++ b/unified_inventory/bags.lua @@ -56,6 +56,28 @@ for i = 1, 4 do formspec = (formspec.."background[6.06,0;0.92,0.92;ui_bags_trash.png]" .."list[detached:trash;main;6,0.1;1,1;]") end + local inv = player:get_inventory() + for i = 1, 4 do + local def = inv:get_stack("bag"..i, 1):get_definition() + local button + if def.groups.bagslots then + local list_name = "bag"..i.."contents" + local size = inv:get_size(list_name) + local used = 0 + for si = 1, size do + local stk = inv:get_stack(list_name, si) + if not stk:is_empty() then + used = used + 1 + end + end + local img = def.inventory_image + local label = F("Bag @1", i).."\n"..used.."/"..size + button = "image_button["..(i+1)..",0;1,1;"..img..";bag"..i..";"..label.."]" + else + button = "" + end + formspec = formspec..button + end return {formspec=formspec} end, }) |