81 lines
3.0 KiB
Groovy
81 lines
3.0 KiB
Groovy
plugins {
|
|
id 'fabric-loom' version '0.10-SNAPSHOT'
|
|
}
|
|
|
|
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17
|
|
|
|
archivesBaseName = project.archives_base_name
|
|
version = project.mod_version
|
|
group = project.maven_group
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
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/" }
|
|
}
|
|
|
|
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")
|
|
|
|
extraLibs('com.seedfinding:mc_math:d73ac7cc644c67628ade0effd7136e11eb00bb76') {transitive = false}
|
|
extraLibs('com.seedfinding:mc_seed:5518e3ba3ee567fb0b51c15958967f70a6a19e02') {transitive = false}
|
|
extraLibs('com.seedfinding:mc_core:88b246597e0147e37b38d1b33e9526e6c3eb1469') {transitive = false}
|
|
extraLibs('com.seedfinding:mc_noise:a6ab8e6c688491829f8d2adf845392da22ef8e9c') {transitive = false}
|
|
extraLibs('com.seedfinding:mc_biome:533cdb5ed955ff1c3106f9901aea6aa5b08fd781') {transitive = false}
|
|
extraLibs('com.seedfinding:mc_terrain:9e937ddb838e28e79423c287fa18b1ce66f061d7') {transitive = false}
|
|
extraLibs('com.seedfinding:mc_feature:ef939c0dd7d66ab1bd290d6aab1e42a12cb3dbf1') {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") ?: "unknown") }
|
|
}
|
|
}
|
|
|
|
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
|
|
}
|
|
}
|