2019-10-27 01:36:31 +00:00
|
|
|
package net.shadowfacts.phycon.init
|
|
|
|
|
|
|
|
import net.minecraft.block.Block
|
|
|
|
import net.minecraft.block.entity.BlockEntity
|
|
|
|
import net.minecraft.block.entity.BlockEntityType
|
|
|
|
import net.minecraft.util.Identifier
|
|
|
|
import net.minecraft.util.registry.Registry
|
2021-02-15 01:01:33 +00:00
|
|
|
import net.shadowfacts.phycon.network.block.extractor.ExtractorBlock
|
|
|
|
import net.shadowfacts.phycon.network.block.extractor.ExtractorBlockEntity
|
2021-02-14 02:37:39 +00:00
|
|
|
import net.shadowfacts.phycon.network.block.netinterface.InterfaceBlock
|
|
|
|
import net.shadowfacts.phycon.network.block.netinterface.InterfaceBlockEntity
|
2019-10-27 03:13:26 +00:00
|
|
|
import net.shadowfacts.phycon.network.block.netswitch.SwitchBlock
|
|
|
|
import net.shadowfacts.phycon.network.block.netswitch.SwitchBlockEntity
|
2021-02-14 02:37:39 +00:00
|
|
|
import net.shadowfacts.phycon.network.block.terminal.TerminalBlock
|
|
|
|
import net.shadowfacts.phycon.network.block.terminal.TerminalBlockEntity
|
2021-02-13 23:24:36 +00:00
|
|
|
import net.shadowfacts.phycon.network.block.test.DestBlock
|
|
|
|
import net.shadowfacts.phycon.network.block.test.DestBlockEntity
|
|
|
|
import net.shadowfacts.phycon.network.block.test.SourceBlock
|
|
|
|
import net.shadowfacts.phycon.network.block.test.SourceBlockEntity
|
|
|
|
|
2019-10-27 01:36:31 +00:00
|
|
|
/**
|
|
|
|
* @author shadowfacts
|
|
|
|
*/
|
|
|
|
object PhyBlockEntities {
|
|
|
|
|
2021-02-14 02:37:39 +00:00
|
|
|
val INTERFACE = create(::InterfaceBlockEntity, PhyBlocks.INTERFACE)
|
|
|
|
val TERMINAL = create(::TerminalBlockEntity, PhyBlocks.TERMINAL)
|
2019-10-27 03:13:26 +00:00
|
|
|
val SWITCH = create(::SwitchBlockEntity, PhyBlocks.SWITCH)
|
2021-02-15 01:01:33 +00:00
|
|
|
val EXTRACTOR = create(::ExtractorBlockEntity, PhyBlocks.EXTRACTOR)
|
|
|
|
|
2021-02-13 23:24:36 +00:00
|
|
|
val SOURCE = create(::SourceBlockEntity, PhyBlocks.SOURCE)
|
|
|
|
val DEST = create(::DestBlockEntity, PhyBlocks.DEST)
|
2019-10-27 01:36:31 +00:00
|
|
|
|
|
|
|
private fun <T: BlockEntity> create(builder: () -> T, block: Block): BlockEntityType<T> {
|
2021-02-13 23:24:36 +00:00
|
|
|
return BlockEntityType.Builder.create(builder, block).build(null)
|
2019-10-27 01:36:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fun init() {
|
2021-02-14 02:37:39 +00:00
|
|
|
register(InterfaceBlock.ID, INTERFACE)
|
|
|
|
register(TerminalBlock.ID, TERMINAL)
|
2019-10-27 03:13:26 +00:00
|
|
|
register(SwitchBlock.ID, SWITCH)
|
2021-02-15 01:01:33 +00:00
|
|
|
register(ExtractorBlock.ID, EXTRACTOR)
|
|
|
|
|
2021-02-13 23:24:36 +00:00
|
|
|
register(SourceBlock.ID, SOURCE)
|
|
|
|
register(DestBlock.ID, DEST)
|
2019-10-27 01:36:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private fun register(id: Identifier, type: BlockEntityType<*>) {
|
2021-02-10 23:55:49 +00:00
|
|
|
Registry.register(Registry.BLOCK_ENTITY_TYPE, id, type)
|
2019-10-27 01:36:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|