Add-on Development/pt: Difference between revisions
From DragonMineZ Wiki
Translation sync from dragonminez-wiki repository |
Translation sync from dragonminez-wiki repository |
||
| (One intermediate revision by the same user not shown) | |||
| Line 15: | Line 15: | ||
== O projeto == | == O projeto == | ||
<div class="dmz-cards"> | <div class="dmz-cards"> | ||
{{Card|Contributing| | {{Card|Contributing|Reporte bugs, sugira recursos, compile o mod e abra pull requests.}} | ||
{{Card|Security Policy| | {{Card|Security Policy|Como reportar uma vulnerabilidade e como manter um servidor seguro.}} | ||
</div> | </div> | ||
< | <span id="Reading_order"></span> | ||
== Ordem de leitura == | |||
</ | # [[Special:MyLanguage/Add-on Getting Started|Primeiros passos com addons]]: use as mesmas versões das ferramentas e garanta que seu ambiente de desenvolvimento compile contra o DMZ. | ||
# [[Special:MyLanguage/Implementation and Events|Implementação e eventos]]: conecte os hooks de verdade. | |||
# [[Special:MyLanguage/Add-on Getting Started| | # [[Special:MyLanguage/Creating a DMZ Addon|Criar um addon de DMZ]]: a configuração completa do Gradle e do <code>mods.toml</code>. | ||
# [[Special:MyLanguage/Implementation and Events| | |||
# [[Special:MyLanguage/Creating a DMZ Addon| | |||
< | <span id="Ground_rules_for_add-ons"></span> | ||
== Regras básicas para addons == | |||
</ | * Conecte-se quase exclusivamente a <code>com.dragonminez.common</code>: é a camada compartilhada e a mais estável. No cliente, os únicos hooks pensados para addons são <code>DMZClientEvent</code> 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 <code>com.dragonminez.mixin</code> 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. | ||
* | |||
* | |||
__NOTOC__ | __NOTOC__ | ||
{{Navbox Add-ons}} | {{Navbox Add-ons}} | ||
Latest revision as of 22:25, 13 October 2026
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
Para quem são estas páginas, as duas formas de estender o DMZ e a configuração básica.
Versões das ferramentas, mods incompatíveis e no que um addon pode confiar com segurança.
Todos os eventos do DMZ, como ler o estado do jogador, registros de extensão e rede.
Configure o projeto Gradle, declare a dependência e receba seu primeiro evento.
O projeto
Reporte bugs, sugira recursos, compile o mod e abra pull requests.
Como reportar uma vulnerabilidade e como manter um servidor seguro.
Ordem de leitura
- Primeiros passos com addons: use as mesmas versões das ferramentas e garanta que seu ambiente de desenvolvimento compile contra o DMZ.
- Implementação e eventos: conecte os hooks de verdade.
- 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ãoDMZClientEvente 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.mixinnem 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.