Add KitCommand
This commit is contained in:
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()
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user