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) } }