<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dragonminez.com/pt/wiki/How_to_JSON?action=history&amp;feed=atom</id>
	<title>How to JSON/pt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/pt/wiki/How_to_JSON?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/pt/wiki/How_to_JSON?action=history"/>
	<updated>2026-10-25T20:32:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.dragonminez.com/pt/wiki/How_to_JSON?diff=37047&amp;oldid=prev</id>
		<title>Shokkoh: Translation sync from dragonminez-wiki repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/pt/wiki/How_to_JSON?diff=37047&amp;oldid=prev"/>
		<updated>2026-10-14T06:47:52Z</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;Como usar JSON&amp;#039;&amp;#039;&amp;#039; explica as regras que todos os arquivos de dados do DragonMineZ seguem. Você não precisa saber Java para configurar o DragonMineZ, mas seus arquivos precisam ser JSON válido, e o DragonMineZ atualiza seus arquivos entre versões de jeitos que você deve conhecer antes de começar 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;
== Regras básicas ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;JSON padrão.&amp;#039;&amp;#039;&amp;#039; Sem vírgulas sobrando no final; chaves e textos vão entre aspas duplas. O parser da configuração tolera comentários &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; e ignora sem aviso as chaves que começam com &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, mas o DragonMineZ os descarta sempre que reescreve um arquivo (uma atualização de versão, &amp;lt;code&amp;gt;/dmzconfig&amp;lt;/code&amp;gt; ou o editor de configuração do jogo). Deixe anotações longas fora do arquivo.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Codificação UTF-8.&amp;#039;&amp;#039;&amp;#039; A configuração é lida e gravada em UTF-8 (&amp;lt;code&amp;gt;ConfigLoader.java&amp;lt;/code&amp;gt;). Não salve arquivos em UTF-16 nem com uma marca de ordem de bytes (BOM) que seu editor pode adicionar sem avisar.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Use um editor de verdade.&amp;#039;&amp;#039;&amp;#039; VS Code, Notepad++ ou IntelliJ detectam colchetes e aspas sem par antes que cheguem ao servidor. O Bloco de Notas funciona, mas não avisa sobre erros de sintaxe.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Valide antes de publicar.&amp;#039;&amp;#039;&amp;#039; Uma única vírgula fora do lugar faz o arquivo inteiro falhar na leitura. Cole o arquivo em qualquer validador de JSON (ou use o linter embutido do seu editor) antes de reiniciar ou recarregar um servidor em funcionamento.&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;
== Quando o DragonMineZ não consegue ler seu arquivo ==&lt;br /&gt;
O DragonMineZ nunca sobrescreve um arquivo que não consegue ler. Se um arquivo de configuração tiver um erro de sintaxe:&lt;br /&gt;
* O 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;, com a linha, a coluna e o caminho do erro.&lt;br /&gt;
* Durante essa sessão, o jogo usa os valores padrão incluídos desse arquivo. Seu arquivo fica exatamente como você deixou.&lt;br /&gt;
* Corrija a sintaxe e execute &amp;lt;code&amp;gt;/dmzreload&amp;lt;/code&amp;gt; (ou reinicie) para aplicar seus valores.&lt;br /&gt;
O mesmo vale para os outros arquivos JSON que o DragonMineZ carrega: um arquivo malformado de forma personalizada, incursão, torneio, missão, saga, missão secundária ou desejo é &amp;#039;&amp;#039;&amp;#039;ignorado&amp;#039;&amp;#039;&amp;#039; (não é regenerado) e reportado.&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;
=== O relatório de carregamento de JSON ===&lt;br /&gt;
{{Config|General Server Config|developer.reportJsonProblemsInChat}}&lt;br /&gt;
Todos esses problemas são reunidos em um único relatório. Com &amp;lt;code&amp;gt;developer.reportJsonProblemsInChat&amp;lt;/code&amp;gt; ativado em &amp;lt;code&amp;gt;general-server.json&amp;lt;/code&amp;gt; (o padrão), cada jogador vê um breve resumo no chat ao entrar: os arquivos que falharam (&amp;lt;code&amp;gt;[!]&amp;lt;/code&amp;gt;) e os arquivos padrão que foram atualizados automaticamente (&amp;lt;code&amp;gt;[~]&amp;lt;/code&amp;gt;). O relatório também aponta &amp;#039;&amp;#039;&amp;#039;chaves desconhecidas&amp;#039;&amp;#039;&amp;#039;, geralmente um erro de digitação como &amp;lt;code&amp;gt;&amp;quot;tpGainMultipler&amp;quot;&amp;lt;/code&amp;gt;: a chave é ignorada e o resto do arquivo carrega normalmente. O log do servidor tem todos os detalhes.&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;
== Versões de configuração e atualizações automáticas ==&lt;br /&gt;
Todo arquivo de configuração (&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;, o &amp;lt;code&amp;gt;character.json&amp;lt;/code&amp;gt; e o &amp;lt;code&amp;gt;stats.json&amp;lt;/code&amp;gt; de uma raça, as formas, &amp;lt;code&amp;gt;entities.json&amp;lt;/code&amp;gt;, incursões, torneios etc.) tem um texto &amp;lt;code&amp;gt;configVersion&amp;lt;/code&amp;gt; no formato &amp;lt;code&amp;gt;X.Y.Z&amp;lt;/code&amp;gt;, por exemplo &amp;lt;code&amp;gt;&amp;quot;2.2.0&amp;quot;&amp;lt;/code&amp;gt;. &amp;#039;&amp;#039;&amp;#039;Não o edite à mão.&amp;#039;&amp;#039;&amp;#039; O DragonMineZ o compara com a versão de configuração do próprio mod sempre que carrega o arquivo:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Versão atual:&amp;#039;&amp;#039;&amp;#039; o arquivo é carregado como está.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Versão mais antiga ou ausente:&amp;#039;&amp;#039;&amp;#039; o DragonMineZ atualiza o arquivo. Qualquer valor que não esteja no formato &amp;lt;code&amp;gt;X.Y.Z&amp;lt;/code&amp;gt;, como o antigo valor numérico &amp;lt;code&amp;gt;21.0&amp;lt;/code&amp;gt;, conta como desatualizado.&lt;br /&gt;
Uma atualização segue estes passos:&lt;br /&gt;
# O arquivo antigo é &amp;#039;&amp;#039;&amp;#039;movido&amp;#039;&amp;#039;&amp;#039; para &amp;lt;code&amp;gt;config/dragonminez/oldBackup/&amp;lt;same relative path&amp;gt;&amp;lt;/code&amp;gt; (por exemplo &amp;lt;code&amp;gt;oldBackup/races/saiyan/forms/superforms.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Um arquivo novo é gerado a partir dos novos valores padrão.&lt;br /&gt;
# Seus valores antigos são incorporados de volta com uma &amp;#039;&amp;#039;&amp;#039;mesclagem de três vias&amp;#039;&amp;#039;&amp;#039; contra os valores padrão da versão anterior, que vêm dentro do jar do mod (&amp;lt;code&amp;gt;data/dragonminez/previousConfigs/&amp;lt;/code&amp;gt;):&lt;br /&gt;
#* um valor que você nunca alterou (ainda igual ao padrão da versão anterior) recebe o &amp;#039;&amp;#039;&amp;#039;novo&amp;#039;&amp;#039;&amp;#039; padrão, então as mudanças de balanceamento chegam até você;&lt;br /&gt;
#* um valor que você alterou é &amp;#039;&amp;#039;&amp;#039;mantido&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
#* chaves adicionadas na nova versão entram com seu valor padrão, e as entradas que você adicionou a mapas (por exemplo, ids de entidades extras) são mantidas;&lt;br /&gt;
#* se não houver cópia da versão anterior de um arquivo (raças personalizadas, arquivos adicionados recentemente), todo valor diferente do novo padrão é mantido.&lt;br /&gt;
# O log mostra &amp;lt;code&amp;gt;Regenerating &amp;lt;file&amp;gt;. Reason: Outdated version (...)&amp;lt;/code&amp;gt; e quantos dos seus valores foram preservados.&lt;br /&gt;
Valores que a mesclagem não consegue transferir (por exemplo, um valor do tipo errado, como um texto onde se espera um número) voltam ao padrão. Depois de uma atualização, compare o arquivo novo com a cópia em &amp;lt;code&amp;gt;oldBackup/&amp;lt;/code&amp;gt; se algo parecer estranho.&lt;br /&gt;
&lt;br /&gt;
{{Note|type=warning|title=Não mexa no configVersion|text=Alterar o &amp;lt;code&amp;gt;configVersion&amp;lt;/code&amp;gt; à mão ou força uma atualização indesejada ou faz o DragonMineZ tratar um arquivo desatualizado como atual, e aí as chaves novas e os ajustes de balanceamento não são incorporados.}}&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;
== Arquivos personalizados e definidos pelo usuário ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Raças personalizadas&amp;#039;&amp;#039;&amp;#039; (qualquer pasta em &amp;lt;code&amp;gt;config/dragonminez/races/&amp;lt;/code&amp;gt; que não seja uma raça padrão): passam pela mesma verificação de versão; seu &amp;lt;code&amp;gt;character.json&amp;lt;/code&amp;gt; e seu &amp;lt;code&amp;gt;stats.json&amp;lt;/code&amp;gt; são atualizados com a mesclagem acima, mantendo todos os valores que você definiu. O DragonMineZ nunca gera formas padrão para elas.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Arquivos de formas personalizadas&amp;#039;&amp;#039;&amp;#039; (grupos de formas que não são padrão do DragonMineZ, em &amp;lt;code&amp;gt;races/&amp;lt;race&amp;gt;/forms/&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;forms/&amp;lt;/code&amp;gt;): mantêm seu conteúdo; quando a versão está desatualizada, uma cópia é movida para &amp;lt;code&amp;gt;oldBackup/&amp;lt;/code&amp;gt; e o arquivo é salvo de novo com a versão atual.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Arquivos extras de incursões e torneios&amp;#039;&amp;#039;&amp;#039; que você adicionar: são carregados como estão.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Missões, sagas e missões secundárias personalizadas&amp;#039;&amp;#039;&amp;#039; que você criar no save do mundo: nunca são modificadas. Só os arquivos padrão gerados pelo DragonMineZ são atualizados (veja abaixo).&lt;br /&gt;
* Arquivos cujo nome começa com &amp;lt;code&amp;gt;old_&amp;lt;/code&amp;gt; nas pastas de formas, incursões e torneios são ignorados, então você pode deixar um arquivo guardado ali sem que ele seja carregado.&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;
== Arquivos de missões e defaultsVersion ==&lt;br /&gt;
{{Config|General Server Config|gameplay.autoUpdateQuests}}&lt;br /&gt;
Os arquivos padrão de missões, sagas e missões secundárias em &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/&amp;lt;/code&amp;gt; têm um campo &amp;lt;code&amp;gt;&amp;quot;defaultsVersion&amp;quot;&amp;lt;/code&amp;gt; em vez de &amp;lt;code&amp;gt;configVersion&amp;lt;/code&amp;gt;. Quando uma nova versão do DragonMineZ traz padrões alterados e &amp;lt;code&amp;gt;autoUpdateQuests&amp;lt;/code&amp;gt; está ativado, o DragonMineZ aplica neles uma mesclagem de três vias parecida (contra &amp;lt;code&amp;gt;data/dragonminez/previousQuests/&amp;lt;/code&amp;gt; no jar). Se você e a nova versão alteraram o mesmo campo, &amp;#039;&amp;#039;&amp;#039;seu valor é mantido&amp;#039;&amp;#039;&amp;#039; e o conflito é listado em &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/quest_update_report.txt&amp;lt;/code&amp;gt;. Antes de alterar um arquivo, o DragonMineZ o copia para &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/oldBackup/&amp;lt;/code&amp;gt;.&lt;br /&gt;
Veja [[Special:MyLanguage/Custom Quests#Default file upgrades|Missões personalizadas]] para saber como a mesclagem trata cada campo, e [[Special:MyLanguage/Reloading and Updating Changes|Recarregar e atualizar mudanças]] para saber como as atualizações são reportadas.&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;
== Erros comuns ==&lt;br /&gt;
* Não renomear &amp;lt;code&amp;gt;raceName&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;groupName&amp;lt;/code&amp;gt; ou outros campos do tipo id de forma consistente entre o nome da pasta e o conteúdo JSON. O DragonMineZ usa os dois em muitas buscas.&lt;br /&gt;
* Copiar um arquivo de forma ou de raça e esquecer de mudar seus identificadores internos, fazendo uma entrada sobrescrever outra sem aviso.&lt;br /&gt;
* Editar um arquivo com o servidor rodando e esperar que a mudança valha na hora. Veja [[Special:MyLanguage/Reloading and Updating Changes|Recarregar e atualizar mudanças]] para saber o que precisa de recarga e o que precisa de reinicialização.&lt;br /&gt;
* Editar a cópia em &amp;lt;code&amp;gt;oldBackup/&amp;lt;/code&amp;gt; achando que ela ainda está ativa. Não está: o DragonMineZ nunca a lê de volta.&lt;br /&gt;
* Erros de digitação nos nomes das chaves. A chave é ignorada (e reportada), então seu valor nunca é aplicado.&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;
== Conferir um campo no código ==&lt;br /&gt;
As páginas de modding desta wiki indicam a classe Java por trás de cada arquivo (por exemplo &amp;lt;code&amp;gt;RaceCharacterConfig.java&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FormConfig.java&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;GeneralServerConfig.java&amp;lt;/code&amp;gt; em &amp;lt;code&amp;gt;com.dragonminez.common.config&amp;lt;/code&amp;gt;). Na dúvida sobre o nome ou o tipo de um campo, essa classe é a fonte da verdade: a wiki a descreve, mas o código a define. A referência mais fácil é um arquivo recém-gerado: inicie uma instância de teste e copie o arquivo que o DragonMineZ grava.&lt;br /&gt;
&lt;br /&gt;
{{Navbox Modding}}&lt;/div&gt;</summary>
		<author><name>Shokkoh</name></author>
	</entry>
</feed>