package nl.kallestruik.darena.arenas import nl.kallestruik.darena.types.arena.ArenaLoadout import nl.kallestruik.darena.types.arena.ArenaSpawn import nl.kallestruik.darena.types.arena.ArenaCheckpoint import nl.kallestruik.darena.types.arena.ArenaPoints import nl.kallestruik.darena.util.ConfigHelper import java.io.File data class ArenaConfig( var name: String = "[Missing name]", var spawns: List = emptyList(), var loadouts: List = emptyList(), var checkpoints: List = emptyList(), var points: ArenaPoints = ArenaPoints(), ) { companion object { fun load(file: File): ArenaConfig { val config = ConfigHelper.getOrCreateConfig(file, "template/arena.yml") val arenaConfig = ArenaConfig() if (config.contains("name")) { arenaConfig.name = config.getString("name")!! } if (config.contains("spawns")) { arenaConfig.spawns = ArenaSpawn.loadList(config.getConfigurationSection("spawns")!!) } if (config.contains("loadouts")) { arenaConfig.loadouts = ArenaLoadout.loadList(config.getConfigurationSection("loadouts")!!) } if (config.contains("checkpoints")) { arenaConfig.checkpoints = ArenaCheckpoint.loadList(config.getConfigurationSection("checkpoints")!!) } if (config.contains("points")) { arenaConfig.points = ArenaPoints.load(config.getConfigurationSection("points")!!) } return arenaConfig } } }