Minecraft Custom Model Data Converter

Convert Minecraft resource pack item models between pre-1.21.4 format (custom_model_data overrides with threshold) and 1.21.4+ item definition format (range_dispatch on custom_model_data with threshold entries). Supports all item types including bows, crossbows, fishing rods, shields, clocks, and compasses.

Pre-1.21.4
1.21.4+
1
1

FAQ & Information

What does this tool convert?

This tool converts Minecraft resource pack item model files between two formats:

  • Pre-1.21.4 format: Uses models/item/*.json files with overrides array and custom_model_data predicates
  • 1.21.4+ format: Uses items/*.json files with tree-based nodes (range_dispatch, condition, select)
Which item types are supported?
  • Single-state items: Swords, tools, blocks, food, and all other regular items
  • Bows: Pulling animation states with use_duration thresholds
  • Crossbows: Pulling states, charged arrow, and charged rocket states
  • Fishing rods: Cast and uncast states
  • Shields: Blocking and non-blocking states
  • Clocks: Time-based animation with 64 display states
  • Compasses: Angle-based animation with 32 display states
What changed in Minecraft 1.21.4?

In Minecraft 1.21.4, Mojang replaced the old item model system with a new item definition system:

  • Item models moved from models/item/ to items/
  • The overrides array with predicates was replaced by tree-based nodes
  • custom_model_data predicate became a range_dispatch property
  • State predicates (pulling, charged, cast, blocking) became condition and select nodes
How to use this converter?
  1. Select the item type from the dropdown, or leave on Auto-detect
  2. Choose the conversion direction using the swap button
  3. Paste your JSON into the left input area
  4. Click Convert
  5. Copy or download the result from the right output area

For special items (bow, crossbow, fishing rod, shield, clock, compass), select the correct item type if auto-detection doesn't work.

Back to Tools