This is an old revision of the document!


Get Started With Architectury

To get started, download templates from Architectury Templates and import it as a Gradle project.

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.

I don't want Architectury API...

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}"
}

I want Yarn instead...

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"
    }
}

...ParchmentMC?

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.