Files
antarchy-mirror/fabric/build.gradle
T
craisinlord 79cbc454e6 Peach blocks and Peach forest
Elka, Glimmer, Deer
Toned down alpha mantis spawns
Increased uranium and titanium spawn by 25%
Overhauled red ant nest and pale nyxite texture
Fixed Ant Nests not spawning on Fabric
Fixed armor trims not working on antarchy armors
Fixed antarchy materials not working as armor trims
Adding missing hanging sign gui texture files
HFCS
Root beer
Elythia frog
Roseate and Lumen froglight
2026-07-15 11:39:29 -05:00

176 lines
7.2 KiB
Groovy

plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
}
architectury {
platformSetupLoomIde()
fabric()
}
configurations {
common
shadowCommon
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentFabric.extendsFrom common
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${project.fabric_loader_version}"
modApi "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
modImplementation "software.bernie.geckolib:geckolib-fabric-${project.minecraft_version}:${project.geckolib_version}"
compileOnly("curse.maven:intapi-${project.intapi_curseforge_id}:${project.intapi_curseforge_file_id_neoforge}")
compileOnly "mezz.jei:jei-${project.minecraft_version}-common-api:${project.jei_version}"
compileOnly "mezz.jei:jei-${project.minecraft_version}-fabric-api:${project.jei_version}"
// compileOnly("curse.maven:create-${project.create_curseforge_id_neoforge}:${project.create_curseforge_file_id_neoforge}")
// compileOnly("curse.maven:marvel-${project.marvel_curseforge_id}:${project.marvel_curseforge_file_id}")
// compileOnly("curse.maven:stellaris-${project.stellaris_curseforge_id}:${project.stellaris_curseforge_file_id}")
// compileOnly("curse.maven:aperture-${project.aperture_curseforge_id}:${project.aperture_curseforge_file_id}")
// compileOnly("curse.maven:inventory_pets-${project.inventory_pets_curseforge_id}:${project.inventory_pets_curseforge_file_id}")
// compileOnly("curse.maven:cataclysm-${project.cataclysm_curseforge_id}:${project.cataclysm_curseforge_file_id}")
// compileOnly("curse.maven:iaf-${project.iaf_curseforge_id}:${project.iaf_curseforge_file_id}")
// compileOnly("curse.maven:backpack-${project.backpack_curseforge_id}:${project.backpack_curseforge_file_id}")
// compileOnly("curse.maven:regions_unexplored-${project.regions_unexplored_curseforge_id}:${project.regions_unexplored_curseforge_file_id}")
// compileOnly(files("$rootDir/infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar"))
compileOnly(files("$rootDir/infinite_dimensions_jars/infinity-2.7.2+1.21.1-neoforge.jar"))
// compileOnly(files("$rootDir/infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge-sources.jar"))
compileOnly(files("$rootDir/infinite_dimensions_jars/gravity-api-1.0.7-1.20.1.jar"))
// compileOnly(files("$rootDir/infinite_dimensions_jars/Cloro's Gravity Gun Mod (Release 1.3.1).jar"))
// compileOnly(files("$rootDir/infinite_dimensions_jars/VanillaBackport-neoforge-1.21.1-1.1.7.6.jar"))
// compileOnly(files("$rootDir/infinite_dimensions_jars/soul-fire-d-neoforge-1.21-6.1.0.jar"))
// compileOnly(files("$rootDir/infinite_dimensions_jars/prometheus-neoforge-1.21-1.2.5.jar"))
compileOnly(files("$rootDir/infinite_dimensions_jars/cloth-config-15.0.140-fabric.jar"))
compileOnly(files("$rootDir/infinite_dimensions_jars/sable-neoforge-1.21.1-2.0.3.jar"))
// Compile against the NeoForge jar (official Mojang mappings, matches this module's compile
// space) but load the real Fabric jar at runtime — sizeable_foliage's Fabric jar ships
// intermediary-mapped (Fabric's normal shipping format) which this compileOnly classpath
// can't resolve directly.
compileOnly(files("$rootDir/sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar"))
runtimeOnly(files("$rootDir/sizeable_foliage_jars/sizeable_foliage-fabric-1.21.1-1.0.0.jar"))
annotationProcessor "org.spongepowered:mixin:0.8.7:processor"
common(project(path: ':common', configuration: 'namedElements')) { transitive false }
shadowCommon(project(path: ':common', configuration: 'namedElements')) { transitive false }
}
loom {
mixin {
useLegacyMixinAp = true
defaultRefmapName = "antarchy.refmap.json"
}
mods {
"${mod_id}" {
sourceSet sourceSets.main
sourceSet project(':common').sourceSets.main
}
}
runs {
configureEach {
runDir('run')
ideConfigGenerated(true)
}
client {
client()
setConfigName('Fabric Client')
}
server {
server()
setConfigName('Fabric Server')
programArg('--nogui')
}
}
}
tasks.named('compileJava', JavaCompile) {
source(project(':common').sourceSets.main.allJava)
}
tasks.named('javadoc', Javadoc).configure {
source(project(':common').sourceSets.main.allJava)
}
tasks.named('sourcesJar', Jar) {
from(project(':common').sourceSets.main.allSource)
exclude "antarchy-common.mixins.json"
}
shadowJar {
exclude 'architectury.common.json'
configurations = [project.configurations.shadowCommon]
archiveClassifier.set('dev-shadow')
}
remapJar {
injectAccessWidener = true
input.set shadowJar.archiveFile
dependsOn shadowJar
archiveClassifier.set(null)
}
jar {
archiveClassifier.set('dev')
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
processResources {
inputs.property "version", project.version
inputs.property "minecraft_version", project.minecraft_version
inputs.property "fabric_loader_version", project.fabric_loader_version
inputs.property "mod_id", project.mod_id
inputs.property "mod_name", project.mod_name
inputs.property "mod_description", project.mod_description
inputs.property "mod_author", project.mod_author
inputs.property "license", project.license
inputs.property "homepage_url", project.homepage_url
inputs.property "issues_url", project.issues_url
inputs.property "sources_url", project.sources_url
inputs.property "logo_fabric", project.logo_fabric
from(project(':common').sourceSets.main.resources) {
exclude "antarchy-common.mixins.json"
}
// Fabric needs a refmap on the common mixin config, NeoForge only boots without one.
// Generate a fabric-only copy with the refmap injected so the shared file stays refmap-free.
def commonMixinConfig = project(':common').file('src/main/resources/antarchy-common.mixins.json')
inputs.file commonMixinConfig
doLast {
def json = new groovy.json.JsonSlurper().parse(commonMixinConfig)
json.put('refmap', 'antarchy.refmap.json')
new File(destinationDir, 'antarchy-common-fabric.mixins.json').text =
groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(json))
}
filesMatching("fabric.mod.json") {
expand(
version: project.version,
minecraft_version: project.minecraft_version,
fabric_loader_version: project.fabric_loader_version,
mod_id: project.mod_id,
mod_name: project.mod_name,
mod_description: project.mod_description,
mod_author: project.mod_author,
license: project.license,
homepage_url: project.homepage_url,
issues_url: project.issues_url,
sources_url: project.sources_url,
logo_fabric: project.logo_fabric
)
}
}