babalae/better-genshin-impact · error · Exception

寻找地脉花失败:未在地图上识别到地脉花图标。当前已勾选“不使用冒险之证寻路”,可尝试关闭该选项后重试!

Error message

寻找地脉花失败:未在地图上识别到地脉花图标。当前已勾选“不使用冒险之证寻路”,可尝试关闭该选项后重试!

What it means

Thrown at the end of FindLeyLineOutcrop after every candidate map position was checked and LocateLeyLineOutcrop found no blossom icon on the big map. This variant fires specifically when _taskParam.UseAdventurerHandbook is set, and the message advises turning off the 'do not use adventurer handbook for pathing' option.

Source

Thrown at BetterGenshinImpact/GameTask/AutoLeyLineOutcrop/AutoLeyLineOutcropTask.cs:854

            return;
        }

        for (var i = 1; i < positions.Count; i++)
        {
            var pos = positions[i];
            _logger.LogInformation("尝试定位地脉花: {Name}", pos.Name ?? $"{pos.X},{pos.Y}");
            await _tpTask.MoveMapTo(pos.X, pos.Y, MapTypes.Teyvat.ToString());
            if (await LocateLeyLineOutcrop(type))
            {
                return;
            }
        }

        await EnsureExitRewardPage();
        if (_taskParam.UseAdventurerHandbook)
        {
            _logger.LogWarning("寻找地脉花失败:当前已勾选“不使用冒险之证寻路”,可尝试关闭该选项后重试!");
            throw new Exception("寻找地脉花失败:未在地图上识别到地脉花图标。当前已勾选“不使用冒险之证寻路”,可尝试关闭该选项后重试!");
        }

        throw new Exception("寻找地脉花失败:未在地图上识别到地脉花图标");
    }

    private async Task<bool> LocateLeyLineOutcrop(string type)
    {
        await Delay(500, _ct);
        double currentZoom;
        using (var zoomCapture = CaptureToRectArea())
        {
            currentZoom = _tpTask.GetBigMapZoomLevel(zoomCapture);
        }
        await _tpTask.AdjustMapZoomLevel(currentZoom, 3.0);

        var iconPath = type == "启示之花"
            ? "Assets/icon/Blossom_of_Revelation.png"
            : "Assets/icon/Blossom_of_Wealth.png";

View on GitHub (pinned to a7cb36712d)

Solutions

  1. Confirm a ley-line blossom actually exists in-game in the target region (open challenges may be exhausted).
  2. Turn OFF the '不使用冒险之证寻路' option as the message suggests, so the handbook-based search is attempted.
  3. Check the big-map zoom level and template matching threshold so the blossom icon is recognizable.
  4. Switch country/type or wait for a blossom to refresh.
Defensive patterns

Strategy: try-catch

Try / catch

try { await FindLeyLineOutcrop(country, type); }
catch (Exception ex) when (ex.Message.Contains("寻找地脉花失败"))
{
    _logger.LogWarning("地脉花未识别,建议关闭'不使用冒险之证寻路'后重试: {Msg}", ex.Message);
    // optionally retry once with UseAdventurerHandbook toggled
}

Prevention

When it happens

Trigger: FindLeyLineOutcrop iterated all positions for the country/type, called MoveMapTo + LocateLeyLineOutcrop for each, none returned true, EnsureExitRewardPage ran, and _taskParam.UseAdventurerHandbook evaluated true.

Common situations: No ley-line blossom is currently spawned in the scanned area; map zoom too far/in wrong so the blossom icon template isn't matched; the user enabled '不使用冒险之证寻路' which removes the handbook fallback.

Related errors


AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13). Data as JSON: /api/errors/1d72b66a7356b156. Report an issue: GitHub.