diff --git a/src/main/java/refinedstorage/api/network/INetworkNode.java b/src/main/java/refinedstorage/api/network/INetworkNode.java index d3c2bcd79..7f475cce3 100755 --- a/src/main/java/refinedstorage/api/network/INetworkNode.java +++ b/src/main/java/refinedstorage/api/network/INetworkNode.java @@ -53,6 +53,13 @@ public interface INetworkNode { */ void onDisconnected(); + /** + * Called when the connection state of this node changes. + * This is also called when redstone mode is updated, as opposed to {@link INetworkNode#onConnected(INetworkMaster)} and {@link INetworkNode#onDisconnected()}. + * + * @param network The network + * @param state The state + */ void onConnectionChange(INetworkMaster network, boolean state); /** diff --git a/src/main/java/refinedstorage/block/BlockNode.java b/src/main/java/refinedstorage/block/BlockNode.java index 03fb032b9..caaf469b8 100755 --- a/src/main/java/refinedstorage/block/BlockNode.java +++ b/src/main/java/refinedstorage/block/BlockNode.java @@ -49,11 +49,7 @@ public abstract class BlockNode extends BlockBase { @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { if (!world.isRemote) { - TileNode node = (TileNode) world.getTileEntity(pos); - - if (node.isConnected()) { - node.onBreak(world); - } + ((TileNode) world.getTileEntity(pos)).onBreak(world); } super.breakBlock(world, pos, state); diff --git a/src/main/java/refinedstorage/tile/TileNode.java b/src/main/java/refinedstorage/tile/TileNode.java index 001a06fea..f9187eb0f 100755 --- a/src/main/java/refinedstorage/tile/TileNode.java +++ b/src/main/java/refinedstorage/tile/TileNode.java @@ -126,6 +126,10 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr @Override public void onBreak(World world) { + if (network == null) { + return; + } + List nodes = new ArrayList(); Set nodesPos = new HashSet(); @@ -184,10 +188,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr this.connected = true; this.network = network; - - if (canSendConnectivityUpdate()) { - RefinedStorageUtils.updateBlock(worldObj, pos); - } } @Override @@ -196,10 +196,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr this.connected = false; this.network = null; - - if (canSendConnectivityUpdate()) { - RefinedStorageUtils.updateBlock(worldObj, pos); - } } @Override