Check to make sure the tile passes the checks, i.e. it is allowed to be in a cluster
function checkTile(tile) {
        // No tile, ignore
        if (!tile) return false;
        // If an array of indices was provided, tile's index must be in that array
        if (tileIndices && tileIndices.includes(tile.index)) return true;
        // If a tile property was provided, the tile must have a truthy value for that property
        if (tileProperty && tile.properties[tileProperty]) return true;
        // If we only care about colliding tiles, make sure the tile collides
        if (checkCollide && tile.collides) return true;
        // Tile didn't pass any checks, ignore
        return false;
    }