Modelos y recursos propios

De DragonMineZ Wiki
Revisión del 00:03 14 oct 2026 de Shokkoh (discusión | contribs.) (Translation sync from dragonminez-wiki repository)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

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:

  1. El customModel de la forma acumulable activa (de config/dragonminez/forms/<group>.json).
  2. El customModel de la forma de raza activa (de races/<race>/forms/<group>.json).
  3. El customModel de la raza (de races/<race>/character.json).
  4. El modelo por defecto incluido de la raza (una raza personalizada sin customModel usa 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

  1. Define customModel en la configuración de la raza o de la forma.
  2. Añade geo/entity/races/<model_key>.geo.json (y las variantes _male y _female si la raza tiene género).
  3. Añade las texturas del cuerpo en textures/entity/races/<race_key>/ (y las variantes de género si hace falta).
  4. En las razas por capas, añade texturas de cara para cada índice de ojos, nariz y boca que uses.
  5. Recarga los recursos y ejecuta /dmzreload. A veces tendrás que reiniciar el juego.