HomeJavaModsItemModel_PackConverter
ItemModel_PackConverter
ModsJava

ItemModel_PackConverter

A tool designed to convert Minecraft resource packs from older versions (1.14) to 1.21.4+ format.

⬇ Download on HangarOpen in MCModsHubGet it on Google Play →
# 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. ![](https://github-production-user-asset-6210df.s3.amazonaws.com/68499464/600426598-67b1056d-67e1-428e-9ce3-a60dbc302ef6.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20260530%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260530T032458Z&X-Amz-Expires=300&X-Amz-Signature=2cf681394aee68895c6b9ce7f4b12da927bdd7850049b5c9cc5bee9f3727c78a&X-Amz-SignedHeaders=host&response-content-type=image%2Fpng) ## Key Features - Supports two conversion modes: 1. Custom Model Data Conversion: Converts old CustomModelData format to new format 2. Item Model Conversion: Converts to individual model files based on CustomModelData paths 3. 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/ ` and `item/` 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) 1. Download the latest release from the [Releases](https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator/releases) page 2. Run the executable file (MCPackConverter.exe) 3. Choose your preferred language (English/中文) 4. 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 1. Clone the repository: ```bash git clone https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator cd minecraft-resourcepack-migrator ``` 2. Install requirements: ```bash pip install rich ``` 3. Run the program: - GUI Version: `python gui_app.py` - Command Line Version: `python run.py` ### Method 3: Build Your Own Executable 1. Clone the repository and install requirements: ```bash git clone https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator cd minecraft-resourcepack-migrator pip install pyinstaller rich ``` 2. Run the build script: ```bash python build.py ``` 3. 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): ```json { "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+): ```json { "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`): ```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: 1. `assets/minecraft/items/custom_items/cat_hat/cat_hat_black.json`: ```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"]` 2. `assets/minecraft/items/custom_items/cat_hat/cat_hat_british_shorthair.json`: ```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): ```json { "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+): ```json { "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 1. 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 2. Path Handling: - `minecraft:item/*` paths maintain their prefix - `item/*` paths maintain original format - `namespace:path` format is preserved in item model conversion - Automatically adjusts item model storage location 3. Folder Structure Adjustment: - Moves files from `models/item/*` to `items/*` - Creates subdirectories based on model paths in Item Model mode - Preserves other folder structures ## Important Notes 1. Always backup your original resource pack before conversion 2. Ensure correct input resource pack structure 3. Test all custom item models in-game after conversion 4. 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

ItemModel_PackConverter is a free Minecraft Java mod. Compatible with Minecraft 1.14, 1.14.1, 1.14.2, 1.14.3 and newer. Downloaded 725 times (via Hangar). Download it and open it directly in the game.

Explore more