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

97 lines
4.0 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.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.p2p.P2PInterfaceBlock
import net.shadowfacts.phycon.block.p2p.P2PReceiverBlock
import net.shadowfacts.phycon.block.redstone_controller.RedstoneControllerBlock
import net.shadowfacts.phycon.block.redstone_emitter.RedstoneEmitterBlock
import net.shadowfacts.phycon.block.terminal.CraftingTerminalBlock
import net.shadowfacts.phycon.block.terminal.TerminalBlock
import net.shadowfacts.phycon.item.DeviceBlockItem
import net.shadowfacts.phycon.item.FaceDeviceBlockItem
import net.shadowfacts.phycon.util.text
/**
* @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 CRAFTING_TERMINAL = DeviceBlockItem(PhyBlocks.CRAFTING_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 P2P_INTERFACE = FaceDeviceBlockItem(PhyBlocks.P2P_INTERFACE, Item.Settings())
val P2P_RECEIVER = FaceDeviceBlockItem(PhyBlocks.P2P_RECEIVER, 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(CraftingTerminalBlock.ID, CRAFTING_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(P2PInterfaceBlock.ID, P2P_INTERFACE)
P2P_INTERFACE.addTooltip(text {
withStyle(darkGray) {
+translate("tooltip.phycon.p2p_interface")
}
})
register(P2PReceiverBlock.ID, P2P_RECEIVER)
P2P_RECEIVER.addTooltip(text {
withStyle(darkGray) {
+translate("tooltip.phycon.p2p_receiver")
}
})
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)
}
}