75 lines
2.3 KiB
Kotlin
75 lines
2.3 KiB
Kotlin
package matterlink
|
|
|
|
import cpw.mods.fml.common.FMLCommonHandler
|
|
import cpw.mods.fml.common.Mod
|
|
import cpw.mods.fml.common.event.FMLInitializationEvent
|
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent
|
|
import cpw.mods.fml.common.event.FMLServerStartingEvent
|
|
import cpw.mods.fml.common.event.FMLServerStoppingEvent
|
|
import matterlink.command.CommandMatterlink
|
|
import matterlink.command.MatterLinkCommandSender
|
|
import matterlink.config.BaseConfig
|
|
import matterlink.config.cfg
|
|
import net.minecraft.server.MinecraftServer
|
|
import net.minecraft.util.ChatComponentText
|
|
import net.minecraftforge.common.ForgeVersion
|
|
import net.minecraftforge.common.MinecraftForge
|
|
import org.apache.logging.log4j.Level
|
|
import org.apache.logging.log4j.Logger
|
|
|
|
lateinit var logger: Logger
|
|
|
|
@Mod(
|
|
modid = MODID,
|
|
name = NAME, version = MODVERSION,
|
|
useMetadata = true,
|
|
acceptableRemoteVersions = "*"
|
|
)
|
|
class MatterLink : IMatterLink() {
|
|
init {
|
|
instance = this
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
fun preInit(event: FMLPreInitializationEvent) {
|
|
MinecraftForge.EVENT_BUS.register(EventHandler)
|
|
FMLCommonHandler.instance().bus().register(EventHandler)
|
|
|
|
logger = event.modLog
|
|
logger.info("Building bridge!")
|
|
|
|
cfg = BaseConfig(event.modConfigurationDirectory).load()
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
fun init(event: FMLInitializationEvent) {
|
|
this.registerBridgeCommands()
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
fun serverStarting(event: FMLServerStartingEvent) {
|
|
logger.debug("Registering server commands")
|
|
event.registerServerCommand(CommandMatterlink())
|
|
start()
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
fun serverStopping(event: FMLServerStoppingEvent) {
|
|
stop()
|
|
}
|
|
|
|
//FORGE-DEPENDENT
|
|
override fun wrappedSendToPlayers(msg: String) {
|
|
MinecraftServer.getServer().configurationManager.sendChatMsg(ChatComponentText(msg))
|
|
}
|
|
|
|
override fun log(level: String, formatString: String, vararg data: Any) =
|
|
logger.log(Level.toLevel(level, Level.INFO), formatString, *data)
|
|
|
|
override fun commandSenderFor(user: String, userId: String, server: String, op: Boolean) = MatterLinkCommandSender(user, userId, server, op)
|
|
|
|
override val mcVersion: String = MCVERSION
|
|
override val modVersion: String = MODVERSION
|
|
override val forgeVersion = ForgeVersion.getVersion()
|
|
}
|