Files
WorldHandler/build.gradle

102 lines
2.6 KiB
Groovy
Raw Normal View History

2022-07-19 01:10:20 +02:00
plugins {
id 'java'
id 'eclipse'
2023-12-09 14:39:09 +01:00
id 'net.minecraftforge.gradle' version '[6.0.16,6.2)'
2023-06-11 13:52:10 +02:00
id 'me.hypherionmc.cursegradle' version '2.+'
2018-02-05 17:31:55 +01:00
}
archivesBaseName = "${mod_name}-${minecraft_version}"
2023-06-11 13:52:10 +02:00
version = mod_version
2018-06-28 15:19:23 +02:00
2026-04-26 11:54:13 +02:00
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
2023-06-11 13:52:10 +02:00
javadoc.options.addStringOption('Xdoclint:none', '-quiet')
2022-07-18 21:40:31 +02:00
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + ' (' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
2018-04-10 17:37:32 +02:00
2018-02-05 17:31:55 +01:00
minecraft {
2022-07-18 21:40:31 +02:00
mappings channel: 'official', version: minecraft_version
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
2023-12-09 14:39:09 +01:00
configureEach {
workingDirectory project.file('run')
2023-12-09 14:39:09 +01:00
}
client {
2023-06-11 13:52:10 +02:00
taskName "${project.name}Client"
}
server {
2023-06-11 13:52:10 +02:00
taskName "${project.name}Server"
2022-07-19 01:10:20 +02:00
}
gameTestServer {
2023-06-11 13:52:10 +02:00
taskName "${project.name}GameTest"
2023-12-09 14:39:09 +01:00
property 'forge.enabledGameTestNamespaces', mod_id
}
data {
2023-12-09 14:39:09 +01:00
workingDirectory project.file('run-data')
2023-06-11 13:52:10 +02:00
taskName "${project.name}Data"
2023-12-09 14:39:09 +01:00
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
}
}
2018-02-05 17:31:55 +01:00
}
2023-12-09 14:39:09 +01:00
sourceSets.main.resources { srcDir 'src/generated/resources' }
2022-07-19 01:10:20 +02:00
2018-02-05 17:31:55 +01:00
dependencies {
2022-07-18 21:40:31 +02:00
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
2018-02-05 17:31:55 +01:00
}
2023-12-09 14:39:09 +01:00
tasks.named('jar', Jar).configure {
manifest {
attributes([
2022-07-28 18:05:45 +02:00
"Specification-Title": "${mod_id}",
"Specification-Vendor": "${author}",
"Specification-Version": "1",
2022-07-28 18:05:45 +02:00
"Implementation-Title": "${mod_name}",
"Implementation-Version": "${minecraft_version}-${version}",
"Implementation-Vendor": "${author}",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
2022-07-28 18:05:45 +02:00
"Main-Class": "${main_class}"
])
}
2018-02-05 17:31:55 +01:00
}
2022-07-18 21:40:31 +02:00
2023-12-09 14:39:09 +01:00
tasks.named('processResources', ProcessResources).configure {
2022-07-19 01:10:20 +02:00
outputs.upToDateWhen {
false
2022-07-18 21:40:31 +02:00
}
2022-07-19 01:10:20 +02:00
from sourceSets.main.resources
filesMatching(['META-INF/mods.toml']) {
expand project.properties
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
2022-07-18 21:40:31 +02:00
}
2023-06-11 13:52:10 +02:00
curseforge {
apiKey = project.hasProperty("curse_api_key") ? curse_api_key : ''
project {
id = curse_project_id
changelog = file('changelog.txt').canRead() ? file('changelog.txt').text : ''
changelogType = 'text'
releaseType = 'release'
addGameVersion 'Forge'
forge_compatible_minecraft_versions.split(",").each {
addGameVersion(it)
}
mainArtifact(jar) {
displayName = "${minecraft_version}-${mod_version} Universal"
}
}
options {
javaVersionAutoDetect = false
forgeGradleIntegration = false
}
}