diff --git a/src/main/java/de/dafuqs/spectrum/blocks/redstone/BlockPlacerBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/redstone/BlockPlacerBlock.java index dba2febd57..c5c5370a6c 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/redstone/BlockPlacerBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/redstone/BlockPlacerBlock.java @@ -133,9 +133,16 @@ public int getComparatorOutput(BlockState state, World world, BlockPos pos) { } public static final class BlockPlacerPlacementContext extends AutomaticItemPlacementContext { + // Shadows the variable facing in the superclass. + private final Direction facing; public BlockPlacerPlacementContext(World world, BlockPos pos, Direction facing, ItemStack stack, Direction side) { super(world, pos, facing, stack, side); + this.facing = facing; + } + + public Direction getPlayerLookDirection() { + return facing.getOpposite(); } // SlabBlocks cause a non-funny StackOverflowError diff --git a/src/main/java/de/dafuqs/spectrum/blocks/redstone/RedstoneInteractionBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/redstone/RedstoneInteractionBlock.java index 0271d5170b..bd6759b43b 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/redstone/RedstoneInteractionBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/redstone/RedstoneInteractionBlock.java @@ -42,8 +42,8 @@ protected void appendProperties(StateManager.Builder builder) public BlockState getPlacementState(ItemPlacementContext ctx) { Direction direction = ctx.getPlayerLookDirection().getOpposite(); Direction direction2 = switch (direction) { - case DOWN -> ctx.getPlayer().getHorizontalFacing().getOpposite(); - case UP -> ctx.getPlayer().getHorizontalFacing(); + case DOWN -> ctx.getHorizontalPlayerFacing().getOpposite(); + case UP -> ctx.getHorizontalPlayerFacing(); case NORTH, SOUTH, WEST, EAST -> Direction.UP; };