A tool designed to convert Minecraft resource packs from older versions (1.14) to 1.21.4+ format.
Minecraft-ResourcePack-Migrator 1.14 ~ 1.21.4+
A tool designed to convert Minecraft resource packs from older versions (1.14) to 1.21.4+ format.
This tool primarily handles the conversion of item model JSON formats, helping creators quickly update their resource packs.
Key Features
- Supports two conversion modes:
- Custom Model Data Conversion: Converts old CustomModelData format to new format
- Item Model Conversion: Converts to individual model files based on CustomModelData paths
- Damage Model Conversion: Transforms damage-based model predicates
- Automatically adjusts folder structure (
assets/minecraft/models/item/*
→assets/minecraft/items/*
) - Intelligently handles
minecraft:item/
,minecraft:block/
anditem/
path prefixes - Batch processes entire resource packs
- Real-time conversion progress display
- Automatically packages into a ready-to-use resource pack
- GUI interface for easy operation
- Supports both English and Chinese interfaces
Supported Versions
- Input: Minecraft resource packs from 1.14 to 1.21.3
- Output: Minecraft 1.21.4+ compatible format
Installation & Usage
Method 1: Using Executable (Recommended)
- Download the latest release from the Releases page
- Run the executable file (MCPackConverter.exe)
- Choose your preferred language (English/中文)
- Use the GUI to:
- Select conversion mode
- Select folder or ZIP file containing your resource pack
- Click "Start Convert" to begin conversion
- Find the converted resource pack in the output folder
Method 2: Using Source Code
- Clone the repository:
git clone https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator
cd minecraft-resourcepack-migrator
- Install requirements:
pip install rich
- Run the program:
- GUI Version:
python gui_app.py
- Command Line Version:
python run.py
- GUI Version:
Method 3: Build Your Own Executable
- Clone the repository and install requirements:
git clone https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator
cd minecraft-resourcepack-migrator
pip install pyinstaller rich
- Run the build script:
python build.py
- The executable will be available in the
dist
folder
Note: Building the executable requires administrator privileges.
Format Conversion Examples
Mode 1: Custom Model Data Conversion
Old format (1.14 ~ 1.21.3):
{
"parent": "item/handheld",
"textures": {
"layer0": "item/stick"
},
"overrides": [
{"predicate": {"custom_model_data": 19002}, "model":"custom_items/cat_hat/cat_hat_black"}
]
}
Command: /give @s minecraft:stick{CustomModelData:19002}
New format (1.21.4+):
{
"model": {
"type": "range_dispatch",
"property": "custom_model_data",
"fallback": {
"type": "model",
"model": "item/stick"
},
"entries": [
{
"threshold": 19002,
"model": {
"type": "model",
"model": "custom_items/cat_hat/cat_hat_black"
}
}
]
}
}
Command: /give @p minecraft:stick[custom_model_data={floats:[19002]}]
Mode 2: Item Model Conversion
Original file (assets/minecraft/models/item/stick.json
):
{
"parent": "item/handheld",
"textures": {
"layer0": "item/stick"
},
"overrides": [
{"predicate": {"custom_model_data": 19002}, "model":"custom_items/cat_hat/cat_hat_black"},
{"predicate": {"custom_model_data": 19003}, "model":"custom_items/cat_hat/cat_hat_british_shorthair"}
]
}
Command: /give @p minecraft:stick[custom_model_data={floats:[19002]}]
Command: /give @p minecraft:stick[custom_model_data={floats:[19003]}]
Converted files:
assets/minecraft/items/custom_items/cat_hat/cat_hat_black.json
:
{
"model": {
"type": "model",
"model": "custom_items/cat_hat/cat_hat_black"
}
}
Command: /give @s itemname[item_model="custom_items/cat_hat/cat_hat_black"]
assets/minecraft/items/custom_items/cat_hat/cat_hat_british_shorthair.json
:
{
"model": {
"type": "model",
"model": "custom_items/cat_hat/cat_hat_british_shorthair"
}
}
Command: /give @s itemname[item_model="custom_items/cat_hat/cat_hat_british_shorthair"]
Mode 3: Damage Conversion
This mode is designed specifically for pure damage-based conversions. If your initial file is in a custom model data + damage format, please use Mode 1 or Mode 2 instead.
Old format (1.14 ~ 1.21.3):
{
"parent": "item/handheld",
"textures": {
"layer0": "item/wood_sword"
},
"overrides": [
{"predicate": {"damaged": 1, "damage": 0.25}, "model":"custom_items/wood_sword1"},
{"predicate": {"damaged": 1, "damage": 0.50}, "model":"custom_items/wood_sword2"}
]
}
Command: /give @s minecraft:wood_sword{damage:30}
Command: /give @s minecraft:wood_sword{damage:45}
New format (1.21.4+):
{
"model": {
"type": "range_dispatch",
"property": "damage",
"fallback": {
"type": "model",
"model": "items/wood_sword"
},
"entries": [
{
"threshold": 0.25,
"model": {
"type": "model",
"model": "custom_items/wood_sword1"
}
},
{
"threshold": 0.50,
"model": {
"type": "model",
"model": "custom_items/wood_sword2"
}
}
]
}
}
Command: /give @s minecraft:wood_sword[damage=30]
Command: /give @s minecraft:wood_sword[damage=45]
Requirements
- Python 3.6 or newer
- pip (Python package manager)
Automatically installed packages:
- rich (for progress bar display)
- pyinstaller (if building executable)
Conversion Rules
Two Conversion Modes:
- Custom Model Data Mode: Updates to 1.21.4+ new item model format
- Item Model Mode: Creates individual model files based on CustomModelData paths
Path Handling:
minecraft:item/*
paths maintain their prefixitem/*
paths maintain original formatnamespace:path
format is preserved in item model conversion- Automatically adjusts item model storage location
Folder Structure Adjustment:
- Moves files from
models/item/*
toitems/*
- Creates subdirectories based on model paths in Item Model mode
- Preserves other folder structures
- Moves files from
Important Notes
- Always backup your original resource pack before conversion
- Ensure correct input resource pack structure
- Test all custom item models in-game after conversion
- Check error messages if any issues are found
Contributing
Issues and Pull Requests are welcome. Main areas for contribution:
- Support for more model formats
- Conversion efficiency improvements
- Error handling enhancements
- User experience improvements
License
GNU General Public License v3.0
Information
Category | Developer Tools |
---|---|
Published on | December 7, 2024 |
License | GPL |
Downloads | 139 |
Stars | 3 |
Watchers | 1 |