From 3e7c88d3ae14ea6814d4c549ad0d6db7f46e61b4 Mon Sep 17 00:00:00 2001 From: Jeff Shipley Date: Tue, 15 Oct 2024 19:42:22 -0600 Subject: [PATCH] Container improvements. Added sound effects and comparator output, and stopped blocking chests. --- .../blockentities/ContainerBlockEntity.java | 12 ++ .../common/blocks/CounterBlock.java | 12 ++ .../common/blocks/CupboardBlock.java | 12 ++ .../handcrafted/common/blocks/DeskBlock.java | 13 ++ .../common/blocks/DrawerBlock.java | 12 ++ .../common/blocks/NightstandBlock.java | 13 ++ .../handcrafted/common/blocks/ShelfBlock.java | 12 ++ .../common/blocks/SideTableBlock.java | 13 ++ .../common/registry/ModBlocks.java | 132 +++++++++--------- 9 files changed, 165 insertions(+), 66 deletions(-) diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blockentities/ContainerBlockEntity.java b/common/src/main/java/earth/terrarium/handcrafted/common/blockentities/ContainerBlockEntity.java index deca19fc..db0f209e 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blockentities/ContainerBlockEntity.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blockentities/ContainerBlockEntity.java @@ -6,8 +6,10 @@ import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; import net.minecraft.world.ContainerHelper; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.ChestMenu; import net.minecraft.world.item.ItemStack; @@ -64,4 +66,14 @@ protected void setItems(NonNullList itemStacks) { public int getContainerSize() { return 27; } + + @Override + public void startOpen(Player player) { + player.playSound(SoundEvents.CHEST_OPEN, 1.0f, 1.0f); + } + + @Override + public void stopOpen(Player player) { + player.playSound(SoundEvents.CHEST_CLOSE, 1.0f, 1.0f); + } } diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CounterBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CounterBlock.java index 088cc57f..4c248c93 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CounterBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CounterBlock.java @@ -13,10 +13,12 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundSource; +import net.minecraft.world.Container; import net.minecraft.world.Containers; import net.minecraft.world.InteractionHand; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -105,6 +107,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.COUNTER, ConstantComponents.HAMMER_USE_LOOK); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CupboardBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CupboardBlock.java index 3ae89cb2..717306cc 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CupboardBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/CupboardBlock.java @@ -11,10 +11,12 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundSource; +import net.minecraft.world.Container; import net.minecraft.world.Containers; import net.minecraft.world.InteractionHand; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -82,6 +84,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.HAMMER_USE_LOOK); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DeskBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DeskBlock.java index c0df799e..11cdef42 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DeskBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DeskBlock.java @@ -5,10 +5,13 @@ import earth.terrarium.handcrafted.common.utils.TooltipUtils; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; +import net.minecraft.world.Container; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.entity.BlockEntity; @@ -45,6 +48,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.SHEET); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DrawerBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DrawerBlock.java index eca96548..6defcd07 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DrawerBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/DrawerBlock.java @@ -12,10 +12,12 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundSource; +import net.minecraft.world.Container; import net.minecraft.world.Containers; import net.minecraft.world.InteractionHand; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -96,6 +98,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.HAMMER_USE_LOOK); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/NightstandBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/NightstandBlock.java index 12652d27..757fab50 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/NightstandBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/NightstandBlock.java @@ -5,10 +5,13 @@ import earth.terrarium.handcrafted.common.utils.TooltipUtils; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; +import net.minecraft.world.Container; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.entity.BlockEntity; @@ -45,6 +48,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.SHEET); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/ShelfBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/ShelfBlock.java index ca49516f..3bb56b3a 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/ShelfBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/ShelfBlock.java @@ -12,10 +12,12 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundSource; +import net.minecraft.world.Container; import net.minecraft.world.Containers; import net.minecraft.world.InteractionHand; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -96,6 +98,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.HAMMER_USE_LOOK); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/SideTableBlock.java b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/SideTableBlock.java index 19e4e1f4..9b2fe0bc 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/blocks/SideTableBlock.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/blocks/SideTableBlock.java @@ -5,10 +5,13 @@ import earth.terrarium.handcrafted.common.utils.TooltipUtils; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; +import net.minecraft.world.Container; +import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.entity.BlockEntity; @@ -45,6 +48,16 @@ public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new ContainerBlockEntity(pos, state); } + @Override + protected boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + protected int getAnalogOutputSignal(BlockState state, Level level, BlockPos pos) { + return AbstractContainerMenu.getRedstoneSignalFromContainer((Container)level.getBlockEntity(pos)); + } + @Override public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { TooltipUtils.addDescriptionComponent(tooltipComponents, ConstantComponents.SHEET); diff --git a/common/src/main/java/earth/terrarium/handcrafted/common/registry/ModBlocks.java b/common/src/main/java/earth/terrarium/handcrafted/common/registry/ModBlocks.java index 56998563..13c8a106 100644 --- a/common/src/main/java/earth/terrarium/handcrafted/common/registry/ModBlocks.java +++ b/common/src/main/java/earth/terrarium/handcrafted/common/registry/ModBlocks.java @@ -138,29 +138,29 @@ public class ModBlocks { public static final RegistryEntry SPRUCE_SIDE_TABLE = SIDE_TABLES.register("spruce_side_table", () -> new SideTableBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).noOcclusion())); public static final RegistryEntry WARPED_SIDE_TABLE = SIDE_TABLES.register("warped_side_table", () -> new SideTableBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).noOcclusion())); - public static final RegistryEntry ACACIA_DESK = DESKS.register("acacia_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion())); - public static final RegistryEntry BAMBOO_DESK = DESKS.register("bamboo_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).noOcclusion())); - public static final RegistryEntry BIRCH_DESK = DESKS.register("birch_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).noOcclusion())); - public static final RegistryEntry CHERRY_DESK = DESKS.register("cherry_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).noOcclusion())); - public static final RegistryEntry CRIMSON_DESK = DESKS.register("crimson_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).noOcclusion())); - public static final RegistryEntry DARK_OAK_DESK = DESKS.register("dark_oak_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).noOcclusion())); - public static final RegistryEntry JUNGLE_DESK = DESKS.register("jungle_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).noOcclusion())); - public static final RegistryEntry MANGROVE_DESK = DESKS.register("mangrove_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).noOcclusion())); - public static final RegistryEntry OAK_DESK = DESKS.register("oak_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).noOcclusion())); - public static final RegistryEntry SPRUCE_DESK = DESKS.register("spruce_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).noOcclusion())); - public static final RegistryEntry WARPED_DESK = DESKS.register("warped_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).noOcclusion())); + public static final RegistryEntry ACACIA_DESK = DESKS.register("acacia_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BAMBOO_DESK = DESKS.register("bamboo_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BIRCH_DESK = DESKS.register("birch_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CHERRY_DESK = DESKS.register("cherry_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CRIMSON_DESK = DESKS.register("crimson_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry DARK_OAK_DESK = DESKS.register("dark_oak_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry JUNGLE_DESK = DESKS.register("jungle_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry MANGROVE_DESK = DESKS.register("mangrove_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry OAK_DESK = DESKS.register("oak_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry SPRUCE_DESK = DESKS.register("spruce_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry WARPED_DESK = DESKS.register("warped_desk", () -> new DeskBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); - public static final RegistryEntry ACACIA_NIGHTSTAND = NIGHTSTANDS.register("acacia_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion())); - public static final RegistryEntry BAMBOO_NIGHTSTAND = NIGHTSTANDS.register("bamboo_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).noOcclusion())); - public static final RegistryEntry BIRCH_NIGHTSTAND = NIGHTSTANDS.register("birch_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).noOcclusion())); - public static final RegistryEntry CHERRY_NIGHTSTAND = NIGHTSTANDS.register("cherry_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).noOcclusion())); - public static final RegistryEntry CRIMSON_NIGHTSTAND = NIGHTSTANDS.register("crimson_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).noOcclusion())); - public static final RegistryEntry DARK_OAK_NIGHTSTAND = NIGHTSTANDS.register("dark_oak_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).noOcclusion())); - public static final RegistryEntry JUNGLE_NIGHTSTAND = NIGHTSTANDS.register("jungle_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).noOcclusion())); - public static final RegistryEntry MANGROVE_NIGHTSTAND = NIGHTSTANDS.register("mangrove_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).noOcclusion())); - public static final RegistryEntry OAK_NIGHTSTAND = NIGHTSTANDS.register("oak_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).noOcclusion())); - public static final RegistryEntry SPRUCE_NIGHTSTAND = NIGHTSTANDS.register("spruce_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).noOcclusion())); - public static final RegistryEntry WARPED_NIGHTSTAND = NIGHTSTANDS.register("warped_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).noOcclusion())); + public static final RegistryEntry ACACIA_NIGHTSTAND = NIGHTSTANDS.register("acacia_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BAMBOO_NIGHTSTAND = NIGHTSTANDS.register("bamboo_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BIRCH_NIGHTSTAND = NIGHTSTANDS.register("birch_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CHERRY_NIGHTSTAND = NIGHTSTANDS.register("cherry_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CRIMSON_NIGHTSTAND = NIGHTSTANDS.register("crimson_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry DARK_OAK_NIGHTSTAND = NIGHTSTANDS.register("dark_oak_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry JUNGLE_NIGHTSTAND = NIGHTSTANDS.register("jungle_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry MANGROVE_NIGHTSTAND = NIGHTSTANDS.register("mangrove_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry OAK_NIGHTSTAND = NIGHTSTANDS.register("oak_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry SPRUCE_NIGHTSTAND = NIGHTSTANDS.register("spruce_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry WARPED_NIGHTSTAND = NIGHTSTANDS.register("warped_nightstand", () -> new NightstandBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).noOcclusion().isRedstoneConductor((state, getter, pos) -> false))); public static final RegistryEntry ACACIA_TABLE = TABLES.register("acacia_table", () -> new TableBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion())); public static final RegistryEntry BAMBOO_TABLE = TABLES.register("bamboo_table", () -> new TableBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).noOcclusion())); @@ -186,53 +186,53 @@ public class ModBlocks { public static final RegistryEntry SPRUCE_FANCY_BED = FANCY_BEDS.register("spruce_fancy_bed", () -> new FancyBedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WHITE_BED))); public static final RegistryEntry WARPED_FANCY_BED = FANCY_BEDS.register("warped_fancy_bed", () -> new FancyBedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WHITE_BED).sound(SoundType.NETHER_WOOD))); - public static final RegistryEntry ACACIA_COUNTER = COUNTERS.register("acacia_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS))); - public static final RegistryEntry BAMBOO_COUNTER = COUNTERS.register("bamboo_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS))); - public static final RegistryEntry BIRCH_COUNTER = COUNTERS.register("birch_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS))); - public static final RegistryEntry CHERRY_COUNTER = COUNTERS.register("cherry_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS))); - public static final RegistryEntry CRIMSON_COUNTER = COUNTERS.register("crimson_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS))); - public static final RegistryEntry DARK_OAK_COUNTER = COUNTERS.register("dark_oak_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS))); - public static final RegistryEntry JUNGLE_COUNTER = COUNTERS.register("jungle_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS))); - public static final RegistryEntry MANGROVE_COUNTER = COUNTERS.register("mangrove_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS))); - public static final RegistryEntry OAK_COUNTER = COUNTERS.register("oak_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); - public static final RegistryEntry SPRUCE_COUNTER = COUNTERS.register("spruce_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS))); - public static final RegistryEntry WARPED_COUNTER = COUNTERS.register("warped_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS))); + public static final RegistryEntry ACACIA_COUNTER = COUNTERS.register("acacia_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BAMBOO_COUNTER = COUNTERS.register("bamboo_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BIRCH_COUNTER = COUNTERS.register("birch_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CHERRY_COUNTER = COUNTERS.register("cherry_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CRIMSON_COUNTER = COUNTERS.register("crimson_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry DARK_OAK_COUNTER = COUNTERS.register("dark_oak_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry JUNGLE_COUNTER = COUNTERS.register("jungle_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry MANGROVE_COUNTER = COUNTERS.register("mangrove_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry OAK_COUNTER = COUNTERS.register("oak_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry SPRUCE_COUNTER = COUNTERS.register("spruce_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry WARPED_COUNTER = COUNTERS.register("warped_counter", () -> new CounterBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); - public static final RegistryEntry ACACIA_CUPBOARD = CUPBOARDS.register("acacia_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS))); - public static final RegistryEntry BAMBOO_CUPBOARD = CUPBOARDS.register("bamboo_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS))); - public static final RegistryEntry BIRCH_CUPBOARD = CUPBOARDS.register("birch_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS))); - public static final RegistryEntry CHERRY_CUPBOARD = CUPBOARDS.register("cherry_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS))); - public static final RegistryEntry CRIMSON_CUPBOARD = CUPBOARDS.register("crimson_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS))); - public static final RegistryEntry DARK_OAK_CUPBOARD = CUPBOARDS.register("dark_oak_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS))); - public static final RegistryEntry JUNGLE_CUPBOARD = CUPBOARDS.register("jungle_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS))); - public static final RegistryEntry MANGROVE_CUPBOARD = CUPBOARDS.register("mangrove_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS))); - public static final RegistryEntry OAK_CUPBOARD = CUPBOARDS.register("oak_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); - public static final RegistryEntry SPRUCE_CUPBOARD = CUPBOARDS.register("spruce_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS))); - public static final RegistryEntry WARPED_CUPBOARD = CUPBOARDS.register("warped_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS))); + public static final RegistryEntry ACACIA_CUPBOARD = CUPBOARDS.register("acacia_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BAMBOO_CUPBOARD = CUPBOARDS.register("bamboo_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BIRCH_CUPBOARD = CUPBOARDS.register("birch_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CHERRY_CUPBOARD = CUPBOARDS.register("cherry_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CRIMSON_CUPBOARD = CUPBOARDS.register("crimson_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry DARK_OAK_CUPBOARD = CUPBOARDS.register("dark_oak_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry JUNGLE_CUPBOARD = CUPBOARDS.register("jungle_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry MANGROVE_CUPBOARD = CUPBOARDS.register("mangrove_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry OAK_CUPBOARD = CUPBOARDS.register("oak_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry SPRUCE_CUPBOARD = CUPBOARDS.register("spruce_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry WARPED_CUPBOARD = CUPBOARDS.register("warped_cupboard", () -> new CupboardBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); - public static final RegistryEntry ACACIA_DRAWER = DRAWERS.register("acacia_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS))); - public static final RegistryEntry BAMBOO_DRAWER = DRAWERS.register("bamboo_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS))); - public static final RegistryEntry BIRCH_DRAWER = DRAWERS.register("birch_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS))); - public static final RegistryEntry CHERRY_DRAWER = DRAWERS.register("cherry_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS))); - public static final RegistryEntry CRIMSON_DRAWER = DRAWERS.register("crimson_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS))); - public static final RegistryEntry DARK_OAK_DRAWER = DRAWERS.register("dark_oak_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS))); - public static final RegistryEntry JUNGLE_DRAWER = DRAWERS.register("jungle_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS))); - public static final RegistryEntry MANGROVE_DRAWER = DRAWERS.register("mangrove_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS))); - public static final RegistryEntry OAK_DRAWER = DRAWERS.register("oak_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); - public static final RegistryEntry SPRUCE_DRAWER = DRAWERS.register("spruce_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS))); - public static final RegistryEntry WARPED_DRAWER = DRAWERS.register("warped_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS))); + public static final RegistryEntry ACACIA_DRAWER = DRAWERS.register("acacia_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BAMBOO_DRAWER = DRAWERS.register("bamboo_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BIRCH_DRAWER = DRAWERS.register("birch_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CHERRY_DRAWER = DRAWERS.register("cherry_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CRIMSON_DRAWER = DRAWERS.register("crimson_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry DARK_OAK_DRAWER = DRAWERS.register("dark_oak_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry JUNGLE_DRAWER = DRAWERS.register("jungle_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry MANGROVE_DRAWER = DRAWERS.register("mangrove_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry OAK_DRAWER = DRAWERS.register("oak_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry SPRUCE_DRAWER = DRAWERS.register("spruce_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry WARPED_DRAWER = DRAWERS.register("warped_drawer", () -> new DrawerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); - public static final RegistryEntry ACACIA_SHELF = SHELVES.register("acacia_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS))); - public static final RegistryEntry BAMBOO_SHELF = SHELVES.register("bamboo_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS))); - public static final RegistryEntry BIRCH_SHELF = SHELVES.register("birch_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS))); - public static final RegistryEntry CHERRY_SHELF = SHELVES.register("cherry_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS))); - public static final RegistryEntry CRIMSON_SHELF = SHELVES.register("crimson_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS))); - public static final RegistryEntry DARK_OAK_SHELF = SHELVES.register("dark_oak_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS))); - public static final RegistryEntry JUNGLE_SHELF = SHELVES.register("jungle_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS))); - public static final RegistryEntry MANGROVE_SHELF = SHELVES.register("mangrove_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS))); - public static final RegistryEntry OAK_SHELF = SHELVES.register("oak_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS))); - public static final RegistryEntry SPRUCE_SHELF = SHELVES.register("spruce_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS))); - public static final RegistryEntry WARPED_SHELF = SHELVES.register("warped_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS))); + public static final RegistryEntry ACACIA_SHELF = SHELVES.register("acacia_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BAMBOO_SHELF = SHELVES.register("bamboo_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BAMBOO_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry BIRCH_SHELF = SHELVES.register("birch_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BIRCH_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CHERRY_SHELF = SHELVES.register("cherry_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHERRY_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry CRIMSON_SHELF = SHELVES.register("crimson_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CRIMSON_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry DARK_OAK_SHELF = SHELVES.register("dark_oak_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.DARK_OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry JUNGLE_SHELF = SHELVES.register("jungle_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry MANGROVE_SHELF = SHELVES.register("mangrove_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MANGROVE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry OAK_SHELF = SHELVES.register("oak_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry SPRUCE_SHELF = SHELVES.register("spruce_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPRUCE_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); + public static final RegistryEntry WARPED_SHELF = SHELVES.register("warped_shelf", () -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WARPED_PLANKS).isRedstoneConductor((state, getter, pos) -> false))); public static final RegistryEntry ACACIA_PILLAR_TRIM = PILLAR_TRIMS.register("acacia_pillar_trim", () -> new PillarTrimBlock(true, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion())); public static final RegistryEntry ACACIA_CORNER_TRIM = CORNER_TRIMS.register("acacia_corner_trim", () -> new CornerTrimBlock(true, BlockBehaviour.Properties.ofFullCopy(Blocks.ACACIA_PLANKS).noOcclusion()));