protected int getNextConnectSatelliteId(boolean prev, int x) {
int closestIdFound = prev ? 0 : Integer.MAX_VALUE;
for (final PipeItemsSatelliteLogistics satellite : PipeItemsSatelliteLogistics.AllSatellites) {
CoreRoutedPipe satPipe = satellite;
if(satPipe == null || satPipe.stillNeedReplace() || satPipe.getRouter() == null || satPipe.isFluidPipe()) continue;
IRouter satRouter = satPipe.getRouter();
List<ExitRoute> routes = getRouter().getDistanceTo(satRouter);
if(routes != null && !routes.isEmpty()) {
boolean filterFree = false;
for(ExitRoute route: routes) {