Modelos e recursos próprios
Os modelos e recursos próprios permitem que raças e formas usem sua própria geometria, texturas de corpo e rostos. Você não precisa criar um addon separado para isso, mas precisa editar arquivos de configuração JSON e adicionar recursos a um pacote de recursos.
Como o modelo é escolhido
O DragonMineZ escolhe a chave de modelo nesta ordem:
- O
customModelda forma acumulável ativa (deconfig/dragonminez/forms/<group>.json). - O
customModelda forma de raça ativa (deraces/<race>/forms/<group>.json). - O
customModelda raça (deraces/<race>/character.json). - O modelo padrão incluído da raça (uma raça personalizada sem
customModelusa o modelo Humano).
Origem: src/main/java/com/dragonminez/client/model/DMZPlayerModel.java.
Chaves de modelo incluídas
Você pode fazer qualquer raça ou forma usar um modelo que já vem com o DragonMineZ. Estas chaves também trazem as texturas e os rostos desse modelo:
| Família | Chaves |
|---|---|
| Humano / Saiyajin | human, saiyan, buffed, buffedg3, 4arms, ssj4gt, ssj4d, oozaru
|
| Namekuseijin | namekian, namekian_orange, namekian_buffed
|
| Majin | majin, majin_super, majin_ultra, majin_evil, majin_kid, janemba_imperfect, janemba_fat, janemba_super
|
| Clã Freeza | 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 o modelo feminino para personagens femininos)
|
A chave especial finalbase (usada pela forma acumulável Ultimate) volta para o modelo base da própria raça nas raças incluídas.
Qualquer outra chave é uma chave de modelo personalizada e segue as convenções abaixo.
Arquivos de geometria
Os arquivos de modelos personalizados são procurados neste namespace e caminho, tanto para modelos de raça quanto de forma:
assets/dragonminez/geo/entity/races/<model_key>.geo.json
Se a raça tiver hasGender: true, o DragonMineZ acrescenta o sufixo de gênero no lugar:
assets/dragonminez/geo/entity/races/<model_key>_male.geo.json
assets/dragonminez/geo/entity/races/<model_key>_female.geo.json
Se o arquivo não for encontrado, o jogador volta para o modelo Humano padrão. Esse comportamento do sufixo vem de DMZPlayerModel#resolveCustomModel.
As partes extras de cabeça escolhidas na personalização do personagem (os headBones da raça) são buscadas primeiro em assets/dragonminez/geo/entity/raceparts.geo.json e depois no próprio modelo da raça, então você pode adicionar seus próprios ossos de orelhas ou chifres diretamente no seu modelo.
Texturas do corpo
Para chaves de modelo personalizadas, as texturas do corpo ficam em uma pasta com o nome da chave da raça: assets/dragonminez/textures/entity/races/<race_key>/.
As raças em camadas (isLayered: true em character.json) usam três camadas em tons de cinza por tipo corporal, tingidas com as três cores de corpo:
<model_key>_<bodyType>_layer1.png(cor de corpo 1)<model_key>_<bodyType>_layer2.png(cor de corpo 2)<model_key>_<bodyType>_layer3.png(cor de corpo 3)- Com gênero:
<model_key>_male_<bodyType>_layer1.png,<model_key>_female_<bodyType>_layer1.pnge assim por diante.
A quantidade de tipos corporais oferecidos na personalização do personagem é a quantidade de arquivos <model_key>[_male|_female]_<n>_layer1.png consecutivos encontrados, começando em 0. Se a raça tiver useVanillaSkin: true, o tipo corporal 0 é a skin de Minecraft do próprio jogador e suas texturas começam em 1. Se faltar o layer1 de um tipo corporal, é usado o tipo corporal 0.
As raças sem camadas (isLayered: false) usam uma única textura tingida com a cor de corpo 1: <model_key>.png, ou <model_key>_male.png / <model_key>_female.png com gênero.
Origem: src/main/java/com/dragonminez/client/util/SkinGathererProvider.java, src/main/java/com/dragonminez/client/util/TextureCounter.java.
Texturas do rosto
As raças personalizadas em camadas desenham o próprio rosto a partir desta pasta:
assets/dragonminez/textures/entity/races/<race_key>/faces/
Os arquivos seguem este padrão de nomes:
<model_key>_eye_<eyesType>_0.png(branco do olho)<model_key>_eye_<eyesType>_1.png(cor dos olhos 1)<model_key>_eye_<eyesType>_2.png(cor dos olhos 2)<model_key>_eye_<eyesType>_3.png(sobrancelhas, cor do cabelo)<model_key>_nose_<noseType>.png(cor da pele)<model_key>_mouth_<mouthType>.png(cor da pele)
Se faltar um índice, é usado _0. A tela de personalização oferece primeiro seus próprios olhos, narizes e bocas (contados a partir dos arquivos acima, começando em 0) e depois todos os dos Humanos, então os jogadores também podem dar à sua raça um rosto Humano.
As raças personalizadas sem camadas pegam emprestado o rosto Humano por completo. Quando uma raça renderiza a skin de Minecraft do jogador (tipo corporal 0 com useVanillaSkin: true), nenhuma textura de rosto é desenhada por cima.
Origem: src/main/java/com/dragonminez/client/render/layer/DMZSkinLayer.java (renderCustomFace).
Atribuir sua chave de modelo
Escolha um lugar:
- O modelo padrão da raça:
races/<race>/character.json→customModel - Uma forma específica:
races/<race>/forms/<group>.json→forms.<form>.customModel - Uma forma acumulável:
forms/<group>.json→forms.<form>.customModel
Depois adicione a geometria e as texturas correspondentes ao seu pacote de recursos. Veja Raças personalizadas e Formas personalizadas para os outros campos.
Animações de transformação
O transformationAnimation de uma forma pode indicar qualquer animação definida nos arquivos de animação do jogador em assets/dragonminez/animations/entity/races/ (movement, combat, ki, transf, skp, evs). Para adicionar a sua, inclua no seu pacote de recursos uma cópia de transf.animation.json que mantenha as entradas incluídas e adicione sua animação, e depois use o nome dela na configuração da forma.
Checklist
- Defina
customModelna configuração da raça ou da forma. - Adicione
geo/entity/races/<model_key>.geo.json(e as variantes_malee_femalese a raça tiver gênero). - Adicione as texturas do corpo em
textures/entity/races/<race_key>/(e as variantes de gênero, se necessário). - Nas raças em camadas, adicione texturas de rosto para cada índice de olhos, nariz e boca que você usar.
- Recarregue os recursos e execute
/dmzreload. Às vezes será preciso reiniciar o jogo.