====== Get Started With Architectury ======
To get started, you can either:
- Download [[https://github.com/architectury/architectury-templates/releases/|Architectury Templates]] and import it as a Gradle project, or;
- Generate updated templates from the template generator, explained further on //(Updated Templates)//.
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''.
==== 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 [[https://parchmentmc.org/docs/getting-started|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.
====== Updated templates ======
Since the upstream modloaders and API's are regularly updating, it may be ideal to generate an up-to-date template:
- Download the [[https://github.com/architectury/architectury-templates/archive/refs/heads/master.zip|latest code as a ZIP]]
- Extract it and perform the ''runLocal'' task, e.g. ''gradlew runLocal'', import into IntelliJ (under "Tasks > other > runLocal"), etc.
- Check freshly generated templates under ''build/templates''.
Be aware of different flavours on [[https://github.com/architectury/architectury-templates/releases|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.
====== Next steps ======
You can learn about:
- Additional [[plugin:gradle_configurations|gradle configurations]] for e.g. using libraries or depending on other mods;
- The [[loom:introduction|Loom]] build plugin, used as a replacement to ForgeGradle;
- Get coding with the [[api:introduction|Architectury API]]; or
- [[:start|Head back to the top]].