plugins { id 'fabric-loom' version '1.1-SNAPSHOT' } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group repositories { mavenCentral() mavenLocal() maven { url "https://maven.meteordev.org/releases"} maven { url "https://maven.meteordev.org/snapshots" } maven { url "https://maven.seedfinding.com/" } maven { url "https://maven-snapshots.seedfinding.com/" } maven { url 'https://jitpack.io' } } configurations { // configuration that holds jars to include in the jar extraLibs } dependencies { // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_version}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation("meteordevelopment:meteor-client:${project.meteor_version}-SNAPSHOT") modImplementation "baritone:fabric:${project.minecraft_version}-SNAPSHOT" // seed .locate and ore sim extraLibs('com.seedfinding:mc_math:ffd2edcfcc0d18147549c88cc7d8ec6cf21b5b91') { transitive = false } extraLibs('com.seedfinding:mc_seed:1ead6fcefe7e8de4b3d60cd6c4e993f1e8f33409') { transitive = false } extraLibs('com.seedfinding:mc_core:d64d5f90be66300da41ef58f4f1736db2499784f') { transitive = false } extraLibs('com.seedfinding:mc_noise:7e3ba65e181796c4a2a1c8881d840b2254b92962') { transitive = false } extraLibs('com.seedfinding:mc_biome:41a42cb9019a552598f12089059538853e18ec78') { transitive = false } extraLibs('com.seedfinding:mc_terrain:b4246cbd5880c4f8745ccb90e1b102bde3448126') { transitive = false } extraLibs('com.seedfinding:mc_feature:919b7e513cc1e87e029a9cd703fc4e2dc8686229') { transitive = false } // seedcracker api implementation (include('com.github.19MisterX98.SeedcrackerX:seedcrackerx-api:2.14.4')) {transitive = false} // implementation (include('com.github.19MisterX98.SeedcrackerX:seedcrackerx-api:master-SNAPSHOT')) {transitive = false} configurations.implementation.extendsFrom(configurations.extraLibs) } loom { accessWidenerPath = file("src/main/resources/meteor-rejects.accesswidener") } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version, "mc_version": project.minecraft_version, "gh_hash": (System.getenv("GITHUB_SHA") ?: "") } } jar { from("LICENSE") { rename { "${it}_${project.archivesBaseName}"} } from { configurations.extraLibs.collect { it.isDirectory() ? it : zipTree(it) } } } tasks.withType(Jar) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } tasks.withType(JavaCompile).configureEach { // ensure that the encoding is set to UTF-8, no matter what the system default is // this fixes some edge cases with special characters not displaying correctly // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html // If Javadoc is generated, this must be specified in that task too. it.options.encoding = "UTF-8" // The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too // JDK 9 introduced a new way of specifying this that will make sure no newer classes or methods are used. // We'll use that if it's available, but otherwise we'll use the older option. def targetVersion = 17 if (JavaVersion.current().isJava9Compatible()) { it.options.release = targetVersion } }