MatterLink/src/main/kotlin/civilengineering/CivilEngineering.kt

76 lines
2.4 KiB
Kotlin

package civilengineering
import civilengineering.bridge.MessageHandler
import civilengineering.bridge.ServerChatHelper
import civilengineering.command.BridgeCommand
import civilengineering.eventhandlers.ChatMessageHandler
import civilengineering.eventhandlers.DeathEventHandler
import civilengineering.eventhandlers.CommandEventHandler
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.fml.common.Mod
import net.minecraftforge.fml.common.event.*
import org.apache.logging.log4j.Level
import org.apache.logging.log4j.Logger
import org.apache.logging.log4j.message.SimpleMessageFactory
import org.apache.logging.log4j.simple.SimpleLogger
import org.apache.logging.log4j.util.PropertiesUtil
import java.util.*
const val MODID = "civilengineering"
const val NAME = "Civil Engineering"
const val VERSION = "0.1.1"
@Mod(
modid = MODID,
name = NAME, version = VERSION,
serverSideOnly = true,
useMetadata = true,
acceptableRemoteVersions = "*",
modLanguageAdapter = "net.shadowfacts.forgelin.KotlinAdapter"
)
object CivilEngineering {
//create fake logger to get around Nullability
var logger: Logger = SimpleLogger("",
Level.OFF,
false,
false,
false,
false,
"",
SimpleMessageFactory(),
PropertiesUtil(Properties()),
System.out)
@Mod.EventHandler
fun preInit(event: FMLPreInitializationEvent) {
logger = event.modLog
logger.info("Building bridge!")
CivilEngineeringConfig(event.modConfigurationDirectory)
}
@Mod.EventHandler
fun postInit(event: FMLPostInitializationEvent) {
// MinecraftForge.EVENT_BUS.register(ServerChatHelper::class.java)
}
@Mod.EventHandler
fun serverStarting(event: FMLServerStartingEvent) {
logger.debug("Registering bridge commands")
event.registerServerCommand(BridgeCommand())
MessageHandler.start()
//maybe try registering them manually
MinecraftForge.EVENT_BUS.register(ServerChatHelper())
MinecraftForge.EVENT_BUS.register(ChatMessageHandler())
MinecraftForge.EVENT_BUS.register(DeathEventHandler())
MinecraftForge.EVENT_BUS.register(CommandEventHandler())
}
@Mod.EventHandler
fun serverStopping(event: FMLServerStoppingEvent) {
MessageHandler.stop()
}
}