<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dragonminez.com/es/wiki/How_to_JSON?action=history&amp;feed=atom</id>
	<title>How to JSON/es - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/es/wiki/How_to_JSON?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/es/wiki/How_to_JSON?action=history"/>
	<updated>2026-10-26T21:53:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.dragonminez.com/es/wiki/How_to_JSON?diff=37045&amp;oldid=prev</id>
		<title>Shokkoh: Translation sync from dragonminez-wiki repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/es/wiki/How_to_JSON?diff=37045&amp;oldid=prev"/>
		<updated>2026-10-14T06:46:20Z</updated>

		<summary type="html">&lt;p&gt;Translation sync from dragonminez-wiki repository&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Cómo usar JSON&amp;#039;&amp;#039;&amp;#039; explica las reglas que siguen todos los archivos de datos de DragonMineZ. No necesitas saber Java para configurar DragonMineZ, pero tus archivos tienen que ser JSON válido, y DragonMineZ actualiza sus archivos entre versiones de formas que deberías conocer antes de empezar a editar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Ground_rules&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Reglas básicas ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;JSON estándar.&amp;#039;&amp;#039;&amp;#039; Sin comas finales; las claves y los textos van entre comillas dobles. El parser de la configuración tolera los comentarios &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; y omite sin avisar las claves que empiezan por &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, pero DragonMineZ los elimina cada vez que reescribe un archivo (una actualización de versión, &amp;lt;code&amp;gt;/dmzconfig&amp;lt;/code&amp;gt; o el editor de configuración del juego). Deja las notas largas fuera del archivo.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Codificación UTF-8.&amp;#039;&amp;#039;&amp;#039; La configuración se lee y se escribe en UTF-8 (&amp;lt;code&amp;gt;ConfigLoader.java&amp;lt;/code&amp;gt;). No guardes archivos en UTF-16 ni con una marca de orden de bytes (BOM) que tu editor podría añadir sin avisar.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Usa un editor de verdad.&amp;#039;&amp;#039;&amp;#039; VS Code, Notepad++ o IntelliJ detectan corchetes y comillas sin cerrar antes de que lleguen al servidor. El Bloc de notas funciona, pero no te avisará de los errores de sintaxis.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Valida antes de desplegar.&amp;#039;&amp;#039;&amp;#039; Una sola coma mal puesta hace que todo el archivo no se pueda analizar. Pega el archivo en cualquier validador de JSON (o usa el linter integrado de tu editor) antes de reiniciar o recargar un servidor en marcha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;When_DragonMineZ_can&amp;amp;#039;t_read_your_file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Cuando DragonMineZ no puede leer tu archivo ==&lt;br /&gt;
