2020-01-25 09:54:58 +01:00
|
|
|
plugins {
|
2022-06-10 06:08:46 +02:00
|
|
|
id 'fabric-loom' version '0.12-SNAPSHOT'
|
2020-01-25 09:54:58 +01:00
|
|
|
id 'maven-publish'
|
|
|
|
}
|
|
|
|
|
2021-12-23 20:58:31 +01:00
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
|
|
targetCompatibility = JavaVersion.VERSION_17
|
2020-01-25 09:54:58 +01:00
|
|
|
|
|
|
|
archivesBaseName = project.archives_base_name
|
2020-12-25 19:34:36 +01:00
|
|
|
version = "${project.mod_version}-${getMcMinor(project.minecraft_version)}"
|
2020-01-25 09:54:58 +01:00
|
|
|
group = project.maven_group
|
|
|
|
|
2022-06-10 06:08:46 +02:00
|
|
|
|
2020-01-25 09:54:58 +01:00
|
|
|
|
|
|
|
repositories{
|
2020-04-18 18:23:24 +02:00
|
|
|
maven { url 'https://jitpack.io' }
|
2021-06-26 13:10:35 +02:00
|
|
|
maven { url "https://maven.shedaniel.me/" }
|
|
|
|
maven {
|
|
|
|
url "https://maven.terraformersmc.com/releases/"
|
|
|
|
content {
|
|
|
|
includeGroup "com.terraformersmc"
|
|
|
|
}
|
|
|
|
}
|
2021-11-27 19:54:35 +01:00
|
|
|
mavenCentral()
|
2020-01-25 09:54:58 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
//to change the versions see the gradle.properties file
|
|
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
|
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
2021-06-13 21:25:52 +02:00
|
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
2020-01-25 09:54:58 +01:00
|
|
|
|
|
|
|
// Fabric API. This is technically optional, but you probably want it anyway.
|
2021-06-13 21:25:52 +02:00
|
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
2020-01-25 09:54:58 +01:00
|
|
|
|
2021-06-26 13:10:35 +02:00
|
|
|
//General config library
|
|
|
|
modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_version}") {
|
|
|
|
exclude(group: "net.fabricmc.fabric-api")
|
|
|
|
}
|
2020-01-25 09:54:58 +01:00
|
|
|
|
2021-06-26 13:10:35 +02:00
|
|
|
//Mod menu
|
|
|
|
modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
|
2020-03-22 21:54:03 +01:00
|
|
|
|
2021-06-26 13:10:35 +02:00
|
|
|
//General compression library
|
2021-06-13 21:25:52 +02:00
|
|
|
modImplementation "org.apache.commons:commons-compress:1.19"
|
2020-06-05 16:15:36 +02:00
|
|
|
include "org.apache.commons:commons-compress:1.19"
|
2020-04-18 18:23:24 +02:00
|
|
|
|
2021-06-26 13:10:35 +02:00
|
|
|
//LZMA support
|
2021-11-27 19:54:35 +01:00
|
|
|
modImplementation 'org.tukaani:xz:1.9'
|
|
|
|
include "org.tukaani:xz:1.9"
|
2020-04-18 18:23:24 +02:00
|
|
|
|
2021-06-26 13:10:35 +02:00
|
|
|
//Gzip compression, parallel, GITHUB
|
2021-08-03 22:12:18 +02:00
|
|
|
modImplementation "com.github.shevek:parallelgzip:${project.pgzip_commit_hash}"
|
|
|
|
include "com.github.shevek:parallelgzip:${project.pgzip_commit_hash}"
|
2021-06-26 13:10:35 +02:00
|
|
|
|
|
|
|
// Lazy DFU makes the dev env start up much faster by loading DataFixerUpper lazily, which would otherwise take a long time. We rarely need it anyway.
|
2022-06-10 06:08:46 +02:00
|
|
|
// I couldn't get this working in my environment - IzzyBizzy
|
|
|
|
//modRuntime("com.github.astei:lazydfu:${project.lazydfu_version}") {
|
|
|
|
// exclude(module: "fabric-loader")
|
|
|
|
//}
|
2020-01-25 09:54:58 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
processResources {
|
|
|
|
inputs.property "version", project.version
|
|
|
|
|
2021-06-13 21:25:52 +02:00
|
|
|
filesMatching("fabric.mod.json") {
|
2020-01-25 09:54:58 +01:00
|
|
|
expand "version": project.version
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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
|
|
|
|
tasks.withType(JavaCompile) {
|
|
|
|
options.encoding = "UTF-8"
|
|
|
|
}
|
2021-06-13 21:25:52 +02:00
|
|
|
java {
|
|
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
|
|
// if it is present.
|
|
|
|
// If you remove this line, sources will not be generated.
|
|
|
|
withSourcesJar()
|
2020-01-25 09:54:58 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
jar {
|
2021-06-13 21:25:52 +02:00
|
|
|
from("LICENSE") {
|
|
|
|
rename { "${it}_${project.archivesBaseName}"}
|
|
|
|
}
|
2021-06-19 19:03:13 +02:00
|
|
|
|
|
|
|
from("Copyright_Notice")
|
2020-01-25 09:54:58 +01:00
|
|
|
}
|
|
|
|
// configure the maven publication
|
|
|
|
publishing {
|
|
|
|
publications {
|
|
|
|
mavenJava(MavenPublication) {
|
|
|
|
// add all the jars that should be included when publishing to maven
|
|
|
|
artifact(remapJar) {
|
|
|
|
builtBy remapJar
|
|
|
|
}
|
|
|
|
artifact(sourcesJar) {
|
|
|
|
builtBy remapSourcesJar
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// select the repositories you want to publish to
|
|
|
|
repositories {
|
|
|
|
// uncomment to publish to the local maven
|
2021-06-13 21:25:52 +02:00
|
|
|
|
|
|
|
maven {
|
|
|
|
name = 'myRepo'
|
|
|
|
url = layout.buildDirectory.dir("repo")
|
|
|
|
}
|
2020-01-25 09:54:58 +01:00
|
|
|
}
|
|
|
|
}
|
2020-12-25 19:34:36 +01:00
|
|
|
|
|
|
|
static def getMcMinor(ver) {
|
2021-12-23 20:58:31 +01:00
|
|
|
String[] arr = ((String)ver).split("\\.")
|
2020-12-25 19:34:36 +01:00
|
|
|
|
2021-12-23 20:58:31 +01:00
|
|
|
if(arr.length < 2) return ver
|
2021-11-27 19:54:35 +01:00
|
|
|
|
2021-12-23 20:58:31 +01:00
|
|
|
return (String)(arr[0] + "." + arr[1])
|
2020-12-25 19:34:36 +01:00
|
|
|
}
|