Skip to content

Instantly share code, notes, and snippets.

@vercte
Created November 23, 2025 18:19
Show Gist options
  • Select an option

  • Save vercte/18283c19e497877c0623ddba204f114f to your computer and use it in GitHub Desktop.

Select an option

Save vercte/18283c19e497877c0623ddba204f114f to your computer and use it in GitHub Desktop.
plugins {
id 'fabric-loom' version "1.13-SNAPSHOT"
id 'maven-publish'
}
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
// Formats the mod version to include the Minecraft version and build number (if present)
// example: 1.0.0+1.18.2-100
String buildNumber = System.getenv("GITHUB_RUN_NUMBER")
version = "${mod_version}+${minecraft_version}" + (buildNumber != null ? "-${buildNumber}" : "")
repositories {
maven { url = "https://maven.shedaniel.me/" } // Cloth Config, REI
maven { url = "https://maven.parchmentmc.org" } // Parchment mappings
maven { url = "https://maven.quiltmc.org/repository/release" } // Quilt Mappings
maven { url = "https://api.modrinth.com/maven" } // LazyDFU
maven { url = "https://maven.terraformersmc.com/releases/" } // Mod Menu
maven { url = "https://mvn.devos.one/snapshots/" } // Create, Forge Tags, Milk Lib, Registrate
maven { url = "https://mvn.devos.one/releases/" } // porting lib lol
maven { url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/" } // Forge Config API Port
maven {
url = "https://maven.jamieswhiteshirt.com/libs-release"
content {
includeGroup "com.jamieswhiteshirt"
}
} // Reach Entity Attributes
maven { url = "https://maven.tterrag.com/" } // Flywheel
maven { url = "https://maven.ladysnake.org/releases" }
maven { url = "https://maven.createmod.net/" } // Flywheel also
maven {
url = 'https://maven.cafeteria.dev'
content {
includeGroup 'net.adriantodt.fabricmc'
}
}
maven { url = "https://maven.bawnorton.com/releases" } // Mixin Squared
}
dependencies {
minecraft("com.mojang:minecraft:${minecraft_version}")
mappings loom.officialMojangMappings()
modImplementation("net.fabricmc:fabric-loader:${fabric_loader_version}")
// dependencies
modImplementation("net.fabricmc.fabric-api:fabric-api:${fabric_api_version}")
modImplementation("io.github.apace100:origins-fabric:${origins_version}")
// Create - dependencies are added transitively
modImplementation("com.simibubi.create:create-fabric:${create_version}")
// Development QOL
modLocalRuntime("maven.modrinth:lazydfu:${lazydfu_version}")
modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}")
include(implementation(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-fabric:0.2.0")))
// Recipe Viewers - Create Fabric supports JEI, REI, and EMI.
// See root gradle.properties to choose which to use at runtime.
// switch (recipe_viewer.toLowerCase(Locale.ROOT)) {
// case "jei": modLocalRuntime("mezz.jei:jei-${minecraft_version}-fabric:${jei_version}"); break
// case "rei": modLocalRuntime("me.shedaniel:RoughlyEnoughItems-fabric:${rei_version}"); break
// case "emi": modLocalRuntime("dev.emi:emi:${emi_version}"); break
// case "disabled": break
// default: println("Unknown recipe viewer specified: ${recipe_viewer}. Must be JEI, REI, EMI, or disabled.")
// }
// if you would like to add integration with them, uncomment them here.
// modCompileOnly("mezz.jei:jei-${minecraft_version}-fabric:${jei_fabric_version}")
// modCompileOnly("mezz.jei:jei-${minecraft_version}-common:${jei_fabric_version}")
// modCompileOnly("me.shedaniel:RoughlyEnoughItems-api-fabric:${rei_version}")
// modCompileOnly("me.shedaniel:RoughlyEnoughItems-default-plugin-fabric:${rei_version}")
// modCompileOnly("dev.emi:emi:${emi_version}")
}
processResources {
// require dependencies to be the version compiled against or newer
Map<String, String> properties = new HashMap<>()
properties.put("version", version)
properties.put("fabric_loader_version", fabric_loader_version)
properties.put("fabric_api_version", fabric_api_version)
properties.put("create_version", create_version)
properties.put("minecraft_version", minecraft_version)
properties.put("origins_version", origins_version)
properties.forEach((k, v) -> inputs.property(k, v))
filesMatching("fabric.mod.json") {
expand properties
}
}
tasks.withType(JavaCompile).configureEach {
it.options.release = 17
}
java {
withSourcesJar()
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
jar {
inputs.property "archivesName", project.base.archivesName
from("LICENSE") {
rename { "${it}_${inputs.properties.archivesName}"}
}
}
loom {
mixin {
useLegacyMixinAp = true
}
}
org.gradle.jvmargs=-Xmx2G
# Mod Info
maven_group = dev.igalaxy
archives_base_name = createorigins
mod_version = 1.4.2
minecraft_version = 1.20.1
# Dependencies
# https://fabricmc.net/develop
fabric_loader_version = 0.17.2
fabric_api_version = 0.92.6+1.20.1
yarn_mappings=1.20.1+build.10
# Create
# https://modrinth.com/mod/create-fabric/versions
create_version = 6.0.8.0+build.1734-mc1.20.1
# Development QOL
# Create supports all 3 recipe viewers: JEI, REI, and EMI. This decides which is enabled at runtime.
# set to disabled to have none of them.
recipe_viewer = disabled
# JEI - https://www.curseforge.com/minecraft/mc-mods/jei/files/all
jei_version = 11.5.2.1007
# REI - https://modrinth.com/mod/rei/versions
rei_version = 9.1.643
# EMI - https://modrinth.com/mod/emi/versions
emi_version = 1.0.19+1.19.2
# Mod Menu - https://modrinth.com/mod/modmenu/versions
modmenu_version = 7.2.1
# LazyDFU - https://modrinth.com/mod/lazydfu/versions
lazydfu_version = 0.1.3
# Origins - https://modrinth.com/mod/origins/versions
origins_version = 1.10.2+mc.1.20.x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment