ExtraHoppers-forge/src/main/kotlin/net/shadowfacts/extrahoppers/ExtraHoppers.kt

57 lines
1.8 KiB
Kotlin

package net.shadowfacts.extrahoppers
import net.minecraft.item.Item
import net.minecraftforge.fml.client.registry.ClientRegistry
import net.minecraftforge.fml.common.Mod
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent
import net.minecraftforge.fml.common.network.NetworkRegistry
import net.minecraftforge.fml.common.registry.GameRegistry
import net.minecraftforge.fml.relauncher.Side
import net.minecraftforge.fml.relauncher.SideOnly
import net.shadowfacts.extrahoppers.block.ModBlocks
import net.shadowfacts.extrahoppers.block.fluid.TileEntityFluidHopper
import net.shadowfacts.extrahoppers.block.fluid.TESRFluidHopper
import net.shadowfacts.extrahoppers.gui.GUIHandler
/**
* @author shadowfacts
*/
@Mod(modid = MOD_ID, name = NAME, version = VERSION, dependencies = "required-after:shadowmc;", modLanguageAdapter = "net.shadowfacts.forgelin.KotlinAdapter", guiFactory = "net.shadowfacts.extrahoppers.gui.EHGUIFactory")
object ExtraHoppers {
// Content
val blocks = ModBlocks
@Mod.EventHandler
fun preInit(event: FMLPreInitializationEvent) {
EHConfig.init(event.modConfigurationDirectory)
EHConfig.save()
blocks.init()
ModRecipes.init()
NetworkRegistry.INSTANCE.registerGuiHandler(ExtraHoppers, GUIHandler)
}
@Mod.EventHandler
@SideOnly(Side.CLIENT)
fun preInitClient(event: FMLPreInitializationEvent) {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFluidHopper::class.java, TESRFluidHopper)
}
@Mod.EventHandler
fun missingMappings(event: FMLMissingMappingsEvent) {
event.get().forEach {
if (it.name == "funnels:funnel") {
if (it.type == GameRegistry.Type.BLOCK) {
it.remap(blocks.fluidHopper)
} else {
it.remap(Item.getItemFromBlock(blocks.fluidHopper))
}
}
}
}
}