plugins { id 'fabric-loom' version '0.12-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:SNAPSHOT") // seed .locate and ore sim implementation('com.seedfinding:mc_math:0eb505174da8a92550f8ec6efe254e0fa936cc0d') { transitive = false } implementation('com.seedfinding:mc_seed:5518e3ba3ee567fb0b51c15958967f70a6a19e02') { transitive = false } implementation('com.seedfinding:mc_core:706e4f1b7aa6b42b3627f682a311d06280d80b5c') { transitive = false } implementation('com.seedfinding:mc_noise:a6ab8e6c688491829f8d2adf845392da22ef8e9c') { transitive = false } implementation('com.seedfinding:mc_biome:b2271807a047bb43ac60c8c20ad47e315f19b9a6') { transitive = false } implementation('com.seedfinding:mc_terrain:9e937ddb838e28e79423c287fa18b1ce66f061d7') { transitive = false } implementation('com.seedfinding:mc_feature:ef939c0dd7d66ab1bd290d6aab1e42a12cb3dbf1') { transitive = false } // seedcracker api implementation (include('com.github.19MisterX98.SeedcrackerX:seedcrackerx-api:2.10.1')) {transitive = false} // implementation (include('com.github.19MisterX98.SeedcrackerX:seedcrackerx-api:master-SNAPSHOT')) {transitive = false} configurations.implementation.extendsFrom(configurations.extraLibs) } processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version filter { line -> line.replace("@mc_version@", project.minecraft_version) } filter { line -> line.replace("@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 = 16 if (JavaVersion.current().isJava9Compatible()) { it.options.release = targetVersion } }