From a2da6d960104221d99568f71f82ef5a1a2c022da Mon Sep 17 00:00:00 2001 From: SquidDev Date: Tue, 1 Aug 2017 21:04:48 +0100 Subject: [PATCH] Pass the original block in redstone propagation notifyBlockOfStateChange and notifyNeighborsOfStateExcept expect the block which caused the redstone update, rather than the neighbor block. Fixes #393 --- .../shared/computer/blocks/TileComputerBase.java | 4 ++-- .../computercraft/shared/turtle/blocks/TileTurtle.java | 2 +- .../java/dan200/computercraft/shared/util/RedstoneUtil.java | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/dan200/computercraft/shared/computer/blocks/TileComputerBase.java b/src/main/java/dan200/computercraft/shared/computer/blocks/TileComputerBase.java index 4bf12897b..8e3c999e0 100644 --- a/src/main/java/dan200/computercraft/shared/computer/blocks/TileComputerBase.java +++ b/src/main/java/dan200/computercraft/shared/computer/blocks/TileComputerBase.java @@ -76,7 +76,7 @@ public abstract class TileComputerBase extends TileGeneric unload(); for( EnumFacing dir : EnumFacing.VALUES ) { - RedstoneUtil.propogateRedstoneOutput( getWorld(), getPos(), dir ); + RedstoneUtil.propagateRedstoneOutput( getWorld(), getPos(), dir ); } } @@ -380,7 +380,7 @@ public abstract class TileComputerBase extends TileGeneric updateBlock(); for( EnumFacing dir : EnumFacing.VALUES ) { - RedstoneUtil.propogateRedstoneOutput( getWorld(), getPos(), dir ); + RedstoneUtil.propagateRedstoneOutput( getWorld(), getPos(), dir ); } } diff --git a/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java b/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java index 382d6d984..44c42951e 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java +++ b/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java @@ -141,7 +141,7 @@ public class TileTurtle extends TileComputerBase // Just turn off any redstone we had on for( EnumFacing dir : EnumFacing.VALUES ) { - RedstoneUtil.propogateRedstoneOutput( getWorld(), getPos(), dir ); + RedstoneUtil.propagateRedstoneOutput( getWorld(), getPos(), dir ); } } } diff --git a/src/main/java/dan200/computercraft/shared/util/RedstoneUtil.java b/src/main/java/dan200/computercraft/shared/util/RedstoneUtil.java index 378322c6a..acbbe74fe 100644 --- a/src/main/java/dan200/computercraft/shared/util/RedstoneUtil.java +++ b/src/main/java/dan200/computercraft/shared/util/RedstoneUtil.java @@ -68,9 +68,9 @@ public class RedstoneUtil return 0; } - public static void propogateRedstoneOutput( World world, BlockPos pos, EnumFacing side ) + public static void propagateRedstoneOutput( World world, BlockPos pos, EnumFacing side ) { - // Propogate ordinary output + // Propagate ordinary output IBlockState block = world.getBlockState( pos ); BlockPos neighbourPos = pos.offset( side ); IBlockState neighbour = world.getBlockState( neighbourPos ); @@ -79,7 +79,7 @@ public class RedstoneUtil world.neighborChanged( neighbourPos, block.getBlock(), pos ); if( neighbour.getBlock().isNormalCube( neighbour, world, neighbourPos ) ) { - world.notifyNeighborsOfStateExcept( neighbourPos, neighbour.getBlock(), side.getOpposite() ); + world.notifyNeighborsOfStateExcept( neighbourPos, block.getBlock(), side.getOpposite() ); } } }