Add KitCommand
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package club.mcscrims.speedhg
|
package club.mcscrims.speedhg
|
||||||
|
|
||||||
|
import club.mcscrims.speedhg.command.KitCommand
|
||||||
import club.mcscrims.speedhg.config.LanguageManager
|
import club.mcscrims.speedhg.config.LanguageManager
|
||||||
import club.mcscrims.speedhg.game.GameManager
|
import club.mcscrims.speedhg.game.GameManager
|
||||||
import club.mcscrims.speedhg.game.modules.AntiRunningManager
|
import club.mcscrims.speedhg.game.modules.AntiRunningManager
|
||||||
@@ -50,10 +51,10 @@ class SpeedHG : JavaPlugin() {
|
|||||||
scoreboardManager = ScoreboardManager( this )
|
scoreboardManager = ScoreboardManager( this )
|
||||||
|
|
||||||
kitManager = KitManager( this )
|
kitManager = KitManager( this )
|
||||||
|
|
||||||
// Register kits
|
// Register kits
|
||||||
kitManager.registerKit( GoblinKit() )
|
kitManager.registerKit( GoblinKit() )
|
||||||
|
|
||||||
|
registerCommands()
|
||||||
registerListener()
|
registerListener()
|
||||||
|
|
||||||
logger.info("SpeedHG wurde geladen!")
|
logger.info("SpeedHG wurde geladen!")
|
||||||
@@ -65,6 +66,13 @@ class SpeedHG : JavaPlugin() {
|
|||||||
super.onDisable()
|
super.onDisable()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun registerCommands()
|
||||||
|
{
|
||||||
|
val kitCommand = KitCommand()
|
||||||
|
getCommand( "kit" )?.setExecutor( kitCommand )
|
||||||
|
getCommand( "kit" )?.tabCompleter = kitCommand
|
||||||
|
}
|
||||||
|
|
||||||
private fun registerListener()
|
private fun registerListener()
|
||||||
{
|
{
|
||||||
val pm = Bukkit.getPluginManager()
|
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()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -53,7 +53,7 @@ class KitManager(
|
|||||||
|
|
||||||
fun getRegisteredKits(): Collection<Kit> = registeredKits.values
|
fun getRegisteredKits(): Collection<Kit> = registeredKits.values
|
||||||
|
|
||||||
fun getKit(id: String): Kit? = registeredKits[id]
|
fun getKit( id: String ): Kit? = registeredKits[id]
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// Player selections (lobby phase)
|
// Player selections (lobby phase)
|
||||||
|
|||||||
@@ -5,5 +5,8 @@ api-version: '1.21'
|
|||||||
|
|
||||||
depend:
|
depend:
|
||||||
- "WorldEdit"
|
- "WorldEdit"
|
||||||
- "Apollo-Bukkit"
|
|
||||||
- "McScrims-CoreSystem"
|
commands:
|
||||||
|
kit:
|
||||||
|
description: 'Select kits via command'
|
||||||
|
usage: '/kit <kitName>'
|
||||||
Reference in New Issue
Block a user