48 lines
1.5 KiB
Kotlin
48 lines
1.5 KiB
Kotlin
package net.shadowfacts.phycon
|
|
|
|
import net.fabricmc.api.ModInitializer
|
|
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking
|
|
import net.fabricmc.fabric.api.transfer.v1.item.ItemStorage
|
|
import net.fabricmc.loader.api.FabricLoader
|
|
import net.shadowfacts.phycon.api.PhyConPlugin
|
|
import net.shadowfacts.phycon.block.p2p.P2PReceiverBlockEntity
|
|
import net.shadowfacts.phycon.init.PhyBlockEntities
|
|
import net.shadowfacts.phycon.init.PhyBlocks
|
|
import net.shadowfacts.phycon.init.PhyItems
|
|
import net.shadowfacts.phycon.init.PhyScreens
|
|
import net.shadowfacts.phycon.networking.*
|
|
import org.apache.logging.log4j.LogManager
|
|
|
|
/**
|
|
* @author shadowfacts
|
|
*/
|
|
object PhysicalConnectivity: ModInitializer {
|
|
|
|
val MODID = "phycon"
|
|
|
|
val NETWORK_LOGGER = LogManager.getLogger("PhyNet")
|
|
|
|
override fun onInitialize() {
|
|
PhyBlocks.init()
|
|
PhyBlockEntities.init()
|
|
PhyItems.init()
|
|
PhyScreens.init()
|
|
|
|
registerGlobalReceiver(C2SConfigureDevice)
|
|
registerGlobalReceiver(C2STerminalCraftingButton)
|
|
registerGlobalReceiver(C2STerminalRequestItem)
|
|
registerGlobalReceiver(C2STerminalUpdateDisplayedItems)
|
|
|
|
ItemStorage.SIDED.registerForBlockEntity(P2PReceiverBlockEntity::provideItemStorage, PhyBlockEntities.P2P_RECEIVER)
|
|
|
|
for (it in FabricLoader.getInstance().getEntrypoints("phycon", PhyConPlugin::class.java)) {
|
|
it.initializePhyCon(PhyConAPIImpl)
|
|
}
|
|
}
|
|
|
|
private fun registerGlobalReceiver(receiver: ServerReceiver) {
|
|
ServerPlayNetworking.registerGlobalReceiver(receiver.CHANNEL, receiver)
|
|
}
|
|
|
|
}
|