DragonMineZ nunca sobrescribe un archivo que no puede leer. Si un archivo de configuración tiene un error de sintaxis:&lt;br /&gt;
* DragonMineZ registra &amp;lt;code&amp;gt;&amp;lt;file&amp;gt; has malformed JSON; using defaults this session and leaving your file untouched&amp;lt;/code&amp;gt;, con la línea, la columna y la ruta del error.&lt;br /&gt;
* Durante esa sesión, el juego usa los valores por defecto incluidos de ese archivo. Tu archivo queda exactamente como lo dejaste.&lt;br /&gt;
* Corrige la sintaxis y ejecuta &amp;lt;code&amp;gt;/dmzreload&amp;lt;/code&amp;gt; (o reinicia) para aplicar tus valores.&lt;br /&gt;
Lo mismo ocurre con los demás archivos JSON que carga DragonMineZ: un archivo de forma personalizada, incursión, torneo, misión, saga, misión secundaria o deseo mal formado se &amp;#039;&amp;#039;&amp;#039;omite&amp;#039;&amp;#039;&amp;#039; (no se regenera) y se informa.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;The_JSON_load_report&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== El reporte de carga de JSON ===&lt;br /&gt;
{{Config|General Server Config|developer.reportJsonProblemsInChat}}&lt;br /&gt;
Todos estos problemas se reúnen en un solo reporte. Con &amp;lt;code&amp;gt;developer.reportJsonProblemsInChat&amp;lt;/code&amp;gt; activado en &amp;lt;code&amp;gt;general-server.json&amp;lt;/code&amp;gt; (el valor por defecto), cada jugador ve un breve resumen en el chat al entrar: los archivos que fallaron (&amp;lt;code&amp;gt;[!]&amp;lt;/code&amp;gt;) y los archivos por defecto que se actualizaron automáticamente (&amp;lt;code&amp;gt;[~]&amp;lt;/code&amp;gt;). El reporte también señala las &amp;#039;&amp;#039;&amp;#039;claves desconocidas&amp;#039;&amp;#039;&amp;#039;, normalmente un error de escritura como &amp;lt;code&amp;gt;&amp;quot;tpGainMultipler&amp;quot;&amp;lt;/code&amp;gt;: la clave se ignora y el resto del archivo carga igual. El log del servidor tiene todos los detalles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Config_versions_and_automatic_upgrades&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Versiones de configuración y actualizaciones automáticas ==&lt;br /&gt;
Cada archivo de configuración (&amp;lt;code&amp;gt;general-server.json&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;combat.json&amp;lt;/code&amp;gt;, el &amp;lt;code&amp;gt;character.json&amp;lt;/code&amp;gt; y el &amp;lt;code&amp;gt;stats.json&amp;lt;/code&amp;gt; de una raza, las formas, &amp;lt;code&amp;gt;entities.json&amp;lt;/code&amp;gt;, incursiones, torneos, etc.) lleva un texto &amp;lt;code&amp;gt;configVersion&amp;lt;/code&amp;gt; con el formato &amp;lt;code&amp;gt;X.Y.Z&amp;lt;/code&amp;gt;, por ejemplo &amp;lt;code&amp;gt;&amp;quot;2.2.0&amp;quot;&amp;lt;/code&amp;gt;. &amp;#039;&amp;#039;&amp;#039;No lo edites a mano.&amp;#039;&amp;#039;&amp;#039; DragonMineZ lo compara con la versión de configuración del propio mod cada vez que carga el archivo:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Versión actual:&amp;#039;&amp;#039;&amp;#039; el archivo se carga tal cual.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Versión más antigua o ausente:&amp;#039;&amp;#039;&amp;#039; DragonMineZ actualiza el archivo. Cualquier valor que no tenga el formato &amp;lt;code&amp;gt;X.Y.Z&amp;lt;/code&amp;gt;, como el antiguo valor numérico &amp;lt;code&amp;gt;21.0&amp;lt;/code&amp;gt;, cuenta como desactualizado.&lt;br /&gt;
Una actualización sigue estos pasos:&lt;br /&gt;
# El archivo antiguo se &amp;#039;&amp;#039;&amp;#039;mueve&amp;#039;&amp;#039;&amp;#039; a &amp;lt;code&amp;gt;config/dragonminez/oldBackup/&amp;lt;same relative path&amp;gt;&amp;lt;/code&amp;gt; (por ejemplo &amp;lt;code&amp;gt;oldBackup/races/saiyan/forms/superforms.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Se genera un archivo nuevo a partir de los nuevos valores por defecto.&lt;br /&gt;
# Tus valores antiguos se vuelven a incorporar con una &amp;#039;&amp;#039;&amp;#039;fusión de tres vías&amp;#039;&amp;#039;&amp;#039; contra los valores por defecto de la versión anterior, que vienen dentro del jar del mod (&amp;lt;code&amp;gt;data/dragonminez/previousConfigs/&amp;lt;/code&amp;gt;):&lt;br /&gt;
#* un valor que nunca cambiaste (sigue igual al valor por defecto de la versión anterior) toma el &amp;#039;&amp;#039;&amp;#039;nuevo&amp;#039;&amp;#039;&amp;#039; valor por defecto, así que te llegan los cambios de balance;&lt;br /&gt;
#* un valor que cambiaste se &amp;#039;&amp;#039;&amp;#039;conserva&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
#* las claves añadidas en la nueva versión se añaden con su valor por defecto, y las entradas que añadiste a mapas (por ejemplo, ids de entidades extra) se conservan;&lt;br /&gt;
#* si no hay copia de la versión anterior de un archivo (razas personalizadas, archivos añadidos recientemente), se conservan todos los valores que difieran del nuevo valor por defecto.&lt;br /&gt;
# El log muestra &amp;lt;code&amp;gt;Regenerating &amp;lt;file&amp;gt;. Reason: Outdated version (...)&amp;lt;/code&amp;gt; y cuántos de tus valores se conservaron.&lt;br /&gt;
Los valores que la fusión no puede trasladar (por ejemplo, un valor del tipo equivocado, como un texto donde se espera un número) vuelven al valor por defecto. Después de una actualización, compara el archivo nuevo con su copia en &amp;lt;code&amp;gt;oldBackup/&amp;lt;/code&amp;gt; si algo no te cuadra.&lt;br /&gt;
&lt;br /&gt;
{{Note|type=warning|title=No toques configVersion|text=Cambiar &amp;lt;code&amp;gt;configVersion&amp;lt;/code&amp;gt; a mano o fuerza una actualización no deseada o hace que DragonMineZ trate un archivo desactualizado como actual, de modo que las claves nuevas y los ajustes de balance no se incorporan.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Custom_and_user-defined_files&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Archivos personalizados y definidos por el usuario ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Razas personalizadas&amp;#039;&amp;#039;&amp;#039; (cualquier carpeta de &amp;lt;code&amp;gt;config/dragonminez/races/&amp;lt;/code&amp;gt; que no sea una raza por defecto): pasan por la misma comprobación de versión; su &amp;lt;code&amp;gt;character.json&amp;lt;/code&amp;gt; y su &amp;lt;code&amp;gt;stats.json&amp;lt;/code&amp;gt; se actualizan con la fusión de arriba y conservan todos los valores que definiste. DragonMineZ nunca les genera formas por defecto.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Archivos de formas personalizadas&amp;#039;&amp;#039;&amp;#039; (grupos de formas que no son de DragonMineZ, en &amp;lt;code&amp;gt;races/&amp;lt;race&amp;gt;/forms/&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;forms/&amp;lt;/code&amp;gt;): conservan su contenido; cuando su versión está desactualizada, se mueve una copia a &amp;lt;code&amp;gt;oldBackup/&amp;lt;/code&amp;gt; y el archivo se vuelve a guardar con la versión actual.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Archivos extra de incursiones y torneos&amp;#039;&amp;#039;&amp;#039; que añadas: se cargan tal cual.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Misiones, sagas y misiones secundarias personalizadas&amp;#039;&amp;#039;&amp;#039; que crees en el mundo guardado: nunca se modifican. Solo se actualizan los archivos por defecto que generó DragonMineZ (ver abajo).&lt;br /&gt;
* Los archivos cuyo nombre empieza por &amp;lt;code&amp;gt;old_&amp;lt;/code&amp;gt; en las carpetas de formas, incursiones y torneos se ignoran, así que puedes dejar ahí un archivo aparcado sin que se cargue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Quest_files_and_defaultsVersion&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Archivos de misiones y defaultsVersion ==&lt;br /&gt;
{{Config|General Server Config|gameplay.autoUpdateQuests}}&lt;br /&gt;
Los archivos por defecto de misiones, sagas y misiones secundarias en &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/&amp;lt;/code&amp;gt; llevan un campo &amp;lt;code&amp;gt;&amp;quot;defaultsVersion&amp;quot;&amp;lt;/code&amp;gt; en lugar de &amp;lt;code&amp;gt;configVersion&amp;lt;/code&amp;gt;. Cuando una nueva versión de DragonMineZ trae valores por defecto cambiados y &amp;lt;code&amp;gt;autoUpdateQuests&amp;lt;/code&amp;gt; está activado, DragonMineZ les aplica una fusión de tres vías similar (contra &amp;lt;code&amp;gt;data/dragonminez/previousQuests/&amp;lt;/code&amp;gt; en el jar). Si tanto tú como la nueva versión cambiaron el mismo campo, &amp;#039;&amp;#039;&amp;#039;se conserva tu valor&amp;#039;&amp;#039;&amp;#039; y el conflicto se lista en &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/quest_update_report.txt&amp;lt;/code&amp;gt;. Antes de cambiar un archivo, DragonMineZ lo copia a &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/oldBackup/&amp;lt;/code&amp;gt;.&lt;br /&gt;
Consulta [[Special:MyLanguage/Custom Quests#Default file upgrades|Misiones personalizadas]] para ver cómo trata la fusión cada campo, y [[Special:MyLanguage/Reloading and Updating Changes|Recargar y actualizar cambios]] para ver cómo se informan las actualizaciones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Common_mistakes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Errores comunes ==&lt;br /&gt;
* No renombrar &amp;lt;code&amp;gt;raceName&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;groupName&amp;lt;/code&amp;gt; u otros campos tipo id de forma coherente entre el nombre de la carpeta y el contenido JSON. DragonMineZ usa ambos para muchas búsquedas.&lt;br /&gt;
* Copiar un archivo de forma o de raza y olvidarse de cambiar sus identificadores internos, de modo que una entrada sobrescribe a otra sin avisar.&lt;br /&gt;
* Editar un archivo con el servidor en marcha y esperar que se aplique en vivo. Consulta [[Special:MyLanguage/Reloading and Updating Changes|Recargar y actualizar cambios]] para saber qué necesita una recarga y qué necesita un reinicio.&lt;br /&gt;
* Editar la copia de &amp;lt;code&amp;gt;oldBackup/&amp;lt;/code&amp;gt; creyendo que sigue activa. No lo está: DragonMineZ nunca la vuelve a leer.&lt;br /&gt;
* Errores de escritura en los nombres de las claves. La clave se ignora (y se informa), así que tu valor nunca se aplica.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Checking_a_field_against_the_code&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Comprobar un campo con el código ==&lt;br /&gt;
Las páginas de modding de esta wiki nombran la clase de Java que hay detrás de cada archivo (por ejemplo &amp;lt;code&amp;gt;RaceCharacterConfig.java&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FormConfig.java&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;GeneralServerConfig.java&amp;lt;/code&amp;gt; en &amp;lt;code&amp;gt;com.dragonminez.common.config&amp;lt;/code&amp;gt;). Si tienes dudas sobre el nombre o el tipo de un campo, esa clase es la fuente de verdad: la wiki la describe, pero el código la define. La referencia más fácil es un archivo recién generado: inicia una instancia de prueba y copia el archivo que escribe DragonMineZ.&lt;br /&gt;
&lt;br /&gt;
{{Navbox Modding}}&lt;/div&gt;</summary>
		<author><name>Shokkoh</name></author>
	</entry>
</feed>