Escopo e pré-requisitos
Escopo e pré-requisitos explica para quem as páginas de conteúdo próprio e de addons foram escritas, as duas formas de expandir o DragonMineZ e as pastas e ferramentas de que você precisa antes de começar. Execute o DragonMineZ uma vez antes, para que os arquivos de configuração sejam criados.
Público-alvo
As páginas de conteúdo próprio e de addons foram escritas para:
- Pessoas que sabem editar JSON e recursos de pacotes de recursos.
- Pessoas que sabem usar ambientes de desenvolvimento de Minecraft Forge.
- Pessoas que querem contribuir com conteúdo compatível com o DMZ.
Elas não cobrem guias gerais para jogadores, lore nem a progressão no modo sobrevivência. Para isso, comece pelo Guia para iniciantes.
Duas formas de expandir o DMZ
| Abordagem | O que você precisa | Por onde começar |
|---|---|---|
| Addons de dados (configurações, raças, formas, missões, desejos, pacotes de Esferas do Dragão, pacotes de recursos) | Um editor de texto e uma instância do DMZ | Esta página e depois as páginas de JSON indicadas abaixo e em Conteúdo próprio |
| Addons de código (seu próprio mod de Forge que se conecta aos eventos e às APIs do DMZ) | Um ambiente de desenvolvimento de Forge 1.20.1 | Primeiros passos com addons |
Configuração básica
- Execute o DMZ uma vez para que os arquivos de configuração sejam gerados.
- Use
config/dragonminezcomo raiz de configuração das suas instâncias de desenvolvimento locais. - A configuração de cada raça fica em
config/dragonminez/races/<race_name>/(character.json,stats.jsone uma pastaforms/). Veja Raças personalizadas. - As formas acumuláveis compartilhadas ficam em
config/dragonminez/forms/. Veja Formas personalizadas. - Os atributos das entidades são configurados em
config/dragonminez/entities.json. - As configurações gerais do servidor ficam em
config/dragonminez/general-server.json. - As configurações gerais do usuário (cliente) ficam em
config/dragonminez/general-user.json. - Combate, treinamento, habilidades e técnicas de ki são configurados em
config/dragonminez/combat.json,config/dragonminez/training.json,config/dragonminez/skills.jsoneconfig/dragonminez/techniques.json. - As definições de incursões e torneios ficam em
config/dragonminez/raids/econfig/dragonminez/tournaments/, um arquivo JSON por incursão ou torneio; arquivos extras que você adicionar também são carregados. - O layout da HUD, exclusivo do cliente e escrito pelo editor de HUD do jogo, é
config/dragonminez/hud_layout.json.
Todos os arquivos de configuração, exceto general-user.json e hud_layout.json, são enviados do servidor para cada cliente ao entrar, então os clientes sempre usam os valores do servidor.
Arquivos de configuração desatualizados ou corrompidos não são descartados em silêncio: o DMZ move o arquivo antigo para config/dragonminez/oldBackup/ (com o mesmo caminho relativo) e mescla suas edições com os novos valores padrão. Veja Como usar JSON e Recarregar e atualizar mudanças.
Dados do save do mundo
Alguns sistemas ficam dentro da pasta do mundo em vez de config/:
| Pasta | Conteúdo | Página |
|---|---|---|
<world>/dragonminez/sagas/, quests/, sidequests/ |
Sagas da história, missões de saga e missões secundárias | Missões personalizadas |
<world>/dragonminez/wishes/ |
Desejos personalizados de cada mundo (um arquivo por dragão) | Desejos personalizados |
<world>/dragonminez/dialogues/ |
Arquivos de diálogo de NPCs | Diálogos de NPCs |
<world>/dragonminez/npcs/ |
Posicionamentos de NPCs (placements.json) e regras de índole (alignment_rules.json) |
Posicionamento e índole de NPCs |
<world>/dragonminez/playerdata_json/ |
Dados dos jogadores quando o backend de armazenamento JSON está selecionado |
Configuração do servidor |
Os pacotes de addons de Esferas do Dragão (pastas ou arquivos .zip) vão na pasta dragonballs do diretório do jogo; veja Desejos personalizados. Não sabe onde fica uma pasta no seu computador? Veja Encontrar pastas.
Fluxo de recarga
Depois de alterar arquivos de configuração JSON, você pode recarregá-los no jogo com /dmzreload [all|config|story|wishes] (sem argumento equivale a all). O código do comando fica em src/main/java/com/dragonminez/server/commands/ReloadCommand.java. Veja Comandos e Recarregar e atualizar mudanças para saber o que cada seção recarrega.
Mudanças em pacotes de recursos (modelos e texturas) normalmente exigem uma recarga de recursos ou um reinício.
Encontrar erros no JSON
developer.reportJsonProblemsInChatQuando um arquivo de configuração, missão ou desejo não carrega, o DMZ registra o arquivo, a linha e a coluna, e o caminho JSON do problema. O relatório é exibido no log do servidor e mostrado no chat aos jogadores quando eles entram. Donos de servidores podem desativar a mensagem no chat com developer.reportJsonProblemsInChat = false no general-server.json.
Traduções
Todo o texto do jogo usa chaves de tradução. O arquivo-fonte em inglês é assets/dragonminez/lang/en_us.json; as traduções da comunidade são gerenciadas no Crowdin (veja Como contribuir).
O DragonMineZ baixa automaticamente a tradução mais recente do Crowdin para o idioma do jogo que você escolheu (todos os idiomas exceto en_us), então as correções de tradução chegam aos jogadores sem atualizar o mod. Para desativar isso (por exemplo, para testar seu próprio arquivo de idioma), inicie o jogo com o argumento de JVM -Ddmz.crowdin.enabled=false.
Quando falta uma chave de tradução, algumas telas do DMZ mostram uma versão legível do id (por exemplo, textos de missões e nomes de formas viram palavras com iniciais maiúsculas). Para nomes próprios e outros idiomas, inclua suas próprias chaves em um pacote de recursos em assets/<namespace>/lang/<locale>.json e use essas chaves no seu JSON (por exemplo, o nome de uma forma usa race.dragonminez.<race>.form.<group>.<form>).