Make TNTLeague Event System Capable

This commit is contained in:
2025-02-01 21:50:36 +01:00
parent 90666e2d20
commit 3d153d49b5
10 changed files with 182 additions and 79 deletions
@@ -19,6 +19,10 @@
package de.steamwar.tntleague.config
import de.steamwar.message.SubMessage
import de.steamwar.sql.Event
import de.steamwar.sql.EventFight
import de.steamwar.sql.Team
import de.steamwar.tntleague.plugin
import org.bukkit.Material
import org.bukkit.configuration.ConfigurationSection
@@ -36,7 +40,34 @@ data class TNTLeagueConfig(
val blueLeader: UUID? = System.getProperty("blueLeader")?.let { UUID.fromString(it) },
val redLeader: UUID? = System.getProperty("redLeader")?.let { UUID.fromString(it) },
val eventFightId: Int? = System.getProperty("fightID")?.toInt()
) {
lateinit var eventFight: EventFight
lateinit var event: Event
lateinit var eventTeamBlue: Team
lateinit var eventTeamRed: Team
val blueTeam: TeamConfig
val redTeam: TeamConfig
init {
if (eventFightId != null) {
eventFight = EventFight.get(eventFightId) ?: throw IllegalArgumentException("EventFight with ID $eventFightId not found")
event = Event.get(eventFight.eventID)
eventTeamBlue = Team.get(eventFight.teamBlue)
eventTeamRed = Team.get(eventFight.teamRed)
blueTeam = TeamConfig(TNTLeagueWorldConfig.blueTeam, SubMessage.Literal("§${eventTeamBlue.teamColor}${eventTeamBlue.teamName}"), eventTeamBlue.teamColor[0])
redTeam = TeamConfig(TNTLeagueWorldConfig.redTeam, SubMessage.Literal("§${eventTeamRed.teamColor}${eventTeamRed.teamName}"), eventTeamRed.teamColor[0])
} else {
blueTeam = TeamConfig(TNTLeagueWorldConfig.blueTeam, SubMessage.Translatable("BLUE"), '3')
redTeam = TeamConfig(TNTLeagueWorldConfig.redTeam, SubMessage.Translatable("RED"), 'c')
}
}
companion object {
val config: TNTLeagueConfig by lazy { loadConfig(plugin.config) }
@@ -55,6 +86,8 @@ data class TNTLeagueConfig(
)
}.mapKeys { Material.getMaterial(it.key) ?: Material.BARRIER }
}
fun isEvent() = config.eventFightId != null
}
data class Price(