plugins { id 'fabric-loom' version "$loomVersion" } archivesBaseName = getArtifactID("fabric") loom { mixin.defaultRefmapName = "hexcasting.mixins.refmap.json" accessWidenerPath = file("src/main/resources/hexcasting.accesswidener") runs { client { client() setConfigName("Fabric Client") } server { server() setConfigName("Fabric Server") } datagen { client() vmArg "-Dfabric-api.datagen" vmArg "-Dfabric-api.datagen.modid=${modID}" vmArg "-Dfabric-api.datagen.output-dir=${file("src/generated/resources")}" } configureEach { runDir "Fabric/run" ideConfigGenerated(true) } } } repositories { mavenCentral() maven { url "https://maven.shedaniel.me/" } maven { url 'https://ladysnake.jfrog.io/artifactory/mods' } maven { name "entity reach" url "https://maven.jamieswhiteshirt.com/libs-release/" } } dependencies { minecraft "com.mojang:minecraft:${minecraftVersion}" mappings loom.officialMojangMappings() modImplementation("net.fabricmc:fabric-language-kotlin:1.7.4+kotlin.1.6.21") modImplementation "net.fabricmc:fabric-loader:${fabricLoaderVersion}" modImplementation "net.fabricmc.fabric-api:fabric-api:${fabricVersion}" implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1' compileOnly project(":Common") modImplementation "at.petra-k.paucal:paucal-fabric-$minecraftVersion:$paucalVersion" modImplementation "vazkii.patchouli:Patchouli:$minecraftVersion-$patchouliVersion-FABRIC" modImplementation "me.zeroeightsix:fiber:$fiberVersion" include "me.zeroeightsix:fiber:$fiberVersion" modImplementation "dev.onyxstudios.cardinal-components-api:cardinal-components-api:$cardinalComponentsVersion" modImplementation "com.jamieswhiteshirt:reach-entity-attributes:2.1.1" include "com.jamieswhiteshirt:reach-entity-attributes:2.1.1" // only to shut up compile warnings from CCA's usage of CheckEnv and Env compileOnly "com.demonwav.mcdev:annotations:1.0" } tasks.withType(JavaCompile) { source(project(":Common").sourceSets.main.allSource) } compileKotlin { source(project(":Common").sourceSets.main.allSource) } sourcesJar { from project(":Common").sourceSets.main.allJava } sourceSets { main.resources.srcDirs += ['src/generated/resources', '../Common/src/generated/resources'] } processResources { from project(":Common").sourceSets.main.resources inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version } } setupJar(this)