Fixed wrong machine connection logic, fixes #318
This commit is contained in:
@@ -107,19 +107,23 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
|
||||
}
|
||||
}
|
||||
|
||||
List<INetworkNode> oldNodes = new ArrayList<>(nodes);
|
||||
|
||||
this.nodes = newNodes;
|
||||
|
||||
boolean changed = false;
|
||||
|
||||
if (notify) {
|
||||
for (INetworkNode newNode : newNodes) {
|
||||
if (!nodes.contains(newNode)) {
|
||||
newNode.onConnected(controller);
|
||||
for (INetworkNode node : nodes) {
|
||||
if (!oldNodes.contains(node)) {
|
||||
node.onConnected(controller);
|
||||
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
|
||||
for (INetworkNode oldNode : nodes) {
|
||||
if (!newNodes.contains(oldNode)) {
|
||||
for (INetworkNode oldNode : oldNodes) {
|
||||
if (!nodes.contains(oldNode)) {
|
||||
oldNode.onDisconnected(controller);
|
||||
|
||||
changed = true;
|
||||
@@ -127,8 +131,6 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
|
||||
}
|
||||
}
|
||||
|
||||
this.nodes = newNodes;
|
||||
|
||||
if (changed) {
|
||||
controller.getDataManager().sendParameterToWatchers(TileController.NODES);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user