From 0e43c2a615154c623635a7a275688dc92eb0c26c Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Tue, 17 Dec 2024 20:02:12 +0100 Subject: [PATCH] Hotfix: SW Survival --- .../tntleague/config/TNTLeagueWorldConfig.kt | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt b/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt index ae5054cd..6be87d7e 100644 --- a/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt +++ b/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt @@ -21,14 +21,15 @@ package de.steamwar.tntleague.config import de.steamwar.tntleague.plugin import de.steamwar.kotlin.util.Area -import de.steamwar.tntleague.TNTLeague import net.kyori.adventure.text.Component +import org.bukkit.Bukkit import org.bukkit.Location import org.bukkit.Material import org.bukkit.configuration.ConfigurationSection import org.bukkit.configuration.file.YamlConfiguration import org.bukkit.entity.WanderingTrader import java.io.File +import kotlin.properties.Delegates val world by lazy { plugin.server.worlds.first()!! } @@ -52,12 +53,25 @@ object TNTLeagueWorldConfig { ) } - val blueTeam: TeamConfig = TeamConfig.fromConfig(config.getConfigurationSection("blueTeam")!!) - val redTeam: TeamConfig = TeamConfig.fromConfig(config.getConfigurationSection("redTeam")!!) - val lobby: Location = config.getWorldLocation("lobby", blueTeam.spawnLocation.clone().add(redTeam.spawnLocation).multiply(0.5))!! - val targetMaterial: Material = Material.matchMaterial(config.getString("targetMaterial", "IRON_BLOCK")!!)!! - val minHeight: Int = config.getInt("minHeight", 0) - val target: Int = config.getInt("target", -1) + lateinit var blueTeam: TeamConfig + lateinit var redTeam: TeamConfig + lateinit var lobby: Location + lateinit var targetMaterial: Material + var minHeight by Delegates.notNull() + var target by Delegates.notNull() + + init { + try { + blueTeam = TeamConfig.fromConfig(config.getConfigurationSection("blueTeam")!!) + redTeam = TeamConfig.fromConfig(config.getConfigurationSection("redTeam")!!) + lobby = config.getWorldLocation("lobby", blueTeam.spawnLocation.clone().add(redTeam.spawnLocation).multiply(0.5)) + targetMaterial = Material.matchMaterial(config.getString("targetMaterial", "IRON_BLOCK")!!)!! + minHeight = config.getInt("minHeight", 0) + target = config.getInt("target", -1) + } catch (e: NullPointerException) { + Bukkit.shutdown() + } + } @JvmRecord data class TeamConfig(