package com.github.itzilly.sbt import com.github.itzilly.sbt.command.ClientCommands import com.github.itzilly.sbt.command.ModCommandRegistry import com.github.itzilly.sbt.command.registerBaseCommand import com.github.itzilly.sbt.features.GrottoFinder import com.github.itzilly.sbt.features.RouteBuilder import net.minecraftforge.common.MinecraftForge import net.minecraftforge.common.config.Configuration import net.minecraftforge.fml.common.Mod import net.minecraftforge.fml.common.event.FMLInitializationEvent import net.minecraftforge.fml.common.event.FMLPreInitializationEvent import java.io.File @Mod(modid = "sbt", useMetadata = true, clientSideOnly = true) class SkyBlockTweaks { init { INSTANCE = this } companion object { lateinit var INSTANCE: SkyBlockTweaks lateinit var config: Configuration } @Mod.EventHandler fun preInit(event: FMLPreInitializationEvent) { val directory = event.modConfigurationDirectory config = Configuration(File(directory.path, "sbt.cfg")) loadConfig() } @Mod.EventHandler fun init(event: FMLInitializationEvent) { Keybinds.register() registerEventListeners() ModCommandRegistry.register(ClientCommands) registerBaseCommand() } private fun loadConfig() { config.load() if (config.hasChanged()) { config.save() } } fun syncConfig() { loadConfig() if (config.hasChanged()) { config.save() } } private fun registerEventListeners() { MinecraftForge.EVENT_BUS.register(RouteBuilder) MinecraftForge.EVENT_BUS.register(GrottoFinder) } }