Fix kit construction

This commit is contained in:
TDSTOS
2025-12-09 01:07:50 +01:00
parent 728b7534ac
commit cb788930ad

View File

@@ -1,6 +1,8 @@
package club.mcscrims.speedhg.kit package club.mcscrims.speedhg.kit
import club.mcscrims.speedhg.SpeedHG import club.mcscrims.speedhg.SpeedHG
import club.mcscrims.speedhg.ability.AbilityContext
import club.mcscrims.speedhg.game.GameManager
import club.mcscrims.speedhg.kit.impl.AnchorKit import club.mcscrims.speedhg.kit.impl.AnchorKit
import net.kyori.adventure.text.Component import net.kyori.adventure.text.Component
import org.bukkit.Material import org.bukkit.Material
@@ -21,7 +23,7 @@ class KitManager(
fun initialize() fun initialize()
{ {
registerKit( registerKit(
kitClass = AnchorKit::class.java as Class<AbstractKit>, kitClass = AnchorKit::class.java,
id = "anchor", id = "anchor",
displayName = plugin.chatFormatter.format( "kits.anchor.displayName" ), displayName = plugin.chatFormatter.format( "kits.anchor.displayName" ),
description = emptyList(), description = emptyList(),
@@ -30,13 +32,33 @@ class KitManager(
} }
fun registerKit( fun registerKit(
kitClass: Class<AbstractKit>, kitClass: Class<out AbstractKit>,
id: String, id: String,
displayName: Component, displayName: Component,
description: List<String>, description: List<String>,
icon: Material icon: Material
) { ) {
val kit = kitClass.getDeclaredConstructor().newInstance( id, displayName, description, icon, PlayStyle.NULL, plugin, plugin.abilityContext, plugin.gameManager ) val constructor = kitClass.getDeclaredConstructor(
String::class.java,
Component::class.java,
List::class.java,
Material::class.java,
SpeedHG::class.java,
AbilityContext::class.java,
GameManager::class.java
)
val kit = constructor.newInstance(
id,
displayName,
description,
icon,
PlayStyle.NULL,
plugin,
plugin.abilityContext,
plugin.gameManager
)
kit.config = plugin.kitConfig.data.getConfigForKit( kit.id ) kit.config = plugin.kitConfig.data.getConfigForKit( kit.id )
kits[kit.id.lowercase()] = kit kits[kit.id.lowercase()] = kit
plugin.logger.info("Registered kit: ${kit.displayName} (${kit.id})") plugin.logger.info("Registered kit: ${kit.displayName} (${kit.id})")