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 { // } //}