Add KitCommand

This commit is contained in:
TDSTOS
2026-03-25 02:37:16 +01:00
parent 9d6bd6a6b8
commit 72c461ab28
4 changed files with 82 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
package club.mcscrims.speedhg
import club.mcscrims.speedhg.command.KitCommand
import club.mcscrims.speedhg.config.LanguageManager
import club.mcscrims.speedhg.game.GameManager
import club.mcscrims.speedhg.game.modules.AntiRunningManager
@@ -50,10 +51,10 @@ class SpeedHG : JavaPlugin() {
scoreboardManager = ScoreboardManager( this )
kitManager = KitManager( this )
// Register kits
kitManager.registerKit( GoblinKit() )
registerCommands()
registerListener()
logger.info("SpeedHG wurde geladen!")
@@ -65,6 +66,13 @@ class SpeedHG : JavaPlugin() {
super.onDisable()
}
private fun registerCommands()
{
val kitCommand = KitCommand()
getCommand( "kit" )?.setExecutor( kitCommand )
getCommand( "kit" )?.tabCompleter = kitCommand
}
private fun registerListener()
{
val pm = Bukkit.getPluginManager()

View File

@@ -0,0 +1,67 @@
package club.mcscrims.speedhg.command
import club.mcscrims.speedhg.SpeedHG
import club.mcscrims.speedhg.util.legacySerializer
import club.mcscrims.speedhg.util.sendMsg
import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor
import org.bukkit.command.CommandSender
import org.bukkit.command.TabCompleter
import org.bukkit.entity.Player
class KitCommand : CommandExecutor, TabCompleter {
private val plugin = SpeedHG.instance
override fun onCommand(
sender: CommandSender,
command: Command,
label: String,
args: Array<out String>?
): Boolean
{
val player = sender as? Player
if ( player == null )
{
sender.sendMessage( "§cOnly players can execute this command." )
return true
}
if ( args.isNullOrEmpty() )
{
player.sendMsg( "commands.kit.usage" )
return true
}
val kitName = args[0]
val kit = plugin.kitManager.getKit( kitName )
if ( kit == null )
{
player.sendMsg( "commands.kit.kitNotFound", "kit" to kitName )
return true
}
plugin.kitManager.selectKit( player, kit )
player.sendMsg( "commands.kit.selected", "kit" to legacySerializer.serialize( kit.displayName ))
return true
}
override fun onTabComplete(
sender: CommandSender,
command: Command,
label: String,
args: Array<out String>?
): List<String?>
{
if ( args.isNullOrEmpty() )
return listOf()
if ( args.size == 1 )
return plugin.kitManager.getRegisteredKits().map { it.id }
return listOf()
}
}

View File

@@ -5,5 +5,8 @@ api-version: '1.21'
depend:
- "WorldEdit"
- "Apollo-Bukkit"
- "McScrims-CoreSystem"
commands:
kit:
description: 'Select kits via command'
usage: '/kit <kitName>'