<?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=Contributing</id>
	<title>Contributing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Contributing"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Contributing&amp;action=history"/>
	<updated>2026-10-25T23:36:54Z</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=Contributing&amp;diff=117&amp;oldid=prev</id>
		<title>Neb: Sync from dragonminez-wiki repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Contributing&amp;diff=117&amp;oldid=prev"/>
		<updated>2026-10-13T04:15:41Z</updated>

		<summary type="html">&lt;p&gt;Sync from dragonminez-wiki repository&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova página&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contributing&amp;#039;&amp;#039;&amp;#039; explains how to help DragonMineZ: reporting bugs, testing releases, suggesting features, improving documentation or working on the code. Whatever you want to do, the team is happy to collaborate with you. Please follow these guidelines so the process stays smooth for every contributor. If you want to donate to the project, see [[Special:MyLanguage/Contributing#Supporting the project on Patreon|Supporting the project on Patreon]].&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Getting started == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Read the Code of Conduct.&amp;#039;&amp;#039;&amp;#039; By contributing, you agree to uphold the [https://github.com/DragonMineZ/DragonMineZ/blob/main/.github/CODE_OF_CONDUCT.md Code of Conduct].&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Check the existing issues.&amp;#039;&amp;#039;&amp;#039; Look through the [https://github.com/orgs/DragonMineZ/projects/5 issues] to see if someone has already reported your concern or proposed your idea.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Fork the repository&amp;#039;&amp;#039;&amp;#039; and clone your fork to your local environment for testing and development (see below).&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Set up your environment&amp;#039;&amp;#039;&amp;#039; with the tools listed below.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
