Datos de modelo personalizados: múltiples modelos para un mismo objeto sin reemplazar nada
El sistema de modelos de objetos reemplazó al antiguo predicado CustomModelData. Aquí te mostramos la estructura de carpetas, el JSON que mapea valores a modelos y por qué tu textura aparece como un cubo morado.
Los modelos de objetos personalizados permiten que un servidor entregue una "varita mágica" que en realidad es una caña con zanahoria con un modelo diferente. El mecanismo cambió, y la mayoría de los tutoriales aún describen el antiguo.
Qué cambió
Antigua forma — un bloque predicate dentro del archivo de modelo del objeto base, con clave en custom_model_data como número:
{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }
Forma actual — una definición items/ que selecciona un modelo:
assets/minecraft/items/carrot_on_a_stick.json
{
"model": {
"type": "minecraft:range_dispatch",
"property": "minecraft:custom_model_data",
"fallback": { "type": "minecraft:model", "model": "minecraft:item/carrot_on_a_stick" },
"entries": [
{ "threshold": 1, "model": { "type": "minecraft:model", "model": "minecraft:item/wand" } }
]
}
}
El fallback es el aspecto que sigue teniendo una caña con zanahoria normal. Sin él, cada una sin modificar en el mundo se convertiría en tu varita.
La estructura de carpetas
pack.mcmeta
assets/minecraft/
├── items/carrot_on_a_stick.json the dispatch
├── models/item/wand.json the model
└── textures/item/wand.png the texture
models/item/wand.json en su forma más simple:
{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }
Ten en cuenta que la ruta de la textura no tiene el prefijo textures/ ni la extensión .png — esta es la causa más común de un cubo morado y negro.
Entregar el objeto
/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]
El componente ahora acepta un objeto con listas tipadas, no un entero simple. custom_model_data=1 es la sintaxis antigua y no hace nada en silencio.
Por qué aparece como un cubo morado
En orden de probabilidad:
- Ruta de la textura incorrecta — incluye
textures/o.png, o el archivo no está donde indica la ruta. - Mayúsculas/minúsculas del nombre del archivo — el juego distingue entre mayúsculas y minúsculas incluso donde tu sistema operativo no lo hace.
pack_formatdemasiado bajo — el paquete se carga, pero la carpetaitems/se ignora. Haz coincidir el formato con la versión que estás utilizando.- Comprimido incorrectamente —
pack.mcmetadebe estar en la raíz del archivo zip, no dentro de una carpeta dentro del zip.
Otros selectores
range_dispatch en un número es solo una opción. También puedes despachar en minecraft:display_context (modelo diferente en la mano versus en un marco), minecraft:using_item, o minecraft:selected — que es como un arco muestra un estado tensado.
Crea el JSON de despacho, el archivo de modelo y el comando de entrega juntos en las Herramientas de Componentes de Modelos y Objetos Personalizados.