Alcance y requisitos

From DragonMineZ Wiki
This page is a translated version of the page Developer Scope and Prerequisites and the translation is 100% complete.

Alcance y requisitos explica para quién están escritas las páginas de contenido propio y de addons, las dos formas de ampliar DragonMineZ, y las carpetas y herramientas que necesitas antes de empezar. Ejecuta DragonMineZ una vez primero, para que se creen sus archivos de configuración.

Público objetivo

Las páginas de contenido propio y de addons están escritas para:

  • Personas que saben editar JSON y recursos de paquetes de recursos.
  • Personas que saben usar entornos de desarrollo de Minecraft Forge.
  • Personas que quieren aportar contenido compatible con DMZ.

No cubren guías generales para jugadores, lore ni la progresión en supervivencia. Para eso, empieza por la Guía para empezar.

Dos formas de ampliar DMZ

Enfoque Qué necesitas Por dónde empezar
Addons de datos (configuraciones, razas, formas, misiones, deseos, paquetes de Esferas del Dragón, paquetes de recursos) Un editor de texto y una instancia de DMZ Esta página, y luego las páginas de JSON enlazadas abajo y en Contenido propio
Addons de código (tu propio mod de Forge que se engancha a los eventos y las API de DMZ) Un entorno de desarrollo de Forge 1.20.1 Primeros pasos con addons

Configuración base

  1. Ejecuta DMZ una vez para que se generen los archivos de configuración.
  2. Usa config/dragonminez como raíz de configuración de tus instancias de desarrollo locales.
  3. La configuración de cada raza está en config/dragonminez/races/<race_name>/ (character.json, stats.json y una carpeta forms/). Consulta Razas personalizadas.
  4. Las formas acumulables compartidas están en config/dragonminez/forms/. Consulta Formas personalizadas.
  5. Los atributos de las entidades se configuran en config/dragonminez/entities.json.
  6. Los ajustes generales del servidor están en config/dragonminez/general-server.json.
  7. Los ajustes generales del usuario (cliente) están en config/dragonminez/general-user.json.
  8. El combate, el entrenamiento, las habilidades y las técnicas de ki se configuran en config/dragonminez/combat.json, config/dragonminez/training.json, config/dragonminez/skills.json y config/dragonminez/techniques.json.
  9. Las definiciones de incursiones y torneos están en config/dragonminez/raids/ y config/dragonminez/tournaments/, un archivo JSON por incursión o torneo; los archivos extra que añadas también se cargan.
  10. La disposición del HUD, solo del cliente y escrita por el editor de HUD del juego, es config/dragonminez/hud_layout.json.

Todos los archivos de configuración excepto general-user.json y hud_layout.json se envían del servidor a cada cliente al conectarse, así que los clientes siempre usan los valores del servidor.

Los archivos de configuración desactualizados o dañados no se descartan sin avisar: DMZ mueve el archivo viejo a config/dragonminez/oldBackup/ (con la misma ruta relativa) y combina tus cambios con los nuevos valores por defecto. Consulta Cómo usar JSON y Recargar y actualizar cambios.

Datos del mundo guardado

Algunos sistemas viven dentro de la carpeta del mundo en lugar de config/:

Carpeta Contenido Página
<world>/dragonminez/sagas/, quests/, sidequests/ Sagas de la historia, misiones de saga y misiones secundarias Misiones personalizadas
<world>/dragonminez/wishes/ Deseos personalizados de cada mundo (un archivo por dragón) Deseos personalizados
<world>/dragonminez/dialogues/ Archivos de diálogo de NPCs Diálogos de NPCs
<world>/dragonminez/npcs/ Ubicaciones de NPCs (placements.json) y reglas de alineamiento (alignment_rules.json) Ubicación y alineamiento de NPCs
<world>/dragonminez/playerdata_json/ Datos de los jugadores cuando se elige el backend de almacenamiento JSON Configuración del servidor

Los paquetes de addons de Esferas del Dragón (carpetas o archivos .zip) van en la carpeta dragonballs del directorio del juego; consulta Deseos personalizados. ¿No sabes dónde está una carpeta en tu equipo? Consulta Encontrar carpetas.

Flujo de recarga

Después de cambiar archivos de configuración JSON, puedes recargarlos en el juego con /dmzreload [all|config|story|wishes] (sin argumento equivale a all). El código del comando está en src/main/java/com/dragonminez/server/commands/ReloadCommand.java. Consulta Comandos y Recargar y actualizar cambios para ver qué recarga cada sección.

Los cambios en paquetes de recursos (modelos y texturas) normalmente requieren una recarga de recursos o un reinicio.

Encontrar errores en el JSON

Se configura en: Configuración del servidordeveloper.reportJsonProblemsInChat

Cuando un archivo de configuración, misión o deseo no se puede cargar, DMZ registra el archivo, la línea y la columna, y la ruta JSON del problema. El informe se imprime en el log del servidor y se muestra en el chat a los jugadores al conectarse. Los dueños de servidores pueden desactivar el mensaje del chat con developer.reportJsonProblemsInChat = false en general-server.json.

Traducciones

Todo el texto del juego usa claves de traducción. El archivo fuente en inglés es assets/dragonminez/lang/en_us.json; las traducciones de la comunidad se gestionan en Crowdin (consulta Cómo contribuir).

DragonMineZ descarga automáticamente la última traducción de Crowdin para el idioma del juego que elegiste (todos los idiomas excepto en_us), así que las correcciones de traducción llegan a los jugadores sin actualizar el mod. Para desactivarlo (por ejemplo, para probar tu propio archivo de idioma), inicia el juego con el argumento de JVM -Ddmz.crowdin.enabled=false.

Cuando falta una clave de traducción, algunas pantallas de DMZ muestran una versión legible del id (por ejemplo, los textos de misiones y los nombres de formas se convierten en palabras con mayúscula inicial). Para nombres propios y otros idiomas, incluye tus propias claves en un paquete de recursos en assets/<namespace>/lang/<locale>.json y usa esas claves en tu JSON (por ejemplo, el nombre de una forma usa race.dragonminez.<race>.form.<group>.<form>).