====== 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]].