	public LinkedList<AdjacentTile> getAdjacentTileEntities(boolean flag) {
		LinkedList<AdjacentTile> foundTiles = new LinkedList<AdjacentTile>();
		for (ForgeDirection o : ForgeDirection.values()) {
			if (o == ForgeDirection.UNKNOWN) continue;
			Position p = new Position(_x, _y, _z, o);
			p.moveForwards(1);
			TileEntity tile = _worldObj.getBlockTileEntity((int)p.x, (int)p.y, (int)p.z);
			if (tile == null) continue;
			if(flag) {
				TileEntity tilePipe = _worldObj.getBlockTileEntity(_x, _y, _z);
				if(tilePipe instanceof TileGenericPipe) {
					if(((TileGenericPipe)tilePipe).pipe != null) {
						((TileGenericPipe)tilePipe).pipe.isPipeConnected(tile);
					}
				}
			}
			foundTiles.add(new AdjacentTile(tile, o));
		}
		return foundTiles;
	}

	public LinkedList<AdjacentTile> getAdjacentTileEntities(boolean flag) {
		LinkedList<AdjacentTile> foundTiles = new LinkedList<AdjacentTile>();
		for (ForgeDirection o : ForgeDirection.values()) {
			if (o == ForgeDirection.UNKNOWN) continue;
			Position p = new Position(_x, _y, _z, o);
			p.moveForwards(1);
			TileEntity tile = _worldObj.getBlockTileEntity((int)p.x, (int)p.y, (int)p.z);
			if (tile == null) continue;
			if(flag) {
				TileEntity tilePipe = _worldObj.getBlockTileEntity(_x, _y, _z);
				if(tilePipe instanceof TileGenericPipe) {
					if(((TileGenericPipe)tilePipe).pipe != null) {
						if(!((TileGenericPipe)tilePipe).pipe.isPipeConnected(tile)) {
							continue;
						}
					}
				}
			}
			foundTiles.add(new AdjacentTile(tile, o));
		}
		return foundTiles;
	}
