leaderboard: improved format and more leaderboards

This commit is contained in:
Kenneth Endfinger 2021-12-23 02:38:59 -05:00
parent 4e066d8f11
commit ad8c82725b
No known key found for this signature in database
GPG Key ID: C4E68E5647420E10

View File

@ -13,7 +13,11 @@ class LeaderboardCommand : CommandExecutor, TabCompleter {
LeaderboardType("player-kills", Statistic.PLAYER_KILLS, "Player Kills", "kills"),
LeaderboardType("mob-kills", Statistic.MOB_KILLS, "Mob Kills", "kills"),
LeaderboardType("animals-bred", Statistic.ANIMALS_BRED, "Animals Bred", "animals"),
LeaderboardType("chest-opens", Statistic.CHEST_OPENED, "Chest Opens", "opens")
LeaderboardType("chest-opens", Statistic.CHEST_OPENED, "Chest Opens", "opens"),
LeaderboardType("raid-wins", Statistic.RAID_WIN, "Raid Wins", "wins"),
LeaderboardType("item-enchants", Statistic.ITEM_ENCHANTED, "Item Enchants", "enchants"),
LeaderboardType("damage-dealt", Statistic.DAMAGE_DEALT, "Damage Dealt", "damage"),
LeaderboardType("fish-caught", Statistic.FISH_CAUGHT, "Fish Caught", "fish")
)
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {
@ -31,7 +35,8 @@ class LeaderboardCommand : CommandExecutor, TabCompleter {
val topFivePlayers = statistics.take(5)
sender.sendMessage(
"${leaderboardType.friendlyName} Leaderboard:",
*topFivePlayers.map { "* ${it.first.name}: ${it.second} ${leaderboardType.unit}" }.toTypedArray()
*topFivePlayers.withIndex()
.map { "(#${it.index + 1}) ${it.value.first.name}: ${it.value.second} ${leaderboardType.unit}" }.toTypedArray()
)
return true
}