To clone your fork:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/your-username/DragonMineZ.git&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Make sure you have these tools installed:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* Java Development Kit (JDK) 17 (the build uses a Java 17 toolchain)&lt;br /&gt;
* Git&lt;br /&gt;
* An IDE with Gradle support (IntelliJ IDEA or Eclipse)&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
You don&amp;#039;t need to install Gradle or Forge yourself: the repository ships the Gradle wrapper (&amp;lt;code&amp;gt;gradlew&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;gradlew.bat&amp;lt;/code&amp;gt;), which downloads Gradle, Minecraft Forge (&amp;lt;code&amp;gt;1.20.1-47.4.10&amp;lt;/code&amp;gt;) and every dependency on the first build.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
If you are not forking the repository or creating an add-on, you can skip step 3. For add-on development, see [[Special:MyLanguage/Add-on Getting Started|Add-on Getting Started]] instead.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Building and running == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
Run these commands from the repository root (&amp;lt;code&amp;gt;./gradlew&amp;lt;/code&amp;gt; on Linux and macOS, &amp;lt;code&amp;gt;.\gradlew.bat&amp;lt;/code&amp;gt; on Windows):&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; Command&amp;lt;/translate&amp;gt; !! &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; What it does&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;./gradlew build&amp;lt;/code&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Full build. The shippable jar is &amp;lt;code&amp;gt;build/libs/dragonminez-&amp;lt;version&amp;gt;.jar&amp;lt;/code&amp;gt; (it bundles the database libraries); the &amp;lt;code&amp;gt;-slim&amp;lt;/code&amp;gt; jar is not meant to be shipped.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;./gradlew runClient&amp;lt;/code&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; Starts a development client (working directory &amp;lt;code&amp;gt;run/&amp;lt;/code&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;./gradlew runServer&amp;lt;/code&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; Starts a development dedicated server (working directory &amp;lt;code&amp;gt;run/&amp;lt;/code&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;./gradlew runData&amp;lt;/code&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; Runs data generation (working directory &amp;lt;code&amp;gt;run-data/&amp;lt;/code&amp;gt;) and writes to &amp;lt;code&amp;gt;src/generated/resources/&amp;lt;/code&amp;gt;. Run it after changing datagen providers, and review the generated diff.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
* There is &amp;#039;&amp;#039;&amp;#039;no automated test suite&amp;#039;&amp;#039;&amp;#039;. Validate your change with &amp;lt;code&amp;gt;build&amp;lt;/code&amp;gt; and, when it affects gameplay, by testing it in &amp;lt;code&amp;gt;runClient&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;runServer&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Client-only development mods (JEI runtime, shaders and so on) are only added to &amp;lt;code&amp;gt;runClient&amp;lt;/code&amp;gt;. Keep it that way, so they can&amp;#039;t leak into generated data or the dedicated server.&lt;br /&gt;
* Resource optimization (PackSquash) runs on CI and is off for local builds by default. Force it with &amp;lt;code&amp;gt;-PoptimizeResources=true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-PoptimizeResources=false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Translations == &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;src/main/resources/assets/dragonminez/lang/en_us.json&amp;lt;/code&amp;gt; is the source language file. Add an entry there for every new piece of text players can see, and keep existing keys stable.&lt;br /&gt;
* Other languages are translated by the community on Crowdin. The English file is uploaded to Crowdin automatically when it changes on &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Before opening a pull request, check that every language file is valid JSON with &amp;lt;code&amp;gt;scripts/check_lang.sh&amp;lt;/code&amp;gt; (it needs &amp;lt;code&amp;gt;jq&amp;lt;/code&amp;gt;).&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== How to contribute == &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Reporting bugs === &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
If you have found a bug, open a [https://github.com/DragonMineZ/DragonMineZ/issues/new?template=bug_report.yml bug report] and include as much detail as possible:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
* A clear description of the issue&lt;br /&gt;
* Steps to reproduce it&lt;br /&gt;
* Expected and actual results&lt;br /&gt;
* Screenshots, logs or crash reports, if any&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Game testing === &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
Anyone is free to test the public releases and share what they find with the team: bugs, exploits, balance issues, crashes or anything else that seems off. You don&amp;#039;t need to be a developer or open a pull request to help this way.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
* Test against &amp;#039;&amp;#039;&amp;#039;public releases only&amp;#039;&amp;#039;&amp;#039;. Do not test against unreleased or internal builds unless you have been given explicit access.&lt;br /&gt;
* Share your findings in a [https://github.com/DragonMineZ/DragonMineZ/issues/new?template=bug_report.yml bug report] or on Discord.&lt;br /&gt;
* If what you find is a &amp;#039;&amp;#039;&amp;#039;security vulnerability&amp;#039;&amp;#039;&amp;#039; (for example, something that could be exploited to harm other players or servers), follow the [[Special:MyLanguage/Security Policy|Security Policy]] instead of opening a public issue.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Suggesting features === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Have a great idea? Open a [https://github.com/DragonMineZ/DragonMineZ/issues/new?template=feature_request.yml feature request] and provide:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
* A clear and concise explanation of the feature&lt;br /&gt;
* Its potential benefits and impact&lt;br /&gt;
* Any alternatives or related concepts&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
You can also suggest features on the Discord server.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Submitting pull requests === &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1: Create a branch.&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; holds the current stable release line; the next version is developed on its own version branch (for example &amp;lt;code&amp;gt;v2.2&amp;lt;/code&amp;gt;). Base your branch on the one your change is meant for; if you are unsure, ask on Discord. Use a descriptive branch name:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b fix/short-description&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2: Make your changes.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
* Write clean and concise code.&lt;br /&gt;
* Test your changes locally to make sure they work as intended.&lt;br /&gt;
* Follow the project&amp;#039;s coding conventions and standards.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 3: Commit your changes&amp;#039;&amp;#039;&amp;#039; with a meaningful commit message:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Fix: Resolved issue with XYZ feature&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 4: Push your changes.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git push origin fix/short-description&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 5: Open a pull request.&amp;#039;&amp;#039;&amp;#039; Go to your fork on GitHub and submit a [https://github.com/DragonMineZ/DragonMineZ/pulls pull request].&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* Describe the changes and link the related issues.&lt;br /&gt;
* Be prepared to discuss and revise your code based on feedback.&lt;br /&gt;
* Every pull request is compiled automatically by the &amp;#039;&amp;#039;&amp;#039;Compile Check&amp;#039;&amp;#039;&amp;#039; workflow (&amp;lt;code&amp;gt;./gradlew build&amp;lt;/code&amp;gt;). If it fails, your pull request will not be merged. Workflow runs for first-time contributors may need a maintainer&amp;#039;s approval before they start.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Automated checks === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; Workflow&amp;lt;/translate&amp;gt; !! &amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; When it runs&amp;lt;/translate&amp;gt; !! &amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; What it does&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Compile Check || &amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; Every pull request, and pushes to any branch except &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; that touch code, resources or Gradle files&amp;lt;/translate&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt; Runs &amp;lt;code&amp;gt;./gradlew build&amp;lt;/code&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Java CI || &amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; Pull requests and pushes to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; that touch Java or &amp;lt;code&amp;gt;build.gradle.kts&amp;lt;/code&amp;gt;&amp;lt;/translate&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:46--&amp;gt; Runs &amp;lt;code&amp;gt;./gradlew build&amp;lt;/code&amp;gt; and submits the dependency graph&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Crowdin Check &amp;amp; Upload || &amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; Pushes to &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; that touch the lang folder, every 2 days, or manually&amp;lt;/translate&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; Validates the language files with &amp;lt;code&amp;gt;scripts/check_lang.sh&amp;lt;/code&amp;gt; and uploads &amp;lt;code&amp;gt;en_us.json&amp;lt;/code&amp;gt; to Crowdin&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CodeQL || &amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; Daily&amp;lt;/translate&amp;gt; || &amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; Security analysis of the Java code and the workflows&amp;lt;/translate&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
Releases are published to Modrinth and CurseForge from &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; by the maintainers&amp;#039; release workflows.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Contributor guidelines == &amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Coding standards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Use descriptive variable and method names.&lt;br /&gt;
#* Format code consistently (indentation, spacing and so on).&lt;br /&gt;
#* Write comments for complex logic.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Documentation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Update or add documentation for new or changed features.&lt;br /&gt;
#* Make sure this [[Special:MyLanguage/Main Page|wiki]] reflects major changes.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Testing&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Test thoroughly across the relevant scenarios, including a dedicated server (&amp;lt;code&amp;gt;runServer&amp;lt;/code&amp;gt;) when your change touches client classes, networking or server logic.&lt;br /&gt;
#* Fix any linting or compilation issues before submitting your pull request.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Compatibility&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Many systems read JSON that players, server owners and add-on authors edit (configs, quests, wishes, Dragon Ball packs). Don&amp;#039;t rename or remove config keys, JSON fields, NBT save keys or registry names without discussing it first: older worlds and configs must still load.&lt;br /&gt;
#* Network packets are identified by registration order: add new packets at the end of &amp;lt;code&amp;gt;NetworkHandler.register()&amp;lt;/code&amp;gt;, never in the middle.&lt;br /&gt;
#* Validate everything a client sends on the server; never trust the client for stats, unlocks, quests, wishes or progression.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Project docs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* &amp;lt;code&amp;gt;CLAUDE.md&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;AI/&amp;lt;/code&amp;gt; folder (&amp;lt;code&amp;gt;Agents.md&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Context.md&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Memory.md&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;QuestAddonAPI.md&amp;lt;/code&amp;gt;) describe the architecture, data systems, build and release automation in detail. They are written for AI coding assistants but are just as useful for human contributors: read &amp;lt;code&amp;gt;AI/Context.md&amp;lt;/code&amp;gt; before larger changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Community == &amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
Join the [https://discord.gg/b5MgRNb3D7 Discord server] for real-time discussions.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Supporting the project on Patreon == &amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
DragonMineZ is a community-driven project, and your support helps the team keep improving it and delivering new features. Consider becoming a patron on [https://patreon.com/DragonMineZ Patreon] to support the development and maintenance of the mod.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
Patrons receive exclusive benefits, such as:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
* Early access to new features&lt;br /&gt;
* Behind-the-scenes updates&lt;br /&gt;
* Recognition in the community&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Every contribution, no matter how small, helps DragonMineZ keep improving.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Licensing == &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
By contributing, you agree that your contributions will be licensed under the same [https://github.com/DragonMineZ/DragonMineZ/blob/main/LICENSE license] that governs the project.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Thank you == &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
The team is excited to see your contributions and ideas. If you have any questions or need help, reach out to the team.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navbox Add-ons}}&lt;/div&gt;</summary>
		<author><name>Neb</name></author>
	</entry>
</feed>