How the filter works
The Type button in the toolbar opens a multi-select dropdown. Each tag is a coloured chip - clicking selects it, clicking again deselects. Key behaviours:- Dynamic - only tags actually present in the currently open inventory appear. If no item in this inventory has the
clothingtag, theclothingchip is hidden. - OR logic - items match if they have any of the active tags (not all of them).
- Combines with rarity - tag filter and rarity filter intersect (AND). Tags within a side are OR; the two filter groups are AND.
- Combines with search - text search runs on top of the tag-filtered set.
- Persistent - filter selections survive closing and reopening the inventory within the same session. Left and right grids keep independent state.
Defining tags
Tags live inconfig.json under itemTags. Each entry needs a label and a colour:
config.json
Applying tags to an item
Add atags array to any item in data/items.lua. Multiple tags allowed.
data/items.lua
Applying tags to a weapon
Identical pattern indata/weapons.lua. Weapons should always include the weapon tag plus a class tag:
data/weapons.lua
Adding a custom tag
-
Add the entry to
config.json→itemTags:config.json -
Tag the relevant items:
data/items.lua
- Restart the resource. The new chip appears in the filter automatically whenever a tagged item is in view.
Removing or renaming a tag
- Renaming a tag key requires updating every item/weapon that referenced the old key. Items with an orphan tag key simply ignore it.
- Removing a tag from
config.jsonhides the chip from the filter, but items still carry the orphan key in theirtagsarray harmlessly.
Tags declared on items but not present in
config.json are silently ignored by the UI. You can use this to keep “private” categorisation that doesn’t surface as a chip.