fix leaves light properties

This commit is contained in:
Moritz Zwerger 2023-07-30 16:36:52 +02:00
parent 726493e9ea
commit 16a8941f55
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -14,6 +14,8 @@
package de.bixilon.minosoft.data.registries.blocks.types.wood
import de.bixilon.minosoft.data.direction.Directions
import de.bixilon.minosoft.data.registries.blocks.light.CustomLightProperties
import de.bixilon.minosoft.data.registries.blocks.light.LightProperties
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
@ -21,16 +23,21 @@ import de.bixilon.minosoft.data.registries.blocks.state.builder.BlockStateBuilde
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.fluid.water.WaterloggableBlock
import de.bixilon.minosoft.data.registries.blocks.types.properties.LightedBlock
import de.bixilon.minosoft.data.registries.blocks.types.properties.item.BlockWithItem
import de.bixilon.minosoft.data.registries.blocks.types.properties.shape.special.FullBlock
import de.bixilon.minosoft.data.registries.blocks.types.properties.transparency.TransparentBlock
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.data.registries.item.items.Item
import de.bixilon.minosoft.data.registries.item.items.tool.properties.requirement.ToolRequirement
import de.bixilon.minosoft.data.registries.item.items.tool.shears.ShearsItem
import de.bixilon.minosoft.data.registries.item.items.tool.shears.ShearsRequirement
import de.bixilon.minosoft.data.registries.item.items.tool.sword.SwordItem
import de.bixilon.minosoft.data.registries.item.items.tool.sword.SwordRequirement
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakedFace
import de.bixilon.minosoft.gui.rendering.models.block.state.baked.cull.CustomBlockCulling
abstract class LeavesBlock(identifier: ResourceLocation, settings: BlockSettings) : Block(identifier, settings), CustomBlockCulling, FullBlock, TransparentBlock, BlockStateBuilder, ShearsRequirement, WaterloggableBlock, BlockWithItem<Item> {
abstract class LeavesBlock(identifier: ResourceLocation, settings: BlockSettings) : Block(identifier, settings), CustomBlockCulling, FullBlock, BlockStateBuilder, ToolRequirement, WaterloggableBlock, BlockWithItem<Item>, LightedBlock {
override val hardness get() = 0.2f
override val item: Item = this::item.inject(identifier)
@ -38,7 +45,17 @@ abstract class LeavesBlock(identifier: ResourceLocation, settings: BlockSettings
return PropertyBlockState(this, settings)
}
override fun getLightProperties(blockState: BlockState) = LIGHT_PROPERTIES
override fun shouldCull(state: BlockState, face: BakedFace, directions: Directions, neighbour: BlockState): Boolean {
return neighbour.block != this
}
override fun isCorrectTool(item: Item): Boolean {
return item is SwordItem || item is ShearsItem
}
companion object {
val LIGHT_PROPERTIES = CustomLightProperties(true, false, true)
}
}