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

54 lines
1.8 KiB
Kotlin

package net.shadowfacts.phycon.init
import net.minecraft.block.Block
import net.minecraft.util.DyeColor
import net.minecraft.util.Identifier
import net.minecraft.util.registry.Registry
import net.shadowfacts.phycon.PhysicalConnectivity
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
/**
* @author shadowfacts
*/
object PhyBlocks {
val CABLES = DyeColor.values().map { it to CableBlock(it) }.toMap()
val INTERFACE = InterfaceBlock()
val TERMINAL = TerminalBlock()
val SWITCH = SwitchBlock()
val EXTRACTOR = ExtractorBlock()
val INSERTER = InserterBlock()
val MINER = MinerBlock()
val REDSTONE_CONTROLLER = RedstoneControllerBlock()
val REDSTONE_EMITTER = RedstoneEmitterBlock()
fun init() {
for ((color, block) in CABLES) {
register(Identifier(PhysicalConnectivity.MODID, "cable_${color.getName()}"), block)
}
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)
}
private fun register(id: Identifier, block: Block) {
Registry.register(Registry.BLOCK, id, block)
}
}