Desenvolvimento de addons

De DragonMineZ Wiki
Esta página é uma versão traduzida da página Add-on Development e a tradução está 100% completa.

O desenvolvimento de addons consiste em escrever seu próprio mod de Forge que depende do DragonMineZ e reage a ele: conceder TP extra, escutar mudanças de forma, adicionar novos tipos de objetivos e recompensas de missões, adicionar botões ao Menu de Utilidades e assim por diante. Estas páginas são para desenvolvedores Java que sabem rodar um ambiente de desenvolvimento do Forge 1.20.1.

Se você só quer ajustar números ou adicionar raças, formas, missões ou desejos, não precisa de nada disso: veja Conteúdo próprio. O DragonMineZ não tem uma API Java para registrar novas raças, formas, habilidades ou técnicas; novas raças e formas são adicionadas por arquivos de configuração JSON.

Guias

Imagem pendente
Para quem são estas páginas, as duas formas de estender o DMZ e a configuração básica.
Imagem pendente
Versões das ferramentas, mods incompatíveis e no que um addon pode confiar com segurança.
Imagem pendente
Todos os eventos do DMZ, como ler o estado do jogador, registros de extensão e rede.
Imagem pendente
Configure o projeto Gradle, declare a dependência e receba seu primeiro evento.

O projeto

Imagem pendente
Reporte bugs, sugira recursos, compile o mod e abra pull requests.
Imagem pendente
Como reportar uma vulnerabilidade e como manter um servidor seguro.

Ordem de leitura

  1. Primeiros passos com addons: use as mesmas versões das ferramentas e garanta que seu ambiente de desenvolvimento compile contra o DMZ.
  2. Implementação e eventos: conecte os hooks de verdade.
  3. Criar um addon de DMZ: a configuração completa do Gradle e do mods.toml.

Regras básicas para addons

  • Conecte-se quase exclusivamente a com.dragonminez.common: é a camada compartilhada e a mais estável. No cliente, os únicos hooks pensados para addons são DMZClientEvent e os slots do Menu de Utilidades.
  • Prefira reagir aos eventos do DMZ (alterando seus campos editáveis ou cancelando-os) a alterar os dados do DMZ diretamente.
  • Registre seu próprio canal de rede; nunca adicione pacotes ao canal do DMZ.
  • Nunca confie no que o cliente envia para estatísticas, desbloqueios, missões, desejos ou progresso: valide no servidor.
  • Não dependa das classes de com.dragonminez.mixin nem de partes internas do DMZ que as guias não mencionam; elas podem mudar sem aviso entre versões.
  • Não inclua nem dependa de Legendary Tooltips, Epic Fight ou Better Combat: o DMZ se recusa a iniciar junto com eles.