@Override public void addConnection(O connection, int direction) { if (this.connections[direction] != connection) { if (this.connections[direction] == null && this.canConnect(connection)) { this.connections[direction] = connection; connection.addConnection(this, ForgeDirection.OPPOSITES[direction]); if (this.worldObj.isRemote) { this.markDirty(); return; } if (connection.getNetwork() == null && this.network == null) { this.makeNewNetwork(); this.network.addNode(connection); } else { if (connection.getNetwork() == null) { this.network.addNode(connection); } else if (this.network == null) { connection.getNetwork().addNode(this); } } } else this.verifyConnections(); this.markDirty(); } /*int index = direction.getIndex(); if(this.connections[index] != connection){ if(this.connections[index] == null && this.canConnect(connection)) { this.connections[index] = connection; connection.addConnection(this, direction.getOpposite()); if(this.worldObj.isRemote) { this.markDirty(); return; } if (connection.getNetwork() == null && this.network == null){ this.makeNewNetwork(); this.network.addNode(connection); } else{ if(connection.getNetwork() == null) { this.network.addNode(connection); } else if (this.network == null){ connection.getNetwork().addNode(this); } } } else this.verifyConnections(); this.markDirty(); } */ }