README LANGUAGES [ English | 中文 | Spanish ]
Una herramienta diseñada para convertir paquetes de recursos de Minecraft de versiones antiguas (1.14) al formato 1.21.4+.
Esta herramienta se centra principalmente en la conversión de formatos JSON de modelos de objetos, ayudando a los creadores a actualizar rápidamente sus paquetes de recursos.
Important
Este convertidor solo procesa archivos JSON ubicados en el directorio models/item que incluyen Custom Model Data o Custom Model Data + Damage.
No maneja archivos JSON en otros directorios; deberás gestionar manualmente los archivos fuera de este directorio (en la mayoría de los casos, no se requiere procesamiento adicional).
Este enfoque minimiza problemas inesperados y asegura la menor diferencia posible entre el paquete de recursos convertido y el original.
Si descubres que los archivos JSON bajo el directorio models/item que contienen Custom Model Data o Custom Model Data + Damage no funcionan correctamente después de la conversión, esto es un error del convertidor. Por favor, asegúrate de reportarlo.
Sin embargo, si el problema surge de archivos fuera del directorio models/item, o de archivos dentro de models/item que no contienen Custom Model Data o Damage, no es culpa del convertidor, ya que no procesa esos archivos.
- Admite dos modos de conversión:
- Conversión de datos de modelo personalizados: convierte el formato antiguo de CustomModelData al nuevo formato.
- Conversión de modelo de objeto: convierte a archivos de modelo individuales según las rutas de CustomModelData.
- Conversión de modelo por daño: transforma predicados basados en daño.
- Ajusta automáticamente la estructura de carpetas (
assets/minecraft/models/item/*→assets/minecraft/items/*). - Maneja inteligentemente los prefijos de ruta
minecraft:item/,minecraft:block/eitem/. - Procesa en lote paquetes de recursos completos.
- Muestra en tiempo real el progreso de la conversión.
- Empaqueta automáticamente en un paquete de recursos listo para usar.
- Interfaz gráfica para una operación fácil.
- Soporta interfaces en inglés y chino.
- Entrada: Paquetes de recursos de Minecraft desde la versión 1.14 hasta 1.21.3.
- Salida: Formato compatible con Minecraft 1.21.4+.
- Descarga la última versión desde la página de Releases.
- Ejecuta el archivo ejecutable (
MCPackConverter.exe). - Elige tu idioma preferido (Inglés/中文).
- Usa la interfaz gráfica para:
- Seleccionar el modo de conversión.
- Seleccionar la carpeta o archivo ZIP que contiene tu paquete de recursos.
- Hacer clic en "Start Convert" para comenzar la conversión.
- Encontrar el paquete de recursos convertido en la carpeta de salida.
- Clona el repositorio:
git clone https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator
cd minecraft-resourcepack-migrator- Instala los requisitos:
pip install rich- Ejecuta el programa:
- Versión GUI:
python gui_app.py - Versión de línea de comandos:
python run.py
- Versión GUI:
- Clona el repositorio e instala los requisitos:
git clone https://github.com/BrilliantTeam/Minecraft-ResourcePack-Migrator
cd minecraft-resourcepack-migrator
pip install pyinstaller rich- Ejecuta el script de compilación:
python build.py- El ejecutable estará disponible en la carpeta
dist.
Nota: Crear el ejecutable requiere privilegios de administrador.
Formato antiguo (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"}
]
}Comando: /give @s minecraft:stick{CustomModelData:19002}
Formato nuevo (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"
}
}
]
}
}Comando: /give @p minecraft:stick[custom_model_data={floats:[19002]}]
Archivo original (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"}
]
}Comandos:
/give @p minecraft:stick[custom_model_data={floats:[19002]}]/give @p minecraft:stick[custom_model_data={floats:[19003]}]
Archivos convertidos:
assets/minecraft/items/custom_items/cat_hat/cat_hat_black.json:
{
"model": {
"type": "model",
"model": "custom_items/cat_hat/cat_hat_black"
}
}Comando: /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"
}
}Comando: /give @s itemname[item_model="custom_items/cat_hat/cat_hat_british_shorthair"]
Este modo está diseñado específicamente para conversiones puramente basadas en daño.
Si tu archivo inicial utiliza un formato de datos de modelo personalizado + daño, usa el Modo 1 o el Modo 2.
Formato antiguo (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"}
]
}Comandos:
/give @s minecraft:wood_sword{damage:30}/give @s minecraft:wood_sword{damage:45}
Formato nuevo (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"
}
}
]
}
}Comandos:
/give @s minecraft:wood_sword[damage=30]/give @s minecraft:wood_sword[damage=45]
- Python 3.6 o más reciente.
- pip (gestor de paquetes de Python).
Paquetes instalados automáticamente:
rich(para mostrar la barra de progreso).pyinstaller(si se construye el ejecutable).
-
Dos modos de conversión:
- Modo de datos de modelo personalizados: Actualiza al nuevo formato de modelo de objetos para 1.21.4+.
- Modo de modelo de objetos: Crea archivos de modelo individuales basados en las rutas de CustomModelData.
-
Manejo de rutas:
- Las rutas
minecraft:item/*mantienen su prefijo. - Las rutas
item/*conservan su formato original. - El formato
namespace:pathse preserva en la conversión de modelos de objetos. - Ajusta automáticamente la ubicación de almacenamiento de los modelos de objetos.
- Las rutas
-
Ajuste de estructura de carpetas:
- Mueve los archivos de
models/item/*aitems/*. - Crea subdirectorios basados en las rutas de modelo en el modo de modelos de objetos.
- Conserva otras estructuras de carpetas.
- Mueve los archivos de
- Respalda siempre tu paquete de recursos original antes de la conversión.
- Asegúrate de que la estructura de tu paquete de recursos de entrada sea correcta.
- Prueba todos los modelos de objetos personalizados en el juego después de la conversión.
- Si encuentras algún problema, revisa los mensajes de error y ajusta según sea necesario.
Se aceptan problemas y solicitudes de extracción. Áreas principales para contribuir:
- Soporte para más formatos de modelo.
- Mejoras en la eficiencia de conversión.
- Mejoras en el manejo de errores.
- Mejoras en la experiencia del usuario.
Licencia Pública General de GNU v3.0 (GNU General Public License v3.0).