summaryrefslogtreecommitdiff
path: root/unified_inventory/group.lua
diff options
context:
space:
mode:
Diffstat (limited to 'unified_inventory/group.lua')
-rw-r--r--unified_inventory/group.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/unified_inventory/group.lua b/unified_inventory/group.lua
index 9bf6895..23e2587 100644
--- a/unified_inventory/group.lua
+++ b/unified_inventory/group.lua
@@ -1,3 +1,5 @@
+local S = unified_inventory.gettext
+
function unified_inventory.canonical_item_spec_matcher(spec)
local specname = ItemStack(spec):get_name()
if specname:sub(1, 6) == "group:" then
@@ -21,9 +23,36 @@ function unified_inventory.item_matches_spec(item, spec)
return unified_inventory.canonical_item_spec_matcher(spec)(itemname)
end
+function unified_inventory.extract_groupnames(groupname)
+ local specname = ItemStack(groupname):get_name()
+ if specname:sub(1, 6) == "group:" then
+ local group_names = specname:sub(7):split(",")
+ if #group_names == 1 then
+ return group_names[1], 1
+ end
+ local s = ""
+ for g=1,#group_names do
+ if g > 1 then
+ -- List connector
+ s = s .. S(" and ")
+ end
+ s = s .. group_names[g]
+ end
+ return s, #group_names
+ else
+ return nil, 0
+ end
+end
+
unified_inventory.registered_group_items = {
mesecon_conductor_craftable = "mesecons:wire_00000000_off",
stone = "default:cobble",
+ wood = "default:wood",
+ book = "default:book",
+ sand = "default:sand",
+ leaves = "default:leaves",
+ tree = "default:tree",
+ vessel = "vessels:glass_bottle",
wool = "wool:white",
}