Modelos y recursos propios
Los modelos y recursos propios permiten que las razas y formas usen tu propia geometría, texturas de cuerpo y caras. No necesitas crear un addon aparte para esto, pero sí tienes que editar archivos de configuración JSON y añadir recursos a un paquete de recursos.
Cómo se elige el modelo
DragonMineZ elige la clave de modelo en este orden:
- El
customModelde la forma acumulable activa (deconfig/dragonminez/forms/<group>.json). - El
customModelde la forma de raza activa (deraces/<race>/forms/<group>.json). - El
customModelde la raza (deraces/<race>/character.json). - El modelo por defecto incluido de la raza (una raza personalizada sin
customModelusa el modelo Humano).
Origen: src/main/java/com/dragonminez/client/model/DMZPlayerModel.java.
Claves de modelo incluidas
Puedes hacer que cualquier raza o forma use un modelo que ya viene con DragonMineZ. Estas claves también traen consigo las texturas y caras de ese modelo:
| Familia | Claves |
|---|---|
| Humano / Saiyajin | human, saiyan, buffed, buffedg3, 4arms, ssj4gt, ssj4d, oozaru
|
| Namekiano | namekian, namekian_orange, namekian_buffed
|
| Majin | majin, majin_super, majin_ultra, majin_evil, majin_kid, janemba_imperfect, janemba_fat, janemba_super
|
| Demonio del Frío | frostdemon, frostdemon_second, frostdemon_third, frostdemon_final, frostdemon_fifth, frostdemon_fp, frostdemon_mecha, frostdemon_metalcore
|
| Bio-Androide | bioandroid, bioandroid_base, bioandroid_semi, bioandroid_perfect, bioandroid_ultra, bioandroid_xeno, bioandroid_xenofp
|
| Glind | glindtrueform, trascended (usa el modelo femenino para los personajes femeninos)
|
La clave especial finalbase (que usa la forma acumulable Definitivo) vuelve al modelo base propio de la raza en las razas incluidas.
Cualquier otra clave es una clave de modelo personalizada y sigue las convenciones de abajo.
Archivos de geometría
Los archivos de modelos personalizados se buscan en este namespace y ruta, tanto para modelos de raza como de forma:
assets/dragonminez/geo/entity/races/<model_key>.geo.json
Si la raza tiene hasGender: true, DragonMineZ añade en su lugar el sufijo de género:
assets/dragonminez/geo/entity/races/<model_key>_male.geo.json
assets/dragonminez/geo/entity/races/<model_key>_female.geo.json
Si no se encuentra el archivo, el jugador vuelve al modelo Humano por defecto. Este comportamiento del sufijo viene de DMZPlayerModel#resolveCustomModel.
Las partes extra de la cabeza que se eligen en la personalización del personaje (los headBones de la raza) se toman primero de assets/dragonminez/geo/entity/raceparts.geo.json y luego del propio modelo de la raza, así que puedes añadir tus propios huesos de orejas o cuernos directamente en tu modelo.
Texturas del cuerpo
Para las claves de modelo personalizadas, las texturas del cuerpo están en una carpeta con el nombre de la clave de la raza: assets/dragonminez/textures/entity/races/<race_key>/.
Las razas por capas (isLayered: true en character.json) usan tres capas en escala de grises por tipo de cuerpo, teñidas con los tres colores de cuerpo:
<model_key>_<bodyType>_layer1.png(color de cuerpo 1)<model_key>_<bodyType>_layer2.png(color de cuerpo 2)<model_key>_<bodyType>_layer3.png(color de cuerpo 3)- Con género:
<model_key>_male_<bodyType>_layer1.png,<model_key>_female_<bodyType>_layer1.png, etc.
La cantidad de tipos de cuerpo que se ofrecen en la personalización del personaje es la cantidad de archivos <model_key>[_male|_female]_<n>_layer1.png consecutivos que se encuentran, empezando en 0. Si la raza tiene useVanillaSkin: true, el tipo de cuerpo 0 es la skin de Minecraft del propio jugador y tus texturas empiezan en 1. Si a un tipo de cuerpo le falta el layer1, se usa el tipo de cuerpo 0.
Las razas sin capas (isLayered: false) usan una sola textura teñida con el color de cuerpo 1: <model_key>.png, o <model_key>_male.png / <model_key>_female.png con género.
Origen: src/main/java/com/dragonminez/client/util/SkinGathererProvider.java, src/main/java/com/dragonminez/client/util/TextureCounter.java.
Texturas de la cara
Las razas personalizadas por capas dibujan su propia cara desde esta carpeta:
assets/dragonminez/textures/entity/races/<race_key>/faces/
Los archivos siguen este patrón de nombres:
<model_key>_eye_<eyesType>_0.png(blanco del ojo)<model_key>_eye_<eyesType>_1.png(color de ojos 1)<model_key>_eye_<eyesType>_2.png(color de ojos 2)<model_key>_eye_<eyesType>_3.png(cejas, color del pelo)<model_key>_nose_<noseType>.png(color de piel)<model_key>_mouth_<mouthType>.png(color de piel)
Si falta un índice, se usa _0. La pantalla de personalización ofrece primero tus propios ojos, narices y bocas (contados a partir de los archivos de arriba, empezando en 0) y después todos los de los Humanos, así que los jugadores también pueden darle a tu raza una cara Humana.
Las razas personalizadas sin capas toman prestada por completo la cara Humana. Cuando una raza renderiza la skin de Minecraft del jugador (tipo de cuerpo 0 con useVanillaSkin: true), no se dibuja ninguna textura de cara encima.
Origen: src/main/java/com/dragonminez/client/render/layer/DMZSkinLayer.java (renderCustomFace).
Asignar tu clave de modelo
Elige un lugar:
- El modelo por defecto de la raza:
races/<race>/character.json→customModel - Una forma concreta:
races/<race>/forms/<group>.json→forms.<form>.customModel - Una forma acumulable:
forms/<group>.json→forms.<form>.customModel
Después añade la geometría y las texturas correspondientes a tu paquete de recursos. Consulta Razas personalizadas y Formas personalizadas para ver los demás campos.
Animaciones de transformación
El transformationAnimation de una forma puede nombrar cualquier animación definida en los archivos de animación del jugador en assets/dragonminez/animations/entity/races/ (movement, combat, ki, transf, skp, evs). Para añadir la tuya, incluye en tu paquete de recursos una copia de transf.animation.json que conserve las entradas incluidas y añada tu animación, y luego usa su nombre en la configuración de la forma.
Lista de comprobación
- Define
customModelen la configuración de la raza o de la forma. - Añade
geo/entity/races/<model_key>.geo.json(y las variantes_maley_femalesi la raza tiene género). - Añade las texturas del cuerpo en
textures/entity/races/<race_key>/(y las variantes de género si hace falta). - En las razas por capas, añade texturas de cara para cada índice de ojos, nariz y boca que uses.
- Recarga los recursos y ejecuta
/dmzreload. A veces tendrás que reiniciar el juego.