Small fixes

This commit is contained in:
Raoul Van den Berge
2016-07-05 01:00:52 +02:00
parent 7949883ad5
commit f895ffd7e1
3 changed files with 12 additions and 13 deletions

View File

@@ -53,6 +53,13 @@ public interface INetworkNode {
*/ */
void onDisconnected(); 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); void onConnectionChange(INetworkMaster network, boolean state);
/** /**

View File

@@ -49,11 +49,7 @@ public abstract class BlockNode extends BlockBase {
@Override @Override
public void breakBlock(World world, BlockPos pos, IBlockState state) { public void breakBlock(World world, BlockPos pos, IBlockState state) {
if (!world.isRemote) { if (!world.isRemote) {
TileNode node = (TileNode) world.getTileEntity(pos); ((TileNode) world.getTileEntity(pos)).onBreak(world);
if (node.isConnected()) {
node.onBreak(world);
}
} }
super.breakBlock(world, pos, state); super.breakBlock(world, pos, state);

View File

@@ -126,6 +126,10 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
@Override @Override
public void onBreak(World world) { public void onBreak(World world) {
if (network == null) {
return;
}
List<INetworkNode> nodes = new ArrayList<INetworkNode>(); List<INetworkNode> nodes = new ArrayList<INetworkNode>();
Set<BlockPos> nodesPos = new HashSet<BlockPos>(); Set<BlockPos> nodesPos = new HashSet<BlockPos>();
@@ -184,10 +188,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
this.connected = true; this.connected = true;
this.network = network; this.network = network;
if (canSendConnectivityUpdate()) {
RefinedStorageUtils.updateBlock(worldObj, pos);
}
} }
@Override @Override
@@ -196,10 +196,6 @@ public abstract class TileNode extends TileBase implements INetworkNode, ISynchr
this.connected = false; this.connected = false;
this.network = null; this.network = null;
if (canSendConnectivityUpdate()) {
RefinedStorageUtils.updateBlock(worldObj, pos);
}
} }
@Override @Override