ItemsAdder Mappings

Overview

ItemsAdder Mappings is a mapping system for converting Java 1.21+ item model systems to Bedrock Edition. It reads item definitions from YAML configuration files and generates the appropriate Geyser mappings. It also supports custom model data caching for proper CMD value tracking.

Supported Format

ItemsAdder Mappings uses the ItemsAdder YAML configuration files only.

YAML Format

File Location

Place YAML files anywhere under ItemsAdder/contents/<namespace>/ within your resource pack:

your-pack.zip
├── ItemsAdder/
│   ├── contents/
│   │   ├── mynamespace/
│   │   │   ├── weapons.yml
│   │   │   ├── armor.yml
│   │   │   └── tools.yml
│   │   └── custom/
│   │       └── items.yml
│   └── storage/
│       └── item_ids_cache.yml
└── assets/
    └── ...

YAML Structure

YAML Field Reference

Field
Type
Required
Description

info.namespace

string

Namespace for items (auto-detected from directory if missing)

resource.material

string

Bukkit Material name (e.g., NETHERITE_SWORD)

resource.model_path

string

Model path (can be nested like santa_decoration/big_gift_box)

Components.equippable.slot

string

Equipment slot: HEAD, CHEST, LEGS, FEET, MAINHAND, OFFHAND, BODY

Components.equippable.model

string

Equipment model ID (with namespace)

Components.equippable.allowed_entity_types

array

List of entities that can equip

Components.max_stack_size

number

Maximum stack size (auto-set to 1 for equippable items)

Components.durability

number

Maximum durability for the item

specific_properties.armor.slot

string

Armor slot (alternative to Components.equippable)

specific_properties.armor.custom_armor

string

Custom armor model ID

behaviours.armor

boolean

Indicates if item is armor

Custom Model Data Cache

ItemsAdder uses a cache file for custom model data values:

File: ItemsAdder/storage/item_ids_cache.yml

YAML Examples

Basic weapons and tools:

Items with nested model paths:

Equippable armor (using Components):

Equippable armor (using specific_properties):

Complex example with mixed types:

Equipment Slots

Slot
Usage

HEAD

Helmets, hats, crowns

CHEST

Chestplates, tunics

LEGS

Leggings, pants

FEET

Boots, shoes

BODY

Body equipment (horse armor, wolf armor)

MAINHAND

Main hand equipment

OFFHAND

Off-hand equipment

Troubleshooting

chevron-rightYAML not being readhashtag
  • Ensure files are under ItemsAdder/contents/<namespace>/ directory

  • Check that files have .yml or .yaml extension

  • Verify YAML syntax is valid (use a YAML validator)

  • Ensure files are not in categories/ folder (automatically skipped)

chevron-rightNamespace not detectedhashtag
  • Add info.namespace to YAML file

  • Ensure directory structure follows ItemsAdder/contents/<namespace>/...

chevron-rightItems not mappinghashtag
  • Verify resource.material uses correct Bukkit Material names

  • Check that resource.model_path is specified

  • Ensure item definition files exist

  • Try both simple and nested model path formats

chevron-rightNested model paths not workinghashtag
  • Verify basename exists: santa_decoration/big_gift_boxbig_gift_box.json

  • Try underscore format: santa_decoration_big_gift_box.json

  • Check if full path exists: santa_decoration/big_gift_box.json

chevron-rightCustom model data missinghashtag
  • Check if item_ids_cache.yml exists

  • Verify cache format: namespace:item_key: cmd_value

  • Ensure namespace matches item configuration

chevron-rightArmor not workinghashtag
  • Set either Components.equippable OR specific_properties.armor

  • Verify slot is set correctly

  • Check that equipment model ID exists

  • Confirm armor model path exists

Example Project Structure

Important Notes

Armor Configuration Methods

ItemsAdder supports two methods for armor configuration:

Method 1: Components.equippable (modern)

Method 2: specific_properties.armor (legacy)

Both methods work, but Components.equippable is preferred for new configurations.

Entity Restrictions

Use allowed_entity_types to restrict which entities can equip armor:

Entity types are automatically prefixed with minecraft:.

Durability vs Max Stack Size

  • Items with armor configuration automatically have max_stack_size: 1

  • Non-armor items can have custom max_stack_size

  • Durability can be specified as a number or in nested format

Last updated