Files
GameModes-SpeedHG/build.gradle.kts
TDSTOS 13f6ce5638 Add tablist manager and Volcano rank provider
Introduce a TablistManager to manage per-player scoreboard teams, tab header/footer and periodic updates; uses a ServerRankProvider abstraction. Add DefaultServerRankProvider and VolcanoServerRankProvider (uses CoreAPI) in ServerRankProvider.kt. Wire TablistManager into SpeedHG: initialize in onLoad, update on join, and shutdown on disable. Add local VolcanoAPI.jar as compileOnly dependency and declare Volcano as a plugin dependency in plugin.yml.
2026-04-11 02:34:42 +02:00

69 lines
1.8 KiB
Kotlin

plugins {
id("java")
id("maven-publish")
id("com.gradleup.shadow") version "8.3.5"
kotlin("jvm") version "2.2.0"
kotlin("kapt") version "2.2.0"
kotlin("plugin.serialization") version "2.2.0"
}
group = "club.mcscrims"
version = "1.0.0"
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
maven("https://oss.sonatype.org/content/repositories/snapshots/")
maven("https://libraries.minecraft.net/")
maven("https://repo.codemc.io/repository/maven-public/")
maven("https://repo.lunarclient.dev")
maven("https://maven.enginehub.org/repo/")
}
dependencies {
implementation("fr.mrmicky:fastboard:2.1.3")
implementation("com.zaxxer:HikariCP:5.1.0")
implementation("com.mysql:mysql-connector-j:8.4.0")
implementation(libs.kotlinxCoroutines)
implementation(libs.kotlinxSerialization)
compileOnly("com.lunarclient:apollo-api:1.2.4")
compileOnly("com.lunarclient:apollo-extra-adventure4:1.2.4")
compileOnly(files( "${rootProject.projectDir}/libs/VolcanoAPI.jar" ))
compileOnly("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
compileOnly("com.sk89q.worldedit:worldedit-core:7.2.17-SNAPSHOT")
compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.2.17-SNAPSHOT")
}
tasks {
compileKotlin {
compilerOptions.freeCompilerArgs.set(listOf( "-Xjsr305=strict" ))
}
compileJava {
options.encoding = "UTF-8"
}
shadowJar {
archiveBaseName.set("GameModes-SpeedHG")
archiveClassifier.set("")
archiveVersion.set(project.version.toString())
relocate("fr.mrmicky.fastboard", "club.mcscrims.speedhg.libs.fastboard")
relocate("com.zaxxer.hikari", "club.mcscrims.speedhg.libs.hikari")
}
build {
dependsOn( shadowJar )
}
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of( 21 ))
}