2025-04-22 09:22:46 -06:00

62 lines
1.7 KiB
Kotlin

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)
}
}