# Items Tutorial

All items on Codex follow the same format, here you can find information of the properties of items.

An example of an item on the inventory.yml file:

```yaml
39:
  item:
    id: PLAYER_HEAD
    name: "&7Go Back"
    skull_data:
      texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzdhZWU5YTc1YmYwZGY3ODk3MTgzMDE1Y2NhMGIyYTdkNzU1YzYzMzg4ZmYwMTc1MmQ1ZjQ0MTlmYzY0NSJ9fX0="
```

An example of an item on the regions category file:

```yaml
category:
      id: MAP
      name: "&7Category: #6bcbfe&lWorld Regions"
      lore:
        - "#eeeeeeDifferent regions you've explored will"
        - "#eeeeeebe displayed here."
        - ""
        - "&7Unlocked: %unlocked% &8[%progress_bar%&8] &8(&7%percentage%&8)"
```

## Id <a href="#id" id="id"></a>

The id/material of the item.\
Latest Versions Material: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html>

```yaml
id: LIME_TERRACOTTA
```

## Durability <a href="#durability" id="durability"></a>

Durability or data value of the item.

```yaml
durability: 5
```

## Name <a href="#name" id="name"></a>

Custom name of the item.

* You can use any PlaceholderAPI variable.

```yaml
name: "&2Discovery %name%"
```

## Lore <a href="#lore" id="lore"></a>

Custom lore/description of the item.

* You can use any PlaceholderAPI variable.

```yaml
lore:
- "#eeeeeeDifferent regions you've explored will"
- "#eeeeeebe displayed here."
```

## Amount <a href="#amount" id="amount"></a>

The number of items.

```yaml
amount: 16
```

## Custom Model Data <a href="#custom-model-data" id="custom-model-data"></a>

Custom model data value of the item. Only works on 1.16-1.21.3.

```yaml
custom_model_data: 5
```

## Custom Model Component Data <a href="#custom-model-component-data" id="custom-model-component-data"></a>

The new 1.21.4 custom model data. The flags, floats, colors and strings properties consist of a list of elements. More info here: <https://minecraft.wiki/w/Data_component_format/custom_model_data>

```yaml
custom_model_component_data:
  strings:
  - "string1"
  flags:
  - "flag1"
  - "flag2"
  floats: []
  colors: []
```

## Enchants <a href="#enchants" id="enchants"></a>

Enchantments of the item. Use the following format: `<name>;<level>` You can find all enchantment names here:\
<https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html>

```yaml
enchants:
- "DAMAGE_ALL;5"
```

## Item Flags <a href="#item-flags" id="item-flags"></a>

Item flags of this item. You can find all item flag names here:\
<https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemFlag.html>

```yaml
item_flags:
- HIDE_ATTRIBUTES 
```

## Attributes <a href="#attributes" id="attributes"></a>

Attribute modifiers of this item. This is difficult to implement manually, so I suggest you not to modify this option unless you know what you are doing. Format: `<attribute_name>;<operation>;<value>;<uuid>;<slot>` \
Attribute names: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html> Operation names: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/AttributeModifier.Operation.html> \
Slot names: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/EquipmentSlot.html> Generate a random uuid here: <https://www.uuidgenerator.net/>

```yaml
attributes:
- GENERIC_MAX_HEALTH;ADD_SCALAR;0.1;1ab87334-7a32-4307-b783-c5519f735260;HAND
- GENERIC_MOVEMENT_SPEED;ADD_SCALAR;0.35;766d5332-e2b1-493d-af98-5d3046da3f0a;HAND
```

## Color <a href="#color" id="color"></a>

Color of a leather armor.

```yaml
color: 8439583
```

## Hide Tooltip

Whether the tooltip should be hidden or not. 1.20.6+

```yaml
hide_tooltip: true
```

## Tooltip Style

Style of the tooltip background for the item. 1.21.2+ \
More info here: <https://minecraft.wiki/w/Data_component_format#tooltip_style>\
Format: "\<namespace>:\<id>"

```yaml
tooltip_style: "custom:ajneb"
```

## Model <a href="#model" id="model"></a>

Model of the item. 1.21.4+ \
More info here: <https://minecraft.wiki/w/Items_model_definition> \
Format: "\<namespace>:\<id>"

```yaml
model: "custom:model_1"
```

## Skull Data <a href="#skull-data" id="skull-data"></a>

Information of a player head with texture. You can find heads with textures and their properties here: <https://minecraft-heads.com/custom-heads>.

```yaml
skull_data:
    texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA4Yjc3MmVjYWVlNzA2MjM1ZDFhZGJmMGI5YTI5YjU4YmE5YzBlZDYwZGU2ZjEwZWZiMWE3Zjg2ZDllIn19fQ=="
```

```yaml
skull_data:
    owner: Ajneb
```

## Potion Data <a href="#potion-data" id="potion-data"></a>

Information of a potion item. Works for these items IDs: POTION, SPLASH\_POTIO&#x4E;*,* LINGERING\_POTION, TIPPED\_ARROW. \
Potion Types: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionType.html> \
Potion Effects: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffectType.html>

```yaml
potion_data:
    # Format for potion effects:
    # <potion_effect>;<level>;<duration_in_ticks>
    effects:
    - INCREASE_DAMAGE;1;4800
    - WATER_BREATHING;0;12000
    extended: false
    upgraded: false
    type: UNCRAFTABLE
    # Color only works on 1.9+, you can get the Minecraft color value here:
    # https://minecraftcommand.science/armor-color
    color: 6196631
```

## Banner Data <a href="#banner-data" id="banner-data"></a>

Information of a banner or shield item. Use the following format for patterns: `<color>;<type>` Colors: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/DyeColor.html> \
Pattern Types: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/banner/PatternType.html>

```yaml
banner_data:
    patterns:
    - BLUE;SQUARE_BOTTOM_LEFT
    - BLUE;SQUARE_TOP_RIGHT
    - LIME;STRAIGHT_CROSS
```

## Firework Data <a href="#firework-data" id="firework-data"></a>

Information of a firework rocket or a firework star. Format for firework effects: `<type>;<color1>,<color2>,...;<fade1>,<fade2>,...;<has flicker>;<has trail>` Firework types: <https://hub.spigotmc.org/javadocs/spigot/org/bukkit/FireworkEffect.Type.html> \
Colors: <https://minecraftcommand.science/armor-color>

```yaml
# For firework rocket item
firework_data:
    rocket_effects:
    - BALL_LARGE;11743532,2437522;1973019,15790320;false;true
    power: 1
```

```yaml
# For firework star item
firework_data:
    star_effect: BALL;16777215;14188952,4312372;false;false
```

## Book Data <a href="#book-data" id="book-data"></a>

Information of a written book. Pages are stored in JSON format so I suggest you not to modify this manually. Hover and click events are stored, but only on 1.12+.

```yaml
book_data:
    title: "Rules Book"
    generation: ORIGINAL
    author: "Ajneb97"
    pages: []
```

## Armor Trim Data <a href="#armor-trim-data" id="armor-trim-data"></a>

Information of armor trim smithing templates. Works only for armor items. Only works on 1.20+. Patterns: <https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/meta/trim/TrimPattern.html> Materials: <https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/meta/trim/TrimMaterial.html>

```yaml
trim_data:
    pattern: ward
    material: redstone
```

## NBT <a href="#nbt" id="nbt"></a>

NBT data of this item. This is difficult to implement manually, so I suggest you not to modify this option. (Only works on 1.8-1.20.4, nbt compounds don't exist anymore in Minecraft 1.20.5+)

```yaml
nbt:
- Unbreakable|true|boolean
```
