Nexo Mappings

Overview

Nexo 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.

Supported Format

Nexo mappings uses the Nexo plugin YAML configuration files only.

YAML Format

File Location

Place YAML files in the Nexo/items/ folder (or any subfolder) within your resource pack:

your-pack.zip
├── Nexo/
│   └── items/
│       ├── weapons.yml
│       ├── armor.yml
│       └── tools.yml
└── assets/
    └── ...

YAML Structure

YAML Field Reference

Field
Type
Required
Description

material

string

Bukkit Material name (e.g., NETHERITE_SWORD)

Pack.custom_model_data

number

Custom model data value

item_model

string

Explicit item definition ID override

Components.item_model

string

Item definition ID (highest priority for armor)

Components.equippable.slot

string

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

Components.equippable.model

string

Equipment model ID (e.g., nexo:ruby)

Components.equippable.allowed_entity_types

array

List of entities that can equip (e.g., [player, zombie])

Components.max_stack_size

number

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

Components.durability

number

Maximum durability for the item

YAML Examples

Basic weapons and tools:

Items with durability:

Equippable armor:

Complex example with mixed types:

Equipment Slots

When using Components.equippable.slot for armor:

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 in Nexo/items/ folder or subfolders

  • Check that files have .yml or .yaml extension

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

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

  • Check that item definition files exist in assets/<namespace>/items/

  • Ensure model files are properly referenced

chevron-rightModel file warningshashtag
  • These are informational — mappings are still created

  • Models will work if added later

  • Verify your model file paths if this is unexpected

chevron-rightArmor not workinghashtag
  • Ensure Components.item_model is set for armor items

  • Verify Components.equippable.slot is set correctly

  • Check that equipment model ID exists

  • Confirm item definition file matches the specified model

Example Project Structure

Important Notes

Armor Configuration

For armor items, use Components.item_model to specify the item definition ID. This has the highest priority and is specifically designed for armor and special items.

Example:

→ Item definition: assets/nexo/items/ruby_chestplate.json → Equipment model: Referenced in the equippable component

Entity types are automatically prefixed with minecraft:.

Durability vs Max Stack Size

  • Items with Components.equippable automatically have max_stack_size: 1

  • Non-equippable items can have custom max_stack_size

  • Durability can be specified as a number or in durability.value format

Last updated