plugins { kotlin("jvm") version "2.0.0" kotlin("plugin.serialization") version "1.7.0" id("io.github.goooler.shadow") version "8.1.7" id("net.kyori.blossom") version "2.1.0" id("net.kyori.indra.git") version "3.1.3" id("org.jetbrains.gradle.plugin.idea-ext") version "1.1.8" } group = "dev.jansel" version = "1.0-SNAPSHOT" repositories { mavenCentral() maven { name = "papermc-repo" url = uri("https://repo.papermc.io/repository/maven-public/") } maven { name = "sonatype" url = uri("https://oss.sonatype.org/content/groups/public/") } } var ktorVersion = "2.3.11" dependencies { compileOnly("io.papermc.paper:paper-api:1.20.6-R0.1-SNAPSHOT") implementation("org.jetbrains.kotlin:kotlin-stdlib") implementation("org.bstats:bstats-bukkit:3.0.2") implementation("com.google.code.gson:gson:2.11.0") // Ktor implementation("io.ktor:ktor-client-core:$ktorVersion") implementation("io.ktor:ktor-client-cio:$ktorVersion") implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") implementation("io.ktor:ktor-client-serialization:$ktorVersion") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") // Adventure API implementation("net.kyori:adventure-api:4.17.0") implementation("net.kyori:adventure-text-minimessage:4.17.0") implementation("net.kyori:adventure-platform-bukkit:4.3.3") } kotlin { sourceSets["main"].apply { kotlin.srcDir("src/main/kotlin") } jvmToolchain(21) compilerOptions { apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0) } } sourceSets { main { blossom { resources { property("version", project.version.toString()) property("gitCommit", indraGit.commit()?.name) } } } } tasks.build { dependsOn(tasks.shadowJar) } tasks.shadowJar { relocate("org.bstats", "dev.jansel") }