2025-08-04 15:11:07 +08:00

151 lines
4.2 KiB
Groovy

apply plugin: 'maven-publish'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'fabric-loom'
apply plugin: 'com.replaymod.preprocess'
int mcVersion = project.mcVersion
repositories {
maven {
url 'https://maven.fabricmc.net/'
}
maven {
url 'https://masa.dy.fi/maven'
}
maven {
url 'https://maven.fallenbreath.me/releases'
}
maven {
url 'https://jitpack.io'
}
maven {
url 'https://www.cursemaven.com'
}
maven { url "https://maven.shedaniel.me/" }
maven {url "https://maven.terraformersmc.com/"}
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}" // 从子项目
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" // 从子项目
modImplementation "net.fabricmc:fabric-loader:${rootProject.loader_version}" // 从根项目
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
include modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") {
exclude(group: "net.fabricmc.fabric-api")
}
modImplementation "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}"
modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
implementation 'com.google.code.gson:gson:2.8.9'
}
JavaVersion JAVA_COMPATIBILITY
if (mcVersion >= 12100) {
JAVA_COMPATIBILITY = JavaVersion.VERSION_21
} else if (mcVersion >= 11800) {
JAVA_COMPATIBILITY = JavaVersion.VERSION_17
} else if (mcVersion >= 11700) {
JAVA_COMPATIBILITY = JavaVersion.VERSION_16
} else {
JAVA_COMPATIBILITY = JavaVersion.VERSION_1_8
}
JavaVersion MIXIN_COMPATIBILITY_LEVEL = JAVA_COMPATIBILITY
loom {
def commonVmArgs = ['-Dmixin.debug.export=true']
runConfigs.configureEach {
runDir '../../run'
vmArgs commonVmArgs
ideConfigGenerated true
}
}
shadowJar {
configurations = [project.configurations.shadow]
exclude("META-INF")
archiveClassifier.set('shadow')
}
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
tasks.withType(ShadowJar).configureEach {
enableRelocation true
relocationPrefix 'branulf.playertime.libs'
}
remapJar {
dependsOn(shadowJar)
mustRunAfter(shadowJar)
inputFile = shadowJar.archiveFile
}
String modVersionSuffix = ''
if (System.getenv("BUILD_RELEASE") != "true") {
String buildNumber = System.getenv("BUILD_ID")
modVersionSuffix += buildNumber != null ? ('+build.' + buildNumber) : ''
}
String fullModVersion = rootProject.mod_version + modVersionSuffix
String fullProjectVersion
group = rootProject.maven_group
if (System.getenv("JITPACK") == "true") {
base.archivesName = rootProject.archives_base_name + '-mc' + project.minecraft_version
fullProjectVersion = 'v' + rootProject.mod_version + modVersionSuffix
} else {
base.archivesName = rootProject.archives_base_name
fullProjectVersion = 'v' + rootProject.mod_version + '-mc' + project.minecraft_version + modVersionSuffix
}
version = fullProjectVersion
processResources {
inputs.property "id", rootProject.mod_id
inputs.property "name", rootProject.mod_name
inputs.property "version", fullModVersion
filesMatching("fabric.mod.json") {
def valueMap = [
"id" : rootProject.mod_id,
"name" : rootProject.mod_name,
"version" : fullModVersion,
"minecraft_version": project.minecraft_dependency,
"loader_version" : rootProject.loader_version
]
expand valueMap
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
if (JAVA_COMPATIBILITY <= JavaVersion.VERSION_1_8) {
options.compilerArgs << '-Xlint:-options'
}
}
java {
sourceCompatibility = JAVA_COMPATIBILITY
targetCompatibility = JAVA_COMPATIBILITY
withSourcesJar()
}
jar {
from(rootProject.file('LICENSE')) {
rename { "${it}_${rootProject.archives_base_name}" }
}
}
//publishing {
// publications {
// mavenJava(MavenPublication) {
// from components.java
// }
// }
// repositories {
// }
//}