<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Developer_Scope_and_Prerequisites%2Fen</id>
	<title>Developer Scope and Prerequisites/en - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Developer_Scope_and_Prerequisites%2Fen"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Developer_Scope_and_Prerequisites/en&amp;action=history"/>
	<updated>2026-10-25T18:43:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.dragonminez.com/index.php?title=Developer_Scope_and_Prerequisites/en&amp;diff=9372&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Developer_Scope_and_Prerequisites/en&amp;diff=9372&amp;oldid=prev"/>
		<updated>2026-10-13T05:59:38Z</updated>

		<summary type="html">&lt;p&gt;Updating to match new version of source page&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;Developer Scope and Prerequisites&amp;#039;&amp;#039;&amp;#039; explains who the modding and add-on pages are written for, the two ways to extend DragonMineZ, and the folders and tools you need before you start. Run DragonMineZ once first, so that its config files exist.&lt;br /&gt;
&lt;br /&gt;
== Intended audience ==&lt;br /&gt;
The modding and add-on pages are written for:&lt;br /&gt;
* People who can edit JSON and resource pack assets.&lt;br /&gt;
* People who can run Minecraft Forge development environments.&lt;br /&gt;
* People who want to contribute DMZ-compatible content.&lt;br /&gt;
They don&amp;#039;t cover general player walkthroughs, lore or survival progression. For those, start with the [[Special:MyLanguage/Beginner&amp;#039;s Guide|Beginner&amp;#039;s Guide]].&lt;br /&gt;
&lt;br /&gt;
== Two ways to extend DMZ ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Approach !! What you need !! Where to start&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Data add-ons&amp;#039;&amp;#039;&amp;#039; (configs, races, forms, quests, wishes, Dragon Ball packs, resource packs) || A text editor and a DMZ instance || This page, then the JSON pages linked below and in [[Special:MyLanguage/Modding|Modding]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Code add-ons&amp;#039;&amp;#039;&amp;#039; (your own Forge mod that hooks DMZ events and APIs) || A Forge 1.20.1 development environment || {{L|Add-on Getting Started}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Baseline setup ==&lt;br /&gt;
{{See also|Configuration|General Server Config|General User Config|Entities Config}}&lt;br /&gt;
# Run DMZ once so the config files are generated.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;config/dragonminez&amp;lt;/code&amp;gt; as the config root of your local development instances.&lt;br /&gt;
# Race configuration lives in &amp;lt;code&amp;gt;config/dragonminez/races/&amp;lt;race_name&amp;gt;/&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;character.json&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;stats.json&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;forms/&amp;lt;/code&amp;gt; folder). See [[Special:MyLanguage/Custom Races|Custom Races]].&lt;br /&gt;
# Shared stack forms live in &amp;lt;code&amp;gt;config/dragonminez/forms/&amp;lt;/code&amp;gt;. See [[Special:MyLanguage/Custom Forms|Custom Forms]].&lt;br /&gt;
# Entity attributes are configured in &amp;lt;code&amp;gt;config/dragonminez/entities.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
# General server settings are in &amp;lt;code&amp;gt;config/dragonminez/general-server.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
# General user (client) settings are in &amp;lt;code&amp;gt;config/dragonminez/general-user.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Combat, training, skills and ki techniques are configured in &amp;lt;code&amp;gt;config/dragonminez/combat.json&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;config/dragonminez/training.json&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;config/dragonminez/skills.json&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;config/dragonminez/techniques.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Raid and tournament definitions live in &amp;lt;code&amp;gt;config/dragonminez/raids/&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;config/dragonminez/tournaments/&amp;lt;/code&amp;gt;, one JSON file per raid or tournament; extra files you add are loaded too.&lt;br /&gt;
# The client-only HUD layout, written by the in-game HUD editor, is &amp;lt;code&amp;gt;config/dragonminez/hud_layout.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Every config file except &amp;lt;code&amp;gt;general-user.json&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;hud_layout.json&amp;lt;/code&amp;gt; is sent from the server to each client on login, so clients always use the server&amp;#039;s values.&lt;br /&gt;
&lt;br /&gt;
Outdated or broken config files are not silently thrown away: DMZ moves the old file into &amp;lt;code&amp;gt;config/dragonminez/oldBackup/&amp;lt;/code&amp;gt; (same relative path) and merges your edits into the new defaults. See [[Special:MyLanguage/How to JSON|How to JSON]] and [[Special:MyLanguage/Reloading and Updating Changes|Reloading and Updating Changes]].&lt;br /&gt;
&lt;br /&gt;
=== World save data ===&lt;br /&gt;
Some systems live inside the world folder instead of &amp;lt;code&amp;gt;config/&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Folder !! Contents !! Page&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/sagas/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;quests/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sidequests/&amp;lt;/code&amp;gt; || Story sagas, saga quests and side quests || {{L|Custom Quests}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/wishes/&amp;lt;/code&amp;gt; || Per-world wish overrides (one file per dragon) || {{L|Custom Wishes}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/dialogues/&amp;lt;/code&amp;gt; || NPC dialogue files || {{L|NPC Dialogue}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/npcs/&amp;lt;/code&amp;gt; || NPC placements (&amp;lt;code&amp;gt;placements.json&amp;lt;/code&amp;gt;) and alignment rules (&amp;lt;code&amp;gt;alignment_rules.json&amp;lt;/code&amp;gt;) || {{L|NPC Placement and Alignment}}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;world&amp;gt;/dragonminez/playerdata_json/&amp;lt;/code&amp;gt; || Player data when the &amp;lt;code&amp;gt;JSON&amp;lt;/code&amp;gt; storage backend is selected || {{L|General Server Config}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dragon Ball add-on packs (folders or &amp;lt;code&amp;gt;.zip&amp;lt;/code&amp;gt; files) go in the &amp;lt;code&amp;gt;dragonballs&amp;lt;/code&amp;gt; folder of the game directory; see [[Special:MyLanguage/Custom Wishes|Custom Wishes]]. Not sure where a folder is on your machine? See [[Special:MyLanguage/Locating Specific Folders|Locating Specific Folders]].&lt;br /&gt;
&lt;br /&gt;
== Reload workflow ==&lt;br /&gt;
After changing JSON config files, you can reload them in game with &amp;lt;code&amp;gt;/dmzreload [all|config|story|wishes]&amp;lt;/code&amp;gt; (no argument means &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;). The command&amp;#039;s source is &amp;lt;code&amp;gt;src/main/java/com/dragonminez/server/commands/ReloadCommand.java&amp;lt;/code&amp;gt;. See [[Special:MyLanguage/Commands|Commands]] and [[Special:MyLanguage/Reloading and Updating Changes|Reloading and Updating Changes]] for what each section reloads.&lt;br /&gt;
&lt;br /&gt;
Resource pack changes (models and textures) normally need a resource reload or a restart.&lt;br /&gt;
&lt;br /&gt;
=== Finding JSON mistakes ===&lt;br /&gt;
{{Config|General Server Config|developer.reportJsonProblemsInChat}}&lt;br /&gt;
When a config, quest or wish file fails to load, DMZ records the file, the line and column, and the JSON path of the problem. The report is printed to the server log and shown in chat to players when they log in. Server owners can turn the chat message off with &amp;lt;code&amp;gt;developer.reportJsonProblemsInChat = false&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;general-server.json&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
All in-game text uses translation keys. The English source file is &amp;lt;code&amp;gt;assets/dragonminez/lang/en_us.json&amp;lt;/code&amp;gt;; community translations are managed on Crowdin (see [[Special:MyLanguage/Contributing|Contributing]]).&lt;br /&gt;
&lt;br /&gt;
DragonMineZ automatically downloads the latest Crowdin translation for the game language you selected (every language except &amp;lt;code&amp;gt;en_us&amp;lt;/code&amp;gt;), so translation fixes reach players without a mod update. To turn this off (for example, to test your own language file), start the game with the JVM argument &amp;lt;code&amp;gt;-Ddmz.crowdin.enabled=false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When a translation key is missing, some DMZ screens fall back to a readable version of the id (for example, quest texts and form names are turned into title-cased words). For proper names and other languages, ship your own keys in a resource pack under &amp;lt;code&amp;gt;assets/&amp;lt;namespace&amp;gt;/lang/&amp;lt;locale&amp;gt;.json&amp;lt;/code&amp;gt; and use those keys in your JSON (for example, a form&amp;#039;s name uses &amp;lt;code&amp;gt;race.dragonminez.&amp;lt;race&amp;gt;.form.&amp;lt;group&amp;gt;.&amp;lt;form&amp;gt;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{{Navbox Add-ons}}&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
</feed>