> For the complete documentation index, see [llms.txt](https://tweak5m.gitbook.io/tweak5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tweak5m.gitbook.io/tweak5m-docs/noir-pouches/items-and-icons.md).

# Items & inventory icons

**NOIR Pouches · Version 1.0.1 · 7 item definitions**

[1 · Install](/tweak5m-docs/noir-pouches/installation.md) → [2 · Database](/tweak5m-docs/noir-pouches/sql-setup.md) → [3 · Items & icons](/tweak5m-docs/noir-pouches/items-and-icons.md) → start and test

## 1. Back up the inventory file

Open `ox_inventory/data/items.lua` and save a backup outside your active resource folder.

{% hint style="warning" %}
The block below is a **table fragment**, not a complete items.lua file. Paste the entries **inside the existing returned items table**, before its final closing brace. Do not add a second `return` or replace the whole file. Replace an existing matching item entry rather than creating a duplicate.
{% endhint %}

## 2. Copy the complete item block

This is the supplied `install/items/ox_inventory_item.lua` from NOIR Pouches 1.0. Use the code block's copy button. Keep item names, commas and exports unchanged.

{% code title="Paste inside the existing items table" collapsedlinecount="18" %}

```lua
-- Add this section inside ox_inventory/data/items.lua, keeping all NOIR items together.

-- POUCHS
	["noir_pouch_black_label"] = {
		label = "TWEAK NOIR Pouch | Black Label",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_black_label.png",
		},
	},

	["noir_pouch_cocoa"] = {
		label = "TWEAK NOIR Pouch | Cocoa",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_cocoa.png",
		},
	},

	["noir_pouch_cream"] = {
		label = "TWEAK NOIR Pouch | Cream",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_cream.png",
		},
	},

	["noir_pouch_burgundy"] = {
		label = "TWEAK NOIR Pouch | Burgundy",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_burgundy.png",
		},
	},

	["noir_pouch_forest"] = {
		label = "TWEAK NOIR Pouch | Forest",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_forest.png",
		},
	},

	["noir_pouch_rainbow_black"] = {
		label = "TWEAK NOIR Pouch | Rainbow Black",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_rainbow_black.png",
		},
	},

	["noir_pouch_rainbow_white"] = {
		label = "TWEAK NOIR Pouch | Rainbow White",
		weight = 500,
		stack = false,
		close = true,
		consume = 0,
		description = "Two independent pockets. Hold in either hand or place on the ground.",
		client = {
			export = "cfx-tweak-noir-pouches.useBag",
			image = "noir_pouch_rainbow_white.png",
		},
	},
```

{% endcode %}

The exact export for this pack is `cfx-tweak-noir-pouches.useBag`. Do not use an individual pack's export for the Collection or vice versa. Keep all NOIR definitions together; do not register duplicate keys across installed packs.

## 3. Copy the icons from your download

Copy **all PNG files** from this resource's `install/images/` into `ox_inventory/web/images/`. Keep every filename unchanged. The Lua above does not install the images for you. Models and animations stay in the resource's stream folders.

## 4. Save, restart and check

Apply inventory changes during a planned restart using your normal framework startup order, then reconnect before checking streamed models. Use your existing authorized inventory/admin tools to obtain a test item; these resources do not add an unrestricted give-item command.

* Check all 7 supplied item definitions appear once and their icons load.
* Use an item and confirm the correct product menu opens.
* If an icon is missing, compare the `client.image` name with the PNG filename.
* If Lua reports a syntax error, inspect the first reported line and its preceding entry for a missing comma or brace.
* If an export is missing, check the exact resource folder name, startup order and first resource error.

**Next:** [Return to installation for the startup block and final checks](/tweak5m-docs/noir-pouches/installation.md).
