This is an old revision of the document!
To get started, you can either:
In any case, you will want to change every reference of examplemod to your mod, this includes gradle.properies
, fabric.mod.json
, META-INF/mods.toml
, quilt.mod.json
(If Applicable), and relocate the classes. You will also need to change the access widener file name in common/build.gradle
.
Remove lines related to Architectury API in each of the build.gradle
in common/
, fabric/
, and forge/
. They should look at this:
dependencies { // We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies // Do NOT use other classes from fabric loader modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" // Remove the next line if you don't want to depend on the API - modApi "dev.architectury:architectury:${rootProject.architectury_version}" }
Replace the line for the default Mojang Mappings in the root build.gradle
, with one that references Yarn instead:
subprojects { apply plugin: "dev.architectury.loom" loom { silentMojangMappingsLicense() } dependencies { minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - // The following line declares the mojmap mappings, you may use other mappings as well - mappings loom.officialMojangMappings() // The following line declares the yarn mappings you may select this one as well. - // mappings "net.fabricmc:yarn:@YARN_MAPPINGS@:v2" + mappings "net.fabricmc:yarn:@YARN_MAPPINGS@:v2" } }
Basically, follow their instructions according to Fabric/Loom, with the exception that the Parchment repository block is placed in allprojects
…
allprojects { apply plugin: "java" apply plugin: "architectury-plugin" apply plugin: "maven-publish" archivesBaseName = rootProject.archives_base_name version = rootProject.mod_version group = rootProject.maven_group repositories { - // Add repositories to retrieve artifacts from in here. - // You should only use this when depending on other mods because - // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. - // See https://docs.gradle.org/current/userguide/declaring_repositories.html - // for more information about repositories. + maven { + name = 'ParchmentMC' + url = 'https://maven.parchmentmc.org' + } }
… and the mappings dependency in subprojects
:
subprojects { apply plugin: "dev.architectury.loom" loom { silentMojangMappingsLicense() } dependencies { minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" // The following line declares the mojmap mappings, you may use other mappings as well - mappings loom.officialMojangMappings() + // Use mojmap with ParchmentMC + mappings loom.layered() { + officialMojangMappings() + parchment("org.parchmentmc.data:parchment-${rootProject.minecraft_version}:@PARCHMENTMC_MAPPINGS_YY.MM.DD@zip") + } - // The following line declares the yarn mappings you may select this one as well. - // mappings "net.fabricmc:yarn:@YARN_MAPPINGS@:v2" } }
This is all performed in the root build.gradle script.
Since the upstream modloaders and API's are regularly updating, it may be ideal to generate an up-to-date template:
runLocal
task, e.g. gradlew runLocal
, import into IntelliJ (under “Tasks > other > runLocal”), etc.build/templates
.Be aware of different flavours on Releases, e.g. fabric-quilt is not recommended.
The generated templates will be automagically versioned with the most recent release of Architectury API, Forge, Fabric, Quilt, etc. libraries/loaders where applicable.
You can learn about: