plugins { id 'net.fabricmc.fabric-loom' version "${loom_version}" id 'maven-publish' } version = project.mod_version group = project.maven_group base { archivesName = project.archives_base_name } repositories { exclusiveContent { forRepository { maven { name = 'GeckoLib'; url = 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/' } } filter { includeGroup 'com.geckolib' } } mavenCentral() } // GeckoLib's GeoItem/GeoRenderProvider API references Minecraft client render types. // Keep the renderer classes isolated by Fabric's client entrypoint, but compile them // in the normal Loom source set so javac can resolve GeckoLib's client signatures. sourceSets { main { java.srcDir 'src/client/java' } } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" implementation "net.fabricmc:fabric-loader:${project.loader_version}" implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}" implementation "com.geckolib:geckolib-fabric-${project.minecraft_version}:${project.geckolib_version}" } processResources { inputs.property 'version', project.version filesMatching('fabric.mod.json') { expand 'version': project.version } } tasks.withType(JavaCompile).configureEach { options.release = 25 options.encoding = 'UTF-8' } java { withSourcesJar() sourceCompatibility = JavaVersion.VERSION_25 targetCompatibility = JavaVersion.VERSION_25 } jar { from('LICENSE') { rename { "${it}_${project.base.archivesName.get()}" } } }