From 16a8941f55f70784c35da27c56fedb9479712229 Mon Sep 17 00:00:00 2001 From: Moritz Zwerger Date: Sun, 30 Jul 2023 16:36:52 +0200 Subject: [PATCH] fix leaves light properties --- .../blocks/types/wood/LeavesBlock.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/wood/LeavesBlock.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/wood/LeavesBlock.kt index 535c1fbc0..b4c497f3b 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/wood/LeavesBlock.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/types/wood/LeavesBlock.kt @@ -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 { +abstract class LeavesBlock(identifier: ResourceLocation, settings: BlockSettings) : Block(identifier, settings), CustomBlockCulling, FullBlock, BlockStateBuilder, ToolRequirement, WaterloggableBlock, BlockWithItem, 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) + } }