From 53bed854e766c9bad6b09e07061b2fba0d5ce6f4 Mon Sep 17 00:00:00 2001 From: Moritz Ruth Date: Sat, 20 Jun 2020 22:25:04 +0200 Subject: [PATCH] Allow disabling certain classes for a specific map --- .../spigot_ttt/game/classes/TTTClassCompanion.kt | 4 ++-- .../moritzruth/spigot_ttt/game/classes/TTTClassManager.kt | 8 +++++--- .../moritzruth/spigot_ttt/game/players/TTTScoreboard.kt | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassCompanion.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassCompanion.kt index 9a83b1a..01d5c97 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassCompanion.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassCompanion.kt @@ -8,12 +8,12 @@ import kotlin.reflect.KClass import kotlin.reflect.full.primaryConstructor abstract class TTTClassCompanion( - val displayName: String, + val name: String, val chatColor: ChatColor, private val instanceType: KClass, val defaultItems: Set> = emptySet() ) { - val coloredDisplayName = "$chatColor$displayName" + val coloredDisplayName = "$chatColor$name" fun createInstance(tttPlayer: TTTPlayer): TTTClass { val instance = instanceType.primaryConstructor!!.call() instance.tttPlayer = tttPlayer diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassManager.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassManager.kt index 002428f..6497592 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassManager.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/classes/TTTClassManager.kt @@ -1,5 +1,6 @@ package de.moritzruth.spigot_ttt.game.classes +import de.moritzruth.spigot_ttt.game.GameManager import de.moritzruth.spigot_ttt.game.classes.impl.* import java.util.* @@ -11,11 +12,12 @@ object TTTClassManager { val listeners = TTT_CLASSES.mapNotNull { it.listener } fun createClassesIterator(count: Int): Iterator { - val set: MutableSet = TTT_CLASSES.toMutableSet() + val classes: MutableSet = TTT_CLASSES.toMutableSet() + classes.removeAll { GameManager.tttWorld!!.config.getStringList("blocked-classes").contains(it.name) } val playersWithoutClass = count - TTT_CLASSES.size - if (playersWithoutClass > 0) set.addAll(Collections.nCopies(playersWithoutClass, TTTClass.None)) + if (playersWithoutClass > 0) classes.addAll(Collections.nCopies(playersWithoutClass, TTTClass.None)) - return set.shuffled().iterator() + return classes.shuffled().iterator() } } diff --git a/src/main/kotlin/de/moritzruth/spigot_ttt/game/players/TTTScoreboard.kt b/src/main/kotlin/de/moritzruth/spigot_ttt/game/players/TTTScoreboard.kt index 666cbcb..e20705f 100644 --- a/src/main/kotlin/de/moritzruth/spigot_ttt/game/players/TTTScoreboard.kt +++ b/src/main/kotlin/de/moritzruth/spigot_ttt/game/players/TTTScoreboard.kt @@ -88,7 +88,7 @@ class TTTScoreboard(private val tttPlayer: TTTPlayer) { val classDisplayName = if (tttPlayer.tttClass == TTTClass.None) TTTClass.None.coloredDisplayName - else "${tttPlayer.tttClass.chatColor}${ChatColor.BOLD}${tttPlayer.tttClass.displayName}" + else "${tttPlayer.tttClass.chatColor}${ChatColor.BOLD}${tttPlayer.tttClass.name}" setValue(ValueTeam.CLASS, "Klasse: $classDisplayName")