- Conventions and Terminology
- Development Tools
There are two main ways to make a new mod for Minecraft based on Fabric. You can either manually download fabric-example-mod and setup by yourself, or use automatic tools for you.
maven_groupto your preferred values.
You can generate the Minecraft sources for reference (since IDEA already has a decompiler this is only useful for searching through the code) :
genSources Gradle task. If your IDE doesn't have Gradle integration, then run the following command in the terminal:
gradlew genSources (or
./gradlew genSources on Linux/MacOS).
If you are using IntelliJ IDEA by JetBrains, please follow these steps:
Optional, but recommended: By default, IntelliJ delegates to Gradle to build the project. This is unnecessary for Fabric and causes longer build times and hotswapping related weirdness, among other problems. To make it use the builtin compiler:
Unfortunately, it is currently impossible to set an IDE-wide default for the 'Build and run using' and 'Run tests using' options, so these steps have to be repeated for every new project.
If you are using Eclipse and you would like to have the IDE run configs you can run
If you are using VSCode by Microsoft, please follow these instructions
You may also use GeneratorFabricMod by ExtraCrafTX, a convenient tool to automatically generate new fabric mods from template. Follow these steps:
If you are using IntelliJ IDEA you can use the MinecraftDev plugin. This plugin adds support for automatically generating Fabric projects as well as some mixin related features like inspections, generating accessors/shadow fields, and the Copy Mixin Target Reference context menu option. The plugin can be found in the IntelliJ plugin repository, so you can install it using IntelliJ's internal plugin browser by navigating to File → Settings → Plugins, then clicking the Marketplace tab and searching for Minecraft.
gradlew cleanloom. Running
gradlew --stopcan also help with a few rare issues.
Sometimes, when importing the Gradle project into an IDE, the assets might not download correctly. In this case, run the
downloadAssets task manually - either using IDE's built-in menu or by simply running