Files
antarchy-mirror/fabric-1.20.1/build.gradle
T
craisinlord 94c3676dea WIP 1.20.1 port
1.0.3 update
2 new squirrel anims
2026-07-27 23:18:45 -05:00

145 lines
5.0 KiB
Groovy

plugins {
id 'net.fabricmc.fabric-loom-remap' version '1.15.5'
id 'maven-publish'
}
group = mod_group_id
version = "${mod_version}+${project.name}"
base {
archivesName = "${mod_id}-fabric-1.20.1"
}
repositories {
maven { url "https://maven.fabricmc.net/" }
mavenCentral()
maven { url "https://www.cursemaven.com" }
maven { url "https://maven.blamejared.com" }
maven { url "https://repo.spongepowered.org/repository/maven-public/" }
maven { url "https://jitpack.io" }
exclusiveContent {
forRepository {
maven {
name = "GeckoLib"
url = "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/"
}
}
filter {
includeGroup("software.bernie.geckolib")
includeGroup("com.eliotlash.mclib")
}
}
}
// Handle duplicates from common-1.20.1's resources
tasks.withType(AbstractCopyTask).configureEach {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
java {
toolchain { languageVersion = JavaLanguageVersion.of(17) }
withSourcesJar()
}
// Add common-1.20.1's sources directly. Path is relative because fabric-1.20.1 is its
// own standalone Gradle build (Fabric Loom can't configure two different-Minecraft-version
// loom projects in the same Gradle invocation) — there is no `:common-1.20.1` project here.
sourceSets {
main {
java {
srcDirs += file('../common-1.20.1/src/main/java')
}
resources {
srcDirs += file('../common-1.20.1/src/main/resources')
}
}
}
dependencies {
minecraft "com.mojang:minecraft:${minecraft_version}"
mappings loom.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version}"
modApi "net.fabricmc.fabric-api:fabric-api:${fabric_api_version}"
modImplementation "software.bernie.geckolib:geckolib-fabric-${minecraft_version}:${geckolib_version}"
modCompileOnly("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_fabric}")
modLocalRuntime("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_fabric}")
modCompileOnly("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_fabric}")
modLocalRuntime("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_fabric}")
modCompileOnly("curse.maven:pehkui-${pehkui_curseforge_id}:${pehkui_curseforge_file_id_fabric}")
modLocalRuntime("curse.maven:pehkui-${pehkui_curseforge_id}:${pehkui_curseforge_file_id_fabric}")
modCompileOnly(files("$rootDir/../infinite_dimensions_jars/infinity-2.7.2+1.20.1-fabric.jar"))
modLocalRuntime(files("$rootDir/../infinite_dimensions_jars/infinity-2.7.2+1.20.1-fabric.jar"))
compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"
compileOnly "mezz.jei:jei-${minecraft_version}-fabric-api:${jei_version}"
modLocalRuntime "mezz.jei:jei-${minecraft_version}-fabric:${jei_version}"
annotationProcessor "org.spongepowered:mixin:0.8.7:processor"
}
loom {
mixin {
useLegacyMixinAp = true
defaultRefmapName = "antarchy.mixins.refmap.json"
}
}
tasks.named('processResources', ProcessResources).configure {
var replaceProperties = [
version : project.version,
minecraft_version : minecraft_version,
fabric_loader_version: fabric_loader_version,
mod_id : mod_id,
mod_name : mod_name,
mod_description : mod_description,
mod_author : mod_author,
license : license,
homepage_url : homepage_url,
issues_url : issues_url,
sources_url : sources_url,
logo_fabric : logo_fabric
]
inputs.properties replaceProperties
filesMatching('fabric.mod.json') {
expand replaceProperties
}
}
// common-1.20.1's mixins.json ships refmap-free — inject the refmap key into fabric's
// own copy after copying (matches the fabric-1.21.1 / neoforge-1.21.1 convention).
tasks.named('processResources', ProcessResources).configure {
doLast {
var commonMixinConfig = new File(destinationDir, 'antarchy-common.mixins.json')
var json = new groovy.json.JsonSlurper().parse(commonMixinConfig)
json.put('refmap', 'antarchy.mixins.refmap.json')
commonMixinConfig.text = groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(json))
}
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId = project.group
artifactId = project.base.archivesName.get()
version = project.version
artifact(project.tasks.named('remapJar'))
artifact(project.tasks.named('remapSourcesJar')) {
classifier = 'sources'
}
pom {
name = "${mod_name} (Fabric 1.20.1)"
description = mod_description
}
}
}
}