Files
L2Core/build.gradle
lcy0x1 d7164b386e init
2024-06-20 16:41:01 +08:00

185 lines
5.8 KiB
Groovy

plugins {
id 'java-library'
id 'eclipse'
id 'idea'
id 'maven-publish'
id 'net.neoforged.gradle.userdev' version '7.0.145'
}
version = mod_version
group = 'dev.kxmc'
repositories {
mavenLocal()
}
base {
archivesName = mod_id
}
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
configureEach {
systemProperty 'forge.logging.markers', 'REGISTRIES'
systemProperty 'forge.logging.console.level', 'debug'
modSource project.sourceSets.main
}
client {
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
}
server {
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
programArgument '--nogui'
}
gameTestServer {
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
}
data {
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
}
}
sourceSets.main.resources { srcDir 'src/generated/resources' }
dependencies {
implementation "net.neoforged:neoforge:${neo_version}"
}
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range,
neo_version : neo_version, neo_version_range: neo_version_range,
loader_version_range: loader_version_range,
mod_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,
mod_authors : mod_authors, mod_description: mod_description,
]
inputs.properties replaceProperties
filesMatching(['META-INF/mods.toml']) {
expand replaceProperties + [project: project]
}
}
// Example configuration to allow publishing using the maven-publish plugin
publishing {
publications {
register('mavenJava', MavenPublication) {
from components.java
}
}
repositories {
maven {
url "file://${project.projectDir}/repo"
}
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
if (lljij.toBoolean()) jarJar.enable()
jar {
manifest {
attributes([
"Specification-Title" : "${mod_id}",
"Specification-Vendor" : "xkmc",
"Specification-Version" : "1", // We are version 1 of ourselves
"Implementation-Title" : project.name,
"Implementation-Version" : project.jar.archiveVersion,
"Implementation-Vendor" : "xkmc",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
'MixinConfigs' : "${mod_id}.mixins.json"
])
}
}
if (lljij.toBoolean()) {
tasks.jarJar.configure {
archiveClassifier.set('')
}
jar {
archiveClassifier.set('slim')
}
}
dependencies {
//annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor"
//compileOnly fg.deobf("com.tterrag.registrate:Registrate:${registrate_version}")
if (rootMod.toBoolean()) {
//jarJar(group: 'com.tterrag.registrate', name: 'Registrate', version: "[MC1.20,MC1.21)")
}
}
// project specific
repositories {
flatDir {
dirs 'libs'
}
maven { // Registrate
url "https://maven.tterrag.com/"
}
maven {
url = "https://maven.theillusivec4.top/"
}
maven {
// Location of the maven for vazkii's mods
name 'blamejared'
url 'https://maven.blamejared.com'
}
maven {
url 'https://www.cursemaven.com'
content {
includeGroup "curse.maven"
}
}
maven {
// Location of the maven that hosts JEI files (and TiC)
name 'Progwml6 maven'
url 'https://dvs1.progwml6.com/files/maven'
}
mavenLocal();
}
dependencies {
// base dep
implementation "mezz.jei:jei-${jei_minecraft_version}:${jei_version}"
//implementation "top.theillusivec4.curios:curios-neoforge:${curios_version}"
implementation "dev.xkmc:l2serial:${l2serial_ver}"
//runtimeOnly fg.deobf("dev.xkmc.l2damagetracker:l2damagetracker:0.2.4")
//runtimeOnly fg.deobf("dev.xkmc.l2backpack:l2backpack:2.4.12-slim")
//runtimeOnly fg.deobf("dev.xkmc.l2complements:l2complements:2.4.18-slim")
//runtimeOnly fg.deobf('dev.xkmc.modulargolems:modulargolems:2.4.16-slim')
//runtimeOnly fg.deobf("dev.xkmc.l2archery:l2archery:2.4.9")
//runtimeOnly fg.deobf("dev.xkmc.l2weaponry:l2weaponry:2.4.18")
//runtimeOnly fg.deobf("dev.xkmc.l2artifacts:l2artifacts:2.4.8-slim")
//runtimeOnly fg.deobf("curse.maven:create-328085:4626108")
//implementation fg.deobf("curse.maven:just-enough-effect-descriptions-jeed-532286:4599236")
//runtimeOnly fg.deobf("curse.maven:badpackets-615134:4438956")
//runtimeOnly fg.deobf("curse.maven:wthit-forge-455982:4596739")
//runtimeOnly fg.deobf("curse.maven:attributefix-280510:4588114")
//runtimeOnly fg.deobf("curse.maven:bookshelf-228525:4581675")
//runtimeOnly fg.deobf("curse.maven:enchantment-descriptions-250419:4587429")
//runtimeOnly fg.deobf("curse.maven:appleskin-248787:4605078")
//implementation fg.deobf("curse.maven:patchouli-306770:4636277")
//runtimeOnly fg.deobf("dev.xkmc.traderefresh:traderefresh:2.1.1-slim")
//runtimeOnly fg.deobf("dev.xkmc.lasertransport:lasertransport:2.2.0.pre5-slim")
//runtimeOnly fg.deobf('curse.maven:max-health-fix-492246:4447240')
//runtimeOnly fg.deobf('curse.maven:the-twilight-forest-227639:4516391')
}