Desarrollo de addons
De DragonMineZ Wiki
El desarrollo de addons consiste en escribir tu propio mod de Forge que depende de DragonMineZ y reacciona a él: dar TP extra, escuchar cambios de forma, añadir nuevos tipos de objetivos y recompensas de misiones, agregar botones al menú de utilidades, etc. Estas páginas son para desarrolladores de Java que saben ejecutar un entorno de desarrollo de Forge 1.20.1.
Si solo quieres ajustar números o añadir razas, formas, misiones o deseos, no necesitas nada de esto: consulta Contenido propio. DragonMineZ no tiene una API de Java para registrar razas, formas, habilidades o técnicas nuevas; las razas y formas nuevas se añaden con archivos de configuración JSON.
Guías
A quién van dirigidas estas páginas, las dos formas de extender DMZ y la configuración básica.
Versiones de las herramientas, mods incompatibles y en qué puede confiar un addon sin riesgo.
Todos los eventos de DMZ, cómo leer el estado del jugador, registros de extensión y red.
Configura el proyecto de Gradle, declara la dependencia y recibe tu primer evento.
El proyecto
Reporta errores, sugiere funciones, compila el mod y abre pull requests.
Cómo reportar una vulnerabilidad y cómo mantener seguro un servidor.
Orden de lectura
- Primeros pasos con addons: iguala las versiones de las herramientas y asegúrate de que tu entorno de desarrollo compile contra DMZ.
- Implementación y eventos: conecta los hooks reales.
- Crear un addon de DMZ: la configuración completa de Gradle y
mods.toml.
Reglas básicas para addons
- Engánchate casi exclusivamente a
com.dragonminez.common: es la capa compartida y la más estable. En el cliente, los únicos hooks pensados para addons sonDMZClientEventy las ranuras del menú de utilidades. - Es preferible reaccionar a los eventos de DMZ (cambiando sus campos modificables o cancelándolos) que cambiar directamente los datos de DMZ.
- Registra tu propio canal de red; nunca añadas paquetes al canal de DMZ.
- Nunca confíes en lo que envía el cliente para estadísticas, desbloqueos, misiones, deseos o progreso: valídalo en el servidor.
- No dependas de las clases de
com.dragonminez.mixinni de partes internas de DMZ que las guías no mencionan; pueden cambiar sin aviso entre versiones. - No incluyas ni dependas de Legendary Tooltips, Epic Fight o Better Combat: DMZ se niega a iniciar junto a ellos.