Contributing
Contributions are welcome. The canonical contributor guide is the CONTRIBUTING.md in the code repository, which covers the build, the code conventions, and how a change gets reviewed. This page is a short pointer to it.
How to help
Section titled “How to help”- Build the mod and try a change.
./gradlew buildcompiles it and runs the checks. Then run a dev client to test the change in game. - File an issue for a bug or a request. The issue templates ask for the details a report needs to be actionable.
- Open a pull request once the build passes. Keep it focused on one change and base it on the
devbranch.
Translate the mod
Section titled “Translate the mod”The mod ships text in 33 of Minecraft’s languages, and it is shown in whichever one your game is set to. The language files live in the code repository under common/src/main/resources/assets/wdl/lang/, one <locale>.json per language, with en_us.json as the source of truth for which keys exist and what order they come in.
To report text that is wrong, missing, or out of date in your language, open an issue with the Translation issue template. Someone can apply the change for you.
To make the change yourself, open a pull request editing the matching <locale>.json. Copy en_us.json to start a language the mod does not have yet. Keep every key en_us.json has, in the same order, and keep the format placeholders (%s, %1$s, and \n) intact, so that only the words around them change. Leave a key you have not translated equal to the English rather than deleting it, because Minecraft falls back to English for a key a language file does not have. The test suite checks the key set, the order, and the placeholders, so a submission that drops a key or breaks one fails the build. ./gradlew build runs that check before you submit.
That is what the build checks. It cannot check whether the words read like Minecraft, which is what a review turns on, so read Translation style before you start.
How the code is laid out
Section titled “How the code is laid out”The mod is three Gradle subprojects. common holds the shared, loader-independent code, which is most of the mod. fabric and neoforge are the thin per-loader entry points on the branches that ship them, and a branch that ships Forge keeps it in forge/, a separate Gradle build with its own wrapper. Inside common, the core package is Minecraft-free and compiles on Java 8, and the build fails if a change breaks either rule. The code repository has the rest.
Improve these docs
Section titled “Improve these docs”This site has its own documentation repository. If you spot a typo or something out of date, open an issue or a pull request there.
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.
These docs reflect the current release of Archive World Downloader.
Text on this site is licensed CC BY-SA 4.0.