diff --git a/src/main/java/com/simibubi/create/content/redstone/link/RedstoneLinkBlock.java b/src/main/java/com/simibubi/create/content/redstone/link/RedstoneLinkBlock.java index b5d69de127..bc6cbb7cc9 100644 --- a/src/main/java/com/simibubi/create/content/redstone/link/RedstoneLinkBlock.java +++ b/src/main/java/com/simibubi/create/content/redstone/link/RedstoneLinkBlock.java @@ -61,16 +61,6 @@ public void neighborChanged(BlockState state, Level level, BlockPos pos, Block b @Override public void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource r) { updateTransmittedSignal(state, level, pos); - - if (state.getValue(RECEIVER)) - return; - Direction attachedFace = state.getValue(RedstoneLinkBlock.FACING) - .getOpposite(); - BlockPos attachedPos = pos.relative(attachedFace); - level.blockUpdated(pos, level.getBlockState(pos) - .getBlock()); - level.blockUpdated(attachedPos, level.getBlockState(attachedPos) - .getBlock()); } @Override @@ -172,6 +162,13 @@ public InteractionResult toggleMode(BlockState state, Level level, BlockPos pos) level.setBlock(pos, state.cycle(RECEIVER) .setValue(POWERED, blockPowered), Block.UPDATE_ALL); be.transmit(wasReceiver ? 0 : getPower(level, state, pos)); + Direction attachedFace = state.getValue(FACING) + .getOpposite(); + BlockPos attachedPos = pos.relative(attachedFace); + level.blockUpdated(pos, level.getBlockState(pos) + .getBlock()); + level.blockUpdated(attachedPos, level.getBlockState(attachedPos) + .getBlock()); return InteractionResult.SUCCESS; }); }