mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-12 00:47:26 -04:00
fix shulker box culling
This commit is contained in:
parent
3c321373b3
commit
68f8f63c04
@ -19,6 +19,9 @@ import de.bixilon.minosoft.data.registries.blocks.factory.BlockFactory
|
||||
import de.bixilon.minosoft.data.registries.blocks.light.CustomLightProperties
|
||||
import de.bixilon.minosoft.data.registries.blocks.settings.BlockSettings
|
||||
import de.bixilon.minosoft.data.registries.blocks.state.BlockState
|
||||
import de.bixilon.minosoft.data.registries.blocks.state.PropertyBlockState
|
||||
import de.bixilon.minosoft.data.registries.blocks.state.builder.BlockStateBuilder
|
||||
import de.bixilon.minosoft.data.registries.blocks.state.builder.BlockStateSettings
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.Block
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.properties.DyedBlock
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.properties.LightedBlock
|
||||
@ -29,12 +32,15 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.data.registries.item.items.Item
|
||||
import de.bixilon.minosoft.data.registries.registries.Registries
|
||||
import de.bixilon.minosoft.gui.rendering.models.block.state.render.property.FullBlockPropertyRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.models.loader.legacy.CustomModel
|
||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.versions.Version
|
||||
|
||||
open class ShulkerBoxBlock(identifier: ResourceLocation, settings: BlockSettings) : Block(identifier, settings), StorageBlock<ShulkerBoxBlockEntity>, FullOpaqueBlock, BlockWithItem<Item>, LightedBlock {
|
||||
open class ShulkerBoxBlock(identifier: ResourceLocation, settings: BlockSettings) : Block(identifier, settings), StorageBlock<ShulkerBoxBlockEntity>, FullOpaqueBlock, BlockWithItem<Item>, LightedBlock, BlockStateBuilder, CustomModel {
|
||||
override val item: Item = this::item.inject(identifier)
|
||||
override val hardness: Float get() = 2.0f
|
||||
|
||||
|
||||
init {
|
||||
this.model = FullBlockPropertyRenderer
|
||||
}
|
||||
@ -42,6 +48,10 @@ open class ShulkerBoxBlock(identifier: ResourceLocation, settings: BlockSettings
|
||||
override fun createBlockEntity(connection: PlayConnection) = ShulkerBoxBlockEntity(connection)
|
||||
override fun getLightProperties(blockState: BlockState) = LIGHT_PROPERTIES
|
||||
|
||||
override fun buildState(version: Version, settings: BlockStateSettings): BlockState {
|
||||
return PropertyBlockState(this, settings)
|
||||
}
|
||||
|
||||
|
||||
companion object : BlockFactory<ShulkerBoxBlock> {
|
||||
val LIGHT_PROPERTIES = CustomLightProperties(true, true, true)
|
||||
|
@ -64,6 +64,7 @@ class BlockLoader(private val loader: ModelLoader) {
|
||||
|
||||
fun load(latch: AbstractLatch?) {
|
||||
loader.context.connection.registries.block.async {
|
||||
if (it.model != null) return@async // model already set
|
||||
val model: DirectBlockModel
|
||||
try {
|
||||
model = loadState(it) ?: return@async
|
||||
|
Loading…
x
Reference in New Issue
Block a user