Desarrollo de addons

From DragonMineZ Wiki
Revision as of 22:25, 13 October 2026 by Shokkoh (talk | contribs) (Translation sync from dragonminez-wiki repository)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Imagen pendiente
A quién van dirigidas estas páginas, las dos formas de extender DMZ y la configuración básica.
Imagen pendiente
Versiones de las herramientas, mods incompatibles y en qué puede confiar un addon sin riesgo.
Imagen pendiente
Todos los eventos de DMZ, cómo leer el estado del jugador, registros de extensión y red.
Imagen pendiente
Configura el proyecto de Gradle, declara la dependencia y recibe tu primer evento.

El proyecto

Imagen pendiente
Reporta errores, sugiere funciones, compila el mod y abre pull requests.
Imagen pendiente
Cómo reportar una vulnerabilidad y cómo mantener seguro un servidor.

Orden de lectura

  1. Primeros pasos con addons: iguala las versiones de las herramientas y asegúrate de que tu entorno de desarrollo compile contra DMZ.
  2. Implementación y eventos: conecta los hooks reales.
  3. 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 son DMZClientEvent y 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.mixin ni 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.