diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java index 78744b74d7a0..ae449a1083e8 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/block/CraftBlockType.java @@ -16,7 +16,6 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; -import net.minecraft.world.level.EmptyBlockGetter; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Fallable; @@ -200,7 +199,7 @@ public boolean isBurnable() { @Override public boolean isOccluding() { - return this.getHandle().defaultBlockState().isRedstoneConductor(EmptyBlockGetter.INSTANCE, BlockPos.ZERO); + return this.getHandle().defaultBlockState().canOcclude(); } @Override diff --git a/paper-server/src/test/java/org/bukkit/craftbukkit/block/BlockTypeTest.java b/paper-server/src/test/java/org/bukkit/craftbukkit/block/BlockTypeTest.java index cbc3dc039643..65a72891414e 100644 --- a/paper-server/src/test/java/org/bukkit/craftbukkit/block/BlockTypeTest.java +++ b/paper-server/src/test/java/org/bukkit/craftbukkit/block/BlockTypeTest.java @@ -21,4 +21,13 @@ public void testBlockDataClasses() throws Exception { assertThat(actual, is(expected)); } } + + @Test + public void testOcclusionMatchesDefaultBlockData() throws Exception { + for (Field f : BlockType.class.getDeclaredFields()) { + BlockType type = (BlockType) f.get(null); + + assertThat(type.isOccluding(), is(type.createBlockData().isOccluding()), type.getKey() + " should match its default BlockData occlusion"); + } + } }