PhysicalConnectivity/src/main/kotlin/net/shadowfacts/phycon/init/PhyItems.kt

78 lines
3.2 KiB
Kotlin

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