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.
55 lines
1.3 KiB
Kotlin
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 ))
|
|
}
|