Files
GameModes-SpeedHG/build.gradle.kts
TDSTOS 9d6bd6a6b8 Add kit system, KitManager and Goblin kit
Introduce a full kit framework and supporting utilities.

- Add core kit API: Kit, Playstyle, ActiveAbility, PassiveAbility, AbilityResult, charge state and PlayerChargeData.
- Implement KitManager for registration, lobby selections, apply/remove/clear lifecycle and charge tracking.
- Add KitEventDispatcher listener to centralize kit event handling (interact, hits, move) and integrate passive/active hooks.
- Provide example kit implementations: GoblinKit (functional abilities) and TemplateKit (reference).
- Add utilities: ItemBuilder and WorldEditUtils (WorldEdit-based sphere creation).
- Integrate into plugin: SpeedHG now initialises KitManager, registers kits and KitEventDispatcher, applies kits at game start and clears on end.
- LanguageManager: add default message/list/component helpers.
- Build changes: bump Kotlin plugin to 2.2.0 and add WorldEdit compileOnly deps; also expose legacySerializer in Extensions.

These changes implement the kit feature set (items, abilities, charge/recharge flow) and wire it into the game lifecycle.
2026-03-25 02:27:53 +01:00

55 lines
1.3 KiB
Kotlin

plugins {
id("java")
id("maven-publish")
id("com.github.johnrengelman.shadow") version "8.1.1"
kotlin("jvm") version "2.2.0"
kotlin("kapt") 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")
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())
}
build {
dependsOn( shadowJar )
}
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of( 21 ))
}