package net.shadowfacts.phycon.init import net.minecraft.item.BlockItem import net.minecraft.item.Item import net.minecraft.util.Identifier import net.minecraft.util.registry.Registry import net.shadowfacts.phycon.PhysicalConnectivity import net.shadowfacts.phycon.item.ConsoleItem import net.shadowfacts.phycon.item.ScrewdriverItem import net.shadowfacts.phycon.block.cable.CableBlock import net.shadowfacts.phycon.block.extractor.ExtractorBlock import net.shadowfacts.phycon.block.inserter.InserterBlock import net.shadowfacts.phycon.block.miner.MinerBlock import net.shadowfacts.phycon.block.netinterface.InterfaceBlock import net.shadowfacts.phycon.block.netswitch.SwitchBlock import net.shadowfacts.phycon.block.redstone_controller.RedstoneControllerBlock import net.shadowfacts.phycon.block.redstone_emitter.RedstoneEmitterBlock import net.shadowfacts.phycon.block.terminal.TerminalBlock import net.shadowfacts.phycon.item.DeviceBlockItem import net.shadowfacts.phycon.item.FaceDeviceBlockItem /** * @author shadowfacts */ object PhyItems { val CABLES = PhyBlocks.CABLES.map { (color, block) -> color to BlockItem(block, Item.Settings()) }.toMap() val INTERFACE = FaceDeviceBlockItem(PhyBlocks.INTERFACE, Item.Settings()) val TERMINAL = DeviceBlockItem(PhyBlocks.TERMINAL, Item.Settings()) val SWITCH = BlockItem(PhyBlocks.SWITCH, Item.Settings()) val EXTRACTOR = FaceDeviceBlockItem(PhyBlocks.EXTRACTOR, Item.Settings()) val INSERTER = FaceDeviceBlockItem(PhyBlocks.INSERTER, Item.Settings()) val MINER = DeviceBlockItem(PhyBlocks.MINER, Item.Settings()) val REDSTONE_CONTROLLER = FaceDeviceBlockItem(PhyBlocks.REDSTONE_CONTROLLER, Item.Settings()) val REDSTONE_EMITTER = FaceDeviceBlockItem(PhyBlocks.REDSTONE_EMITTER, Item.Settings()) val SCREWDRIVER = ScrewdriverItem() val CONSOLE = ConsoleItem() val TWISTED_PAIR = Item(Item.Settings()) val SCREEN = Item(Item.Settings()) val SERIAL_CABLE = Item(Item.Settings()) val SILICON_WAFER = Item(Item.Settings()) val ITEM_PROCESSOR = Item(Item.Settings()) val REDSTONE_PROCESSOR = Item(Item.Settings()) fun init() { for ((color, item) in CABLES) { register(Identifier(PhysicalConnectivity.MODID, "cable_${color.getName()}"), item) } register(InterfaceBlock.ID, INTERFACE) register(TerminalBlock.ID, TERMINAL) register(SwitchBlock.ID, SWITCH) register(ExtractorBlock.ID, EXTRACTOR) register(InserterBlock.ID, INSERTER) register(MinerBlock.ID, MINER) register(RedstoneControllerBlock.ID, REDSTONE_CONTROLLER) register(RedstoneEmitterBlock.ID, REDSTONE_EMITTER) register(ScrewdriverItem.ID, SCREWDRIVER) register(ConsoleItem.ID, CONSOLE) register(Identifier(PhysicalConnectivity.MODID, "twisted_pair"), TWISTED_PAIR) register(Identifier(PhysicalConnectivity.MODID, "screen"), SCREEN) register(Identifier(PhysicalConnectivity.MODID, "serial_cable"), SERIAL_CABLE) register(Identifier(PhysicalConnectivity.MODID, "silicon_wafer"), SILICON_WAFER) register(Identifier(PhysicalConnectivity.MODID, "item_processor"), ITEM_PROCESSOR) register(Identifier(PhysicalConnectivity.MODID, "redstone_processor"), REDSTONE_PROCESSOR) } private fun register(id: Identifier, item: Item) { Registry.register(Registry.ITEM, id, item) } }