> For the complete documentation index, see [llms.txt](https://devmosaic.gitbook.io/devmosaic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devmosaic.gitbook.io/devmosaic/resources/devmosaic-ox-inventory-rework-v2/clothing-system.md).

# Clothing System

The clothing system adds 10 wearable slots to every player's inventory. Equipping an item visually applies the corresponding GTA component or prop to the player model in real time.

#### Slot Layout

Clothing slots are displayed in two columns in the inventory UI.

| Left column  | Right column |
| ------------ | ------------ |
| 0 — Hat      | 5 — Jacket   |
| 1 — Mask     | 6 — Torso    |
| 2 — Glasses  | 7 — Gloves   |
| 3 — Necklace | 8 — Pants    |
| 4 — Vest     | 9 — Shoes    |

The column order is configurable in `data/clothing.lua`:

```lua
layout = {
    left  = { 0, 1, 2, 3, 4 },
    right = { 5, 6, 7, 8, 9 },
}
```

***

#### Slot Reference

**Male**

| Slot | Label    | Type      | GTA Index | Empty Drawable |
| ---- | -------- | --------- | --------- | -------------- |
| 0    | Hat      | prop      | 0         | -1             |
| 1    | Mask     | component | 1         | 0              |
| 2    | Glasses  | prop      | 1         | -1             |
| 3    | Necklace | component | 7         | 0              |
| 4    | Vest     | component | 9         | 0              |
| 5    | Jacket   | component | 11        | 15             |
| 6    | Torso    | component | 8         | 15             |
| 7    | Gloves   | component | 3         | 15             |
| 8    | Pants    | component | 4         | 21             |
| 9    | Shoes    | component | 6         | 34             |

**Female**

Slot indices are identical to male. The empty drawables differ for three slots:

| Slot | Label | Empty Drawable (female) |
| ---- | ----- | ----------------------- |
| 6    | Torso | 2                       |
| 8    | Pants | 15                      |
| 9    | Shoes | 35                      |

***

#### Slot Definition Fields

Each slot entry in `data/clothing.lua` supports these fields:

| Field       | Type   | Description                                                       |
| ----------- | ------ | ----------------------------------------------------------------- |
| `label`     | string | Display name shown in the UI                                      |
| `itemName`  | string | Category key — items tagged with this are accepted by the slot    |
| `component` | number | GTA ped component index (mutually exclusive with `prop`)          |
| `prop`      | number | GTA ped prop index (mutually exclusive with `component`)          |
| `icon`      | string | SVG icon name loaded from `web/src/assets/svg/`                   |
| `empty`     | table  | `{ drawable, texture }` applied when the slot is empty            |
| `requires`  | table  | Slot indices that must be filled before this slot accepts an item |

***

#### Disabling the Clothing System

Set `enabled = false` in `data/clothing.lua`. The clothing panel will not render and no reserved slots will be created. Items with clothing metadata will behave as regular inventory items.
