32 lines
1.1 KiB
Kotlin
32 lines
1.1 KiB
Kotlin
package net.shadowfacts.extrahoppers.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
|
|
import net.shadowfacts.extrahoppers.block.gold.GoldHopperBlock
|
|
import net.shadowfacts.extrahoppers.block.gold.GoldHopperBlockEntity
|
|
import net.shadowfacts.extrahoppers.block.wood.WoodHopperBlock
|
|
import net.shadowfacts.extrahoppers.block.wood.WoodHopperBlockEntity
|
|
|
|
object EHBlockEntities {
|
|
|
|
val WOOD_HOPPER = create(::WoodHopperBlockEntity, EHBlocks.WOOD_HOPPER)
|
|
val GOLD_HOPPER = create(::GoldHopperBlockEntity, EHBlocks.GOLD_HOPPER)
|
|
|
|
fun init() {
|
|
register(WoodHopperBlock.ID, WOOD_HOPPER)
|
|
register(GoldHopperBlock.ID, GOLD_HOPPER)
|
|
}
|
|
|
|
private fun <T: BlockEntity> create(builder: () -> T, block: Block): BlockEntityType<T> {
|
|
return BlockEntityType.Builder.create(builder, arrayOf(block)).build(null)
|
|
}
|
|
|
|
fun register(id: Identifier, type: BlockEntityType<*>) {
|
|
Registry.register(Registry.BLOCK_ENTITY_TYPE, id, type)
|
|
}
|
|
|
|
}
|