usefulskyblock/build.gradle
2025-08-11 17:43:42 +01:00

94 lines
No EOL
2.4 KiB
Groovy

import com.ncguy.usefulskyblock.generators.AdvancementGenerator
plugins {
id 'java'
id 'idea'
id 'org.jetbrains.kotlin.jvm'
id("xyz.jpenilla.run-paper") version "2.3.1"
id("net.devrieze.gradlecodegen") version "0.6.0"
}
group = 'com.ncguy'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
maven {
name = "papermc-repo"
url = "https://repo.papermc.io/repository/maven-public/"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/groups/public/"
}
maven {
name = "multiverseMultiverseReleases"
url = uri("https://repo.onarandombox.com/multiverse-releases")
}
}
dependencies {
compileOnly("io.papermc.paper:paper-api:${minecraft_version}${paper_version_suffix}")
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
testImplementation("com.google.code.gson:gson:2.13.1")
}
tasks {
runServer {
// Configure the Minecraft version for our task.
// This is the only required configuration besides applying the plugin.
// Your plugin's jar (or shadowJar if present) will be used automatically.
minecraftVersion("${minecraft_version}")
}
}
def targetJavaVersion = 21
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
options.release.set(targetJavaVersion)
}
}
task generateAdvancements {
doLast {
AdvancementGenerator.generate(file("src/main/resources/datapacks/usefulskyblock/data/usefulskyblock/advancement"),
file("src/main/gen/com/ncguy/usefulskyblock/Advancements.java"))
}
}
task generateAll {
dependsOn += generateAdvancements
}
generate.dependsOn += generateAll
processResources {
def props = [version: version]
inputs.properties props
filteringCharset 'UTF-8'
filesMatching('plugin.yml') {
expand props
}
}
kotlin {
jvmToolchain(21)
}
File genSrc = file('src/main/gen')
sourceSets.main.java.srcDirs += genSrc
idea.module.generatedSourceDirs += genSrc