Add KitCommand
This commit is contained in:
@@ -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()
|
||||
|
||||
67
src/main/kotlin/club/mcscrims/speedhg/command/KitCommand.kt
Normal file
67
src/main/kotlin/club/mcscrims/speedhg/command/KitCommand.kt
Normal 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()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,5 +5,8 @@ api-version: '1.21'
|
||||
|
||||
depend:
|
||||
- "WorldEdit"
|
||||
- "Apollo-Bukkit"
|
||||
- "McScrims-CoreSystem"
|
||||
|
||||
commands:
|
||||
kit:
|
||||
description: 'Select kits via command'
|
||||
usage: '/kit <kitName>'
|
||||
Reference in New Issue
Block a user