62 lines
1.7 KiB
Kotlin
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)
|
|
}
|
|
} |