Change all interfaces used in mixins to have methods prefixed with "moonrise" or "starlight", to remove risk of conflicting with Vanilla or other mods methods Add new patch for optimising ticking block entity removal - Similar to Paper's patch for this but uses an in-place removal method Remove most of the fluid mixins: - May not be effective, but are a big maintenance problem
98 lines
3.0 KiB
Groovy
98 lines
3.0 KiB
Groovy
plugins {
|
|
id 'fabric-loom' version '1.2.7'
|
|
id 'maven-publish'
|
|
}
|
|
|
|
/*
|
|
* Gets the version name from the latest Git tag
|
|
*/
|
|
// https://stackoverflow.com/questions/28498688/gradle-script-to-autoversion-and-include-the-commit-hash-in-android
|
|
def getGitCommit = { ->
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine 'git', 'rev-parse', '--short', 'HEAD'
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
}
|
|
|
|
archivesBaseName = project.archives_base_name
|
|
version = project.mod_version + "+fabric." + getGitCommit()
|
|
group = project.maven_group
|
|
|
|
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"
|
|
mappings loom.officialMojangMappings()
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
|
|
// Fabric API. This is technically optional, but you probably want it anyway.
|
|
//modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
|
|
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
|
|
// You may need to force-disable transitiveness on them.
|
|
}
|
|
|
|
processResources {
|
|
inputs.property "version", project.version
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version, "minecraft_version": minecraft_version, "loader_version": loader_version, "mod_version": mod_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"
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = file("src/main/resources/moonrise.accesswidener")
|
|
}
|
|
|
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
// if it is present.
|
|
// If you remove this task, sources will not be generated.
|
|
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()
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
jar {
|
|
from "LICENSE"
|
|
}
|
|
|
|
// make build reproducible
|
|
tasks.withType(AbstractArchiveTask) {
|
|
preserveFileTimestamps = false
|
|
reproducibleFileOrder = true
|
|
}
|
|
|
|
// 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
|
|
// mavenLocal()
|
|
}
|
|
}
|