Skip to content

Set up a Fabric, Quilt or Legacy Fabric mod

Checked against Linen’s templates on 2 November 2026. Every value on this page is copied from the template files themselves: gradle.properties, build.gradle, settings.gradle and the Gradle wrapper.

What New mod writes for each Minecraft version:

Minecraft Java Gradle Gradle runs on Gradle plugin Names in code
1.14.4 – 1.16.5 8 9.7.1 Java 25 net.fabricmc.fabric-loom-remap 1.18-SNAPSHOT Mojang names (default) or Yarn
1.17 – 1.17.1 16 9.7.1 Java 25 net.fabricmc.fabric-loom-remap 1.18-SNAPSHOT Mojang names (default) or Yarn
1.18 – 1.20.4 17 9.7.1 Java 25 net.fabricmc.fabric-loom-remap 1.18-SNAPSHOT Mojang names (default) or Yarn
1.20.5 – 1.21.11 21 9.7.1 Java 25 net.fabricmc.fabric-loom-remap 1.18-SNAPSHOT Mojang names (default) or Yarn
26.1 and newer 25 9.7.1 Java 25 net.fabricmc.fabric-loom 1.18-SNAPSHOT Mojang’s names, built into the game
  • Fabric Loader 0.18.0 or newer, and the Fabric API build for your Minecraft version.
  • “Java” is what your mod compiles for (options.release and the Java toolchain). “Gradle runs on” is the Java that runs Gradle itself.
  • Mojang names come from mappings loom.officialMojangMappings(); Yarn from mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2". On 26.1 and newer there is no mappings line, and the dependencies use implementation instead of modImplementation.
  • Every project gets a mixin config (<modid>.mixins.json) and a class tweaker (<modid>.classtweaker), named in both build.gradle (loom { accessWidenerPath = ... }) and fabric.mod.json ("accessWidener"). Its first line is classTweaker v1 named before 26.1 and classTweaker v1 official from 26.1.

Linen also keeps one template per version with every number fixed. These are the exact versions:

Minecraft Fabric Loader Fabric API Gradle plugin Java Gradle Names in code
1.20.1 0.19.5 0.92.12+1.20.1 net.fabricmc.fabric-loom-remap 1.18.2 17 9.7.1 Mojang names + Parchment 2023.09.03
1.21.1 0.19.5 0.116.17+1.21.1 net.fabricmc.fabric-loom-remap 1.18.2 21 9.7.1 Mojang names + Parchment 2024.11.17
1.21.11 0.19.5 0.141.6+1.21.11 net.fabricmc.fabric-loom-remap 1.18.2 21 9.7.1 Mojang names + Parchment 2025.12.20
26.1.2 0.19.5 0.155.3+26.1.2 net.fabricmc.fabric-loom 1.18.2 25 9.7.1 Mojang’s names, built in
26.2 0.19.5 0.161.0+26.2 net.fabricmc.fabric-loom 1.18.2 25 9.7.1 Mojang’s names, built in
26.3 0.19.5 0.162.0+26.3 net.fabricmc.fabric-loom 1.18.2 25 9.7.1 Mojang’s names, built in

Parchment is layered on Mojang’s names in build.gradle:

mappings loom.layered() {
officialMojangMappings()
parchment("org.parchmentmc.data:parchment-${project.parchment_minecraft_version}:${project.parchment_mappings_version}@zip")
}
Task Command
Build the mod jar (in build/libs/) ./gradlew build
Start the game with your mod ./gradlew runClient
Start a test server ./gradlew runServer
Run data generation (pinned templates only) ./gradlew runDatagen

The pinned templates set up data generation with fabricApi { configureDataGeneration { ... } } and write its output to src/generated/resources. On Windows, use gradlew.bat or .\gradlew.

Fabric’s own guide: Creating a Project. Current versions: fabricmc.net/develop.

New mod offers Quilt for the versions that have an official Quilt template:

Minecraft Java Gradle Gradle runs on Gradle plugin org.quiltmc.loom Names in code
1.18.2 17 7.4.2 Java 17 0.12.+ Quilt Mappings (default) or Mojang names
1.19.2 17 7.6 Java 17 1.0.+ Quilt Mappings (default) or Mojang names
1.19.4 17 8.1.1 Java 17 1.2.+ Quilt Mappings (default) or Mojang names
1.20.1 17 8.4 Java 17 1.4.1 Quilt Mappings (default) or Mojang names
1.20.2 17 8.4 Java 17 1.4.1 Quilt Mappings (default) or Mojang names
1.20.4 17 8.8 Java 17 1.6.5 Quilt Mappings (default) or Mojang names
1.20.6 21 8.9 Java 21 1.7.4 Quilt Mappings (default) or Mojang names

Quilt Loader 0.17.0 or newer (0.26.3 or newer on 1.20.6), with Quilted Fabric API. The access widener is <modid>.accesswidener, first line accessWidener v2 named. Commands: ./gradlew build, ./gradlew runClient, ./gradlew runServer.

Minecraft Java Gradle Gradle runs on Gradle plugins Names in code
1.12.2, 1.13.2 8 9.4.0 Java 21 net.fabricmc.fabric-loom-remap and legacy-looming, both 1.16-SNAPSHOT Legacy Yarn

Legacy Fabric Loader 0.16.0 or newer. On 1.12.2 the template adds Legacy Fabric API 1.13.5+1.12.2; 1.13.2 has no Legacy Fabric API, so its example registers straight into the game’s registries. The access widener’s first line is accessWidener v2 named. Commands: ./gradlew build, ./gradlew runClient, ./gradlew runServer. More: legacyfabric.net.

  • New mod writes these projects. Pick a loader and a version; Ctrl or Shift and a click adds more, so one mod can target several versions or loaders at once.
  • Linen installs the Java version the project needs.
  • Play the game runs the dev client with the Game Log; if it crashes, Crash Doctor says why.
  • Linen Check reads registrations, models, loot tables, names, mixins and the build, and names the file and the fix.
  • Hovers show names in Mojang, Yarn, intermediary and Parchment, where the version has them.