Obsi Inventory adds a few fields to item definitions: rarity, throwing, unique serials, mini stashes, backpacks, clothing, armour plates and weapon tints. This page lists them all, plus how rarity drives item discovery.
Item fields
Add the fields in data/items.lua, or set them on the admin Items page.
['water'] = {
label = 'Water', weight = 500,
rarity = 'common', -- common / uncommon / rare / epic / legendary / mythic
throwable = true, -- can be thrown, the weight decides the distance
prop = 'prop_ld_flow_bottle', -- world prop for throws and drops
unique = true, -- never stacks, gets a serial number
},
['toolbox'] = {
label = 'Toolbox', weight = 1500,
isStash = { slots = 6, maxWeight = 8000, whitelist = { 'screwdriver', 'wrench' } },
},
['plate_heavy'] = { label = 'Heavy plate', weight = 3000, plate = { armor = 100 } },
['tint_1'] = { label = 'Green tint', weight = 50, tint = 1 },| Field | Type | Meaning |
|---|---|---|
rarity | string | Rarity name. metadata.rarity overrides it per item |
throwable | boolean | false means the item can never be thrown |
prop | string | World prop used for throws and drops |
unique | boolean | Never stacks; each item gets metadata.serial |
isStash | table | Makes the item a mini stash: slots, maxWeight, optional whitelist |
backpack | table | Worn in the bag slot: slots, weight. See Slots and backpacks |
clothing | table | A wearable piece. See Clothing |
plate | table | An armour plate: armor points |
tint | number | A weapon tint item (tint index) |
hanger | boolean | An outfit hanger |
Rarity
Every slot carries a coloured stripe for the item's rarity, and the tooltip shows a matching chip.
| Rarity | Colour | Discovery time |
|---|---|---|
| Common | #8B9096 | 0 s |
| Uncommon | #5FB878 | 2 s |
| Rare | #4F8FD8 | 4 s |
| Epic | #A273D6 | 6 s |
| Legendary | #F2A541 | 8 s |
| Mythic | #E05A4F | 10 s |
The defaults live in data/obsi/rarity.lua.
Names, colours and times can be changed on the admin Edit Rarity page; those edits are stored in the database and replace the file values.

Item discovery
Items in someone else's inventory are hidden until you have searched long enough. Each item reveals itself after its rarity's discovery time, with a countdown on the slot.

Setting in discovery (data/obsi/interact.lua) | Default | Meaning |
|---|---|---|
types | player, drop, stash, trunk, glovebox | Inventory types that hide their items |
skipOwned | true | Your own personal stashes are never hidden |
memory | 600 | Seconds the server remembers what a player already revealed |
Mini stashes
An item with isStash opens as a small container in the right column.
Hover it to see what is inside and take items out straight from the tooltip.
Armour plates
The armor_vest item (and any item worn as clothing component 9) is a plate carrier.
Drag up to 3 plates into it from the context menu:
| Plate | Armour |
|---|---|
plate_light | 25 |
plate_medium | 50 |
plate_heavy | 100 |
A plate keeps its remaining armour in metadata.armor, and the vest keeps its plates in metadata.plates, so a damaged plate stays damaged when you take it out.
Weapon tints
Weapon tints are items: tint_1 to tint_7.
Apply them in the weapon attachments view like any other component.
Renaming and descriptions
Players can give an item their own name and description from the context menu.
They are stored in metadata.label and metadata.description, up to 32 and 160 characters (item.renameMax, item.describeMax).