diff --git a/repo/js/AutoLeyLineOutcrop/LeyLineOutcropData.json b/repo/js/AutoLeyLineOutcrop/LeyLineOutcropData.json index d84207aa..6aa41c5c 100644 --- a/repo/js/AutoLeyLineOutcrop/LeyLineOutcropData.json +++ b/repo/js/AutoLeyLineOutcrop/LeyLineOutcropData.json @@ -1,5070 +1,5896 @@ { - "node": [ - { - "id": 1, - "type": "teleport", - "region": "枫丹1", - "position": { - "x": 4146.91, - "y": 2606.27 - }, - "prev": [], - "next": [ - { - "target": 90, - "route": "assets/pathing/枫丹1-秋分山西侧-1.json" - }, - { - "target": 91, - "route": "assets/pathing/枫丹1-秋分山西侧-2.json" - }, - { - "target": 107, - "route": "assets/pathing/枫丹5-秋分山东侧-1.json" - } - ] - }, - { - "id": 2, - "type": "teleport", - "region": "枫丹1", - "position": { - "x": 4375.5, - "y": 2280.05 - }, - "prev": [], - "next": [ - { - "target": 92, - "route": "assets/pathing/枫丹1-秋分山西侧-3.json" - }, - { - "target": 93, - "route": "assets/pathing/枫丹1-秋分山西侧-4.json" - }, - { - "target": 94, - "route": "assets/pathing/枫丹1-秋分山西侧-5.json" - } - ] - }, - { - "id": 3, - "type": "teleport", - "region": "枫丹2", - "position": { - "x": 4984.79, - "y": 4462.98 - }, - "prev": [], - "next": [ - { - "target": 95, - "route": "assets/pathing/枫丹2-芒索斯山东麓-1.json" - }, - { - "target": 96, - "route": "assets/pathing/枫丹2-芒索斯山东麓-2.json" - }, - { - "target": 97, - "route": "assets/pathing/枫丹2-芒索斯山东麓-3.json" - }, - { - "target": 98, - "route": "assets/pathing/枫丹2-芒索斯山东麓-4.json" - } - ] - }, - { - "id": 4, - "type": "teleport", - "region": "枫丹3", - "position": { - "x": 4498.18, - "y": 4710.79 - }, - "prev": [], - "next": [ - { - "target": 99, - "route": "assets/pathing/枫丹3-新枫丹科学院-1.json" - }, - { - "target": 100, - "route": "assets/pathing/枫丹3-新枫丹科学院-2.json" - } - ] - }, - { - "id": 5, - "type": "teleport", - "region": "枫丹3", - "position": { - "x": 4624.36, - "y": 4951.78 - }, - "prev": [], - "next": [ - { - "target": 101, - "route": "assets/pathing/枫丹3-新枫丹科学院-3.json" - }, - { - "target": 102, - "route": "assets/pathing/枫丹3-新枫丹科学院-4.json" - } - ] - }, - { - "id": 6, - "type": "teleport", - "region": "枫丹4", - "position": { - "x": 2873.54, - "y": 3512.04 - }, - "prev": [], - "next": [ - { - "target": 103, - "route": "assets/pathing/枫丹4-柔灯港-1.json" - } - ] - }, - { - "id": 7, - "type": "teleport", - "region": "枫丹4", - "position": { - "x": 3032.66, - "y": 3732.42 - }, - "prev": [], - "next": [ - { - "target": 104, - "route": "assets/pathing/枫丹4-柔灯港-2.json" - }, - { - "target": 105, - "route": "assets/pathing/枫丹4-柔灯港-3.json" - }, - { - "target": 106, - "route": "assets/pathing/枫丹4-柔灯港-4.json" - } - ] - }, - { - "id": 8, - "type": "teleport", - "region": "枫丹5", - "position": { - "x": 3917.29, - "y": 2576.43 - }, - "prev": [], - "next": [ - { - "target": 108, - "route": "assets/pathing/枫丹5-秋分山东侧-3.json" - }, - { - "target": 109, - "route": "assets/pathing/枫丹5-秋分山东侧-4.json" - } - ] - }, - { - "id": 9, - "type": "teleport", - "region": "枫丹6", - "position": { - "x": 4749.59, - "y": 2636.21 - }, - "prev": [], - "next": [ - { - "target": 110, - "route": "assets/pathing/枫丹6-厄里那斯-1.json" - } - ] - }, - { - "id": 10, - "type": "teleport", - "region": "枫丹6", - "position": { - "x": 4689.61, - "y": 2429.43 - }, - "prev": [], - "next": [ - { - "target": 111, - "route": "assets/pathing/枫丹6-厄里那斯-2.json" - }, - { - "target": 112, - "route": "assets/pathing/枫丹6-厄里那斯-3.json" - }, - { - "target": 113, - "route": "assets/pathing/枫丹6-厄里那斯-4.json" - }, - { - "target": 115, - "route": "assets/pathing/枫丹6-厄里那斯-6.json" - } - ] - }, - { - "id": 11, - "type": "teleport", - "region": "枫丹6", - "position": { - "x": 4626.1, - "y": 2182.3 - }, - "prev": [], - "next": [ - { - "target": 114, - "route": "assets/pathing/枫丹6-厄里那斯-5.json" - } - ] - }, - { - "id": 12, - "type": "teleport", - "region": "璃月1", - "position": { - "x": 207.48, - "y": 1573.01 - }, - "prev": [], - "next": [ - { - "target": 116, - "route": "assets/pathing/璃月1-石门-1.json" - } - ] - }, - { - "id": 13, - "type": "teleport", - "region": "璃月1", - "position": { - "x": -321.55, - "y": 1473.33 - }, - "prev": [], - "next": [ - { - "target": 117, - "route": "assets/pathing/璃月1-石门-2.json" - } - ] - }, - { - "id": 14, - "type": "teleport", - "region": "璃月10", - "position": { - "x": 897.84, - "y": 583.5 - }, - "prev": [], - "next": [ - { - "target": 120, - "route": "assets/pathing/璃月10-绝云间-1.json" - }, - { - "target": 123, - "route": "assets/pathing/璃月8-南天门南-6.json" - } - ] - }, - { - "id": 15, - "type": "teleport", - "region": "璃月10", - "position": { - "x": 1045.53, - "y": 950.63 - }, - "prev": [], - "next": [ - { - "target": 121, - "route": "assets/pathing/璃月10-绝云间-2.json" - } - ] - }, - { - "id": 16, - "type": "teleport", - "region": "璃月10", - "position": { - "x": 341.33, - "y": 548.08 - }, - "prev": [], - "next": [ - { - "target": 122, - "route": "assets/pathing/璃月10-绝云间-3.json" - }, - { - "target": 124, - "route": "assets/pathing/璃月10-绝云间-5.json" - }, - { - "target": 141, - "route": "assets/pathing/璃月3-瑶光滩-3.json" - }, - { - "target": 142, - "route": "assets/pathing/璃月3-瑶光滩-4.json" - } - ] - }, - { - "id": 17, - "type": "teleport", - "region": "璃月11", - "position": { - "x": 839.82, - "y": 1532.39 - }, - "prev": [], - "next": [ - { - "target": 125, - "route": "assets/pathing/璃月11-轻策庄-1.json" - } - ] - }, - { - "id": 18, - "type": "teleport", - "region": "璃月11", - "position": { - "x": 489.8, - "y": 1435.14 - }, - "prev": [], - "next": [ - { - "target": 129, - "route": "assets/pathing/璃月11-轻策庄-5.json" - } - ] - }, - { - "id": 19, - "type": "teleport", - "region": "璃月11", - "position": { - "x": 253.05, - "y": 1284.9 - }, - "prev": [], - "next": [ - { - "target": 130, - "route": "assets/pathing/璃月11-轻策庄-6.json" - } - ] - }, - { - "id": 20, - "type": "teleport", - "region": "璃月14", - "position": { - "x": 1433.37, - "y": 1288.0 - }, - "prev": [], - "next": [ - { - "target": 131, - "route": "assets/pathing/璃月14-药蝶谷-1.json" - } - ] - }, - { - "id": 21, - "type": "teleport", - "region": "璃月2", - "position": { - "x": -164.59, - "y": 1182.45 - }, - "prev": [], - "next": [ - { - "target": 135, - "route": "assets/pathing/璃月2-地中之盐-1.json" - }, - { - "target": 136, - "route": "assets/pathing/璃月2-地中之盐-2.json" - } - ] - }, - { - "id": 22, - "type": "teleport", - "region": "璃月2", - "position": { - "x": -188.52, - "y": 972.43 - }, - "prev": [], - "next": [ - { - "target": 137, - "route": "assets/pathing/璃月2-地中之盐-3.json" - } - ] - }, - { - "id": 23, - "type": "teleport", - "region": "璃月2", - "position": { - "x": -57.41, - "y": 656.93 - }, - "prev": [], - "next": [ - { - "target": 138, - "route": "assets/pathing/璃月2-地中之盐-4.json" - }, - { - "target": 139, - "route": "assets/pathing/璃月3-瑶光滩-1.json" - }, - { - "target": 140, - "route": "assets/pathing/璃月3-瑶光滩-2.json" - } - ] - }, - { - "id": 24, - "type": "teleport", - "region": "璃月4", - "position": { - "x": 26.02, - "y": -112.29 - }, - "prev": [], - "next": [ - { - "target": 143, - "route": "assets/pathing/璃月4-璃月港-1.json" - } - ] - }, - { - "id": 25, - "type": "teleport", - "region": "璃月4", - "position": { - "x": 173.88, - "y": 389.47 - }, - "prev": [], - "next": [ - { - "target": 147, - "route": "assets/pathing/璃月4-璃月港-5.json" - } - ] - }, - { - "id": 26, - "type": "teleport", - "region": "璃月5", - "position": { - "x": 710.68, - "y": -772.49 - }, - "prev": [], - "next": [ - { - "target": 148, - "route": "assets/pathing/璃月5-天衡山-1.json" - }, - { - "target": 149, - "route": "assets/pathing/璃月5-天衡山-2.json" - } - ] - }, - { - "id": 27, - "type": "teleport", - "region": "璃月5", - "position": { - "x": 978.65, - "y": -353.56 - }, - "prev": [], - "next": [ - { - "target": 151, - "route": "assets/pathing/璃月5-天衡山-4-1.json" - } - ] - }, - { - "id": 28, - "type": "teleport", - "region": "璃月8", - "position": { - "x": 1665.91, - "y": 386.6 - }, - "prev": [], - "next": [ - { - "target": 152, - "route": "assets/pathing/璃月8-南天门南-1.json" - }, - { - "target": 160, - "route": "assets/pathing/璃月9-南天门东-4.json" - } - ] - }, - { - "id": 29, - "type": "teleport", - "region": "璃月8", - "position": { - "x": 1152.67, - "y": 141.57 - }, - "prev": [], - "next": [ - { - "target": 153, - "route": "assets/pathing/璃月8-南天门南-2.json" - }, - { - "target": 154, - "route": "assets/pathing/璃月8-南天门南-3.json" - }, - { - "target": 155, - "route": "assets/pathing/璃月8-南天门南-4.json" - } - ] - }, - { - "id": 30, - "type": "teleport", - "region": "璃月8", - "position": { - "x": 837.47, - "y": 235.17 - }, - "prev": [], - "next": [ - { - "target": 156, - "route": "assets/pathing/璃月8-南天门南-5.json" - } - ] - }, - { - "id": 31, - "type": "teleport", - "region": "璃月9", - "position": { - "x": 1389.08, - "y": 516.44 - }, - "prev": [], - "next": [ - { - "target": 157, - "route": "assets/pathing/璃月9-南天门东-1.json" - }, - { - "target": 159, - "route": "assets/pathing/璃月9-南天门东-3-1.json" - } - ] - }, - { - "id": 32, - "type": "teleport", - "region": "稻妻1", - "position": { - "x": -4217.89, - "y": -2397.87 - }, - "prev": [], - "next": [ - { - "target": 161, - "route": "assets/pathing/稻妻1-鸣神岛-1.json" - }, - { - "target": 162, - "route": "assets/pathing/稻妻1-鸣神岛-2.json" - } - ] - }, - { - "id": 33, - "type": "teleport", - "region": "稻妻1", - "position": { - "x": -4408.91, - "y": -2395.34 - }, - "prev": [], - "next": [ - { - "target": 163, - "route": "assets/pathing/稻妻1-鸣神岛-3.json" - }, - { - "target": 164, - "route": "assets/pathing/稻妻1-鸣神岛-4.json" - } - ] - }, - { - "id": 34, - "type": "teleport", - "region": "稻妻2", - "position": { - "x": -3016.79, - "y": -3623.7 - }, - "prev": [], - "next": [ - { - "target": 165, - "route": "assets/pathing/稻妻2-踏鞴砂-1.json" - } - ] - }, - { - "id": 35, - "type": "teleport", - "region": "稻妻2", - "position": { - "x": -3233.21, - "y": -3534.22 - }, - "prev": [], - "next": [ - { - "target": 166, - "route": "assets/pathing/稻妻2-踏鞴砂-2.json" - } - ] - }, - { - "id": 36, - "type": "teleport", - "region": "稻妻2", - "position": { - "x": -3393.16, - "y": -3555.99 - }, - "prev": [], - "next": [ - { - "target": 167, - "route": "assets/pathing/稻妻2-踏鞴砂-3.json" - } - ] - }, - { - "id": 37, - "type": "teleport", - "region": "稻妻2", - "position": { - "x": -3437.06, - "y": -3319.78 - }, - "prev": [], - "next": [ - { - "target": 168, - "route": "assets/pathing/稻妻2-踏鞴砂-4.json" - }, - { - "target": 169, - "route": "assets/pathing/稻妻2-踏鞴砂-5.json" - } - ] - }, - { - "id": 38, - "type": "teleport", - "region": "稻妻3", - "position": { - "x": -2224.14, - "y": -4004.16 - }, - "prev": [], - "next": [ - { - "target": 170, - "route": "assets/pathing/稻妻3-八酝岛-1.json" - }, - { - "target": 172, - "route": "assets/pathing/稻妻3-八酝岛-3.json" - }, - { - "target": 173, - "route": "assets/pathing/稻妻3-八酝岛-4.json" - } - ] - }, - { - "id": 39, - "type": "teleport", - "region": "稻妻4", - "position": { - "x": -1058.01, - "y": -3948.66 - }, - "prev": [], - "next": [ - { - "target": 174, - "route": "assets/pathing/稻妻4-海祇岛-1.json" - } - ] - }, - { - "id": 40, - "type": "teleport", - "region": "稻妻4", - "position": { - "x": -1315.93, - "y": -3774.25 - }, - "prev": [], - "next": [ - { - "target": 177, - "route": "assets/pathing/稻妻4-海祇岛-4.json" - } - ] - }, - { - "id": 41, - "type": "teleport", - "region": "稻妻5", - "position": { - "x": -3891.55, - "y": -4389.92 - }, - "prev": [], - "next": [ - { - "target": 178, - "route": "assets/pathing/稻妻5-清籁岛-1.json" - } - ] - }, - { - "id": 42, - "type": "teleport", - "region": "稻妻5", - "position": { - "x": -3684.76, - "y": -4278.4 - }, - "prev": [], - "next": [ - { - "target": 181, - "route": "assets/pathing/稻妻5-清籁岛-4.json" - } - ] - }, - { - "id": 43, - "type": "teleport", - "region": "纳塔1", - "position": { - "x": 7796.08, - "y": -1873.18 - }, - "prev": [], - "next": [ - { - "target": 183, - "route": "assets/pathing/纳塔1-隆崛坡-1.json" - } - ] - }, - { - "id": 44, - "type": "teleport", - "region": "纳塔1", - "position": { - "x": 7857.47, - "y": -1751.25 - }, - "prev": [], - "next": [ - { - "target": 184, - "route": "assets/pathing/纳塔1-隆崛坡-2.json" - }, - { - "target": 185, - "route": "assets/pathing/纳塔1-隆崛坡-3.json" - } - ] - }, - { - "id": 45, - "type": "teleport", - "region": "纳塔10", - "position": { - "x": 8291.35, - "y": -2922.46 - }, - "prev": [], - "next": [ - { - "target": 187, - "route": "assets/pathing/纳塔10-溶水域-1.json" - } - ] - }, - { - "id": 46, - "type": "teleport", - "region": "纳塔10", - "position": { - "x": 8744.65, - "y": -3009.56 - }, - "prev": [], - "next": [ - { - "target": 190, - "route": "assets/pathing/纳塔10-溶水域-4.json" - } - ] - }, - { - "id": 47, - "type": "teleport", - "region": "纳塔2", - "position": { - "x": 8706.46, - "y": -1575.02 - }, - "prev": [], - "next": [ - { - "target": 191, - "route": "assets/pathing/纳塔2-硫晶支脉-1.json" - }, - { - "target": 192, - "route": "assets/pathing/纳塔2-硫晶支脉-2.json" - }, - { - "target": 193, - "route": "assets/pathing/纳塔2-硫晶支脉-3.json" - } - ] - }, - { - "id": 48, - "type": "teleport", - "region": "纳塔2", - "position": { - "x": 8670.84, - "y": -1269.72 - }, - "prev": [], - "next": [ - { - "target": 194, - "route": "assets/pathing/纳塔2-硫晶支脉-4.json" - } - ] - }, - { - "id": 49, - "type": "teleport", - "region": "纳塔3", - "position": { - "x": 8201.95, - "y": -2288.75 - }, - "prev": [], - "next": [ - { - "target": 195, - "route": "assets/pathing/纳塔3-彩石顶-1.json" - } - ] - }, - { - "id": 50, - "type": "teleport", - "region": "纳塔3", - "position": { - "x": 8372.19, - "y": -2196.26 - }, - "prev": [], - "next": [ - { - "target": 196, - "route": "assets/pathing/纳塔3-彩石顶-2.json" - }, - { - "target": 197, - "route": "assets/pathing/纳塔3-彩石顶-3.json" - } - ] - }, - { - "id": 51, - "type": "teleport", - "region": "纳塔4", - "position": { - "x": 9038.74, - "y": -2429.33 - }, - "prev": [], - "next": [ - { - "target": 199, - "route": "assets/pathing/纳塔4-溶水域-1.json" - } - ] - }, - { - "id": 52, - "type": "teleport", - "region": "纳塔5", - "position": { - "x": 9812.76, - "y": -2852.58 - }, - "prev": [], - "next": [ - { - "target": 201, - "route": "assets/pathing/纳塔5-安饶之野-1.json" - }, - { - "target": 202, - "route": "assets/pathing/纳塔5-安饶之野-2.json" - }, - { - "target": 203, - "route": "assets/pathing/纳塔5-安饶之野-3.json" - } - ] - }, - { - "id": 53, - "type": "teleport", - "region": "纳塔6", - "position": { - "x": 9282.7, - "y": -2163.58 - }, - "prev": [], - "next": [ - { - "target": 204, - "route": "assets/pathing/纳塔6-圣火竞技场-1.json" - }, - { - "target": 205, - "route": "assets/pathing/纳塔6-圣火竞技场-2.json" - } - ] - }, - { - "id": 54, - "type": "teleport", - "region": "纳塔7", - "position": { - "x": 9989.5, - "y": -1607.82 - }, - "prev": [], - "next": [ - { - "target": 208, - "route": "assets/pathing/纳塔7-烟谜主-1.json" - } - ] - }, - { - "id": 55, - "type": "teleport", - "region": "纳塔8", - "position": { - "x": 9548.24, - "y": -1116.54 - }, - "prev": [], - "next": [ - { - "target": 211, - "route": "assets/pathing/纳塔8-花羽会-1.json" - }, - { - "target": 212, - "route": "assets/pathing/纳塔8-花羽会-2.json" - } - ] - }, - { - "id": 56, - "type": "teleport", - "region": "纳塔8", - "position": { - "x": 9719.22, - "y": -851.99 - }, - "prev": [], - "next": [ - { - "target": 213, - "route": "assets/pathing/纳塔8-花羽会-3.json" - } - ] - }, - { - "id": 57, - "type": "teleport", - "region": "纳塔9", - "position": { - "x": 9839.57, - "y": -1290.01 - }, - "prev": [], - "next": [ - { - "target": 214, - "route": "assets/pathing/纳塔9-翘枝崖-1.json" - } - ] - }, - { - "id": 58, - "type": "teleport", - "region": "蒙德1", - "position": { - "x": -1166.84, - "y": 2132.83 - }, - "prev": [], - "next": [ - { - "target": 218, - "route": "assets/pathing/蒙德1-风起地-1.json" - } - ] - }, - { - "id": 59, - "type": "teleport", - "region": "蒙德1", - "position": { - "x": -1266.59, - "y": 1933.52 - }, - "prev": [], - "next": [ - { - "target": 219, - "route": "assets/pathing/蒙德1-风起地-2.json" - } - ] - }, - { - "id": 60, - "type": "teleport", - "region": "蒙德1", - "position": { - "x": -914.82, - "y": 1795.51 - }, - "prev": [], - "next": [ - { - "target": 222, - "route": "assets/pathing/蒙德1-风起地-5.json" - } - ] - }, - { - "id": 61, - "type": "teleport", - "region": "蒙德2", - "position": { - "x": -663.61, - "y": 1709.65 - }, - "prev": [], - "next": [ - { - "target": 223, - "route": "assets/pathing/蒙德2-清泉镇-1.json" - } - ] - }, - { - "id": 62, - "type": "teleport", - "region": "蒙德2", - "position": { - "x": -578.76, - "y": 1853.42 - }, - "prev": [], - "next": [ - { - "target": 224, - "route": "assets/pathing/蒙德2-清泉镇-2.json" - } - ] - }, - { - "id": 63, - "type": "teleport", - "region": "蒙德2", - "position": { - "x": -251.66, - "y": 2256.55 - }, - "prev": [], - "next": [ - { - "target": 227, - "route": "assets/pathing/蒙德2-清泉镇-5-1.json" - } - ] - }, - { - "id": 64, - "type": "teleport", - "region": "蒙德3", - "position": { - "x": -385.84, - "y": 2297.22 - }, - "prev": [], - "next": [ - { - "target": 228, - "route": "assets/pathing/蒙德3-奔狼领-1.json" - } - ] - }, - { - "id": 65, - "type": "teleport", - "region": "蒙德3", - "position": { - "x": -440.09, - "y": 2580.75 - }, - "prev": [], - "next": [ - { - "target": 231, - "route": "assets/pathing/蒙德3-奔狼领-4.json" - } - ] - }, - { - "id": 66, - "type": "teleport", - "region": "蒙德4", - "position": { - "x": 177.18, - "y": 2647.07 - }, - "prev": [], - "next": [ - { - "target": 232, - "route": "assets/pathing/蒙德4-风龙废墟-1.json" - } - ] - }, - { - "id": 67, - "type": "teleport", - "region": "蒙德4", - "position": { - "x": 265.6, - "y": 2915.02 - }, - "prev": [], - "next": [ - { - "target": 234, - "route": "assets/pathing/蒙德4-风龙废墟-3.json" - } - ] - }, - { - "id": 68, - "type": "teleport", - "region": "蒙德5", - "position": { - "x": -1505.87, - "y": 2296.26 - }, - "prev": [], - "next": [ - { - "target": 236, - "route": "assets/pathing/蒙德5-千风神殿-1.json" - } - ] - }, - { - "id": 69, - "type": "teleport", - "region": "蒙德5", - "position": { - "x": -1330.15, - "y": 2563.86 - }, - "prev": [], - "next": [ - { - "target": 239, - "route": "assets/pathing/蒙德5-千风神殿-4.json" - } - ] - }, - { - "id": 70, - "type": "teleport", - "region": "蒙德5", - "position": { - "x": -1273.84, - "y": 2721.72 - }, - "prev": [], - "next": [ - { - "target": 240, - "route": "assets/pathing/蒙德5-千风神殿-5.json" - }, - { - "target": 241, - "route": "assets/pathing/蒙德6-望风山地-1.json" - } - ] - }, - { - "id": 71, - "type": "teleport", - "region": "蒙德6", - "position": { - "x": -1629.44, - "y": 2834.36 - }, - "prev": [], - "next": [ - { - "target": 243, - "route": "assets/pathing/蒙德6-望风山地-3.json" - } - ] - }, - { - "id": 72, - "type": "teleport", - "region": "蒙德7", - "position": { - "x": -1867.21, - "y": 1331.21 - }, - "prev": [], - "next": [ - { - "target": 245, - "route": "assets/pathing/蒙德7-达达乌帕谷-1.json" - } - ] - }, - { - "id": 73, - "type": "teleport", - "region": "蒙德7", - "position": { - "x": -1432.63, - "y": 1464.61 - }, - "prev": [], - "next": [ - { - "target": 246, - "route": "assets/pathing/蒙德7-达达乌帕谷-2.json" - }, - { - "target": 247, - "route": "assets/pathing/蒙德7-达达乌帕谷-3.json" - } - ] - }, - { - "id": 74, - "type": "teleport", - "region": "须弥1", - "position": { - "x": 2342.31, - "y": -4.68 - }, - "prev": [], - "next": [ - { - "target": 250, - "route": "assets/pathing/须弥1-无郁稠林-1.json" - } - ] - }, - { - "id": 75, - "type": "teleport", - "region": "须弥10", - "position": { - "x": 6615.13, - "y": 724.95 - }, - "prev": [], - "next": [ - { - "target": 255, - "route": "assets/pathing/须弥10-荼泥黑渊-1.json" - }, - { - "target": 256, - "route": "assets/pathing/须弥10-荼泥黑渊-2.json" - }, - { - "target": 257, - "route": "assets/pathing/须弥10-荼泥黑渊-3.json" - } - ] - }, - { - "id": 76, - "type": "teleport", - "region": "须弥10", - "position": { - "x": 6339.59, - "y": 738.39 - }, - "prev": [], - "next": [ - { - "target": 258, - "route": "assets/pathing/须弥10-荼泥黑渊-4.json" - } - ] - }, - { - "id": 77, - "type": "teleport", - "region": "须弥2", - "position": { - "x": 2806.54, - "y": -1790.45 - }, - "prev": [], - "next": [ - { - "target": 259, - "route": "assets/pathing/须弥2-奥摩斯港西-1.json" - } - ] - }, - { - "id": 78, - "type": "teleport", - "region": "须弥2", - "position": { - "x": 2980.23, - "y": -1758.59 - }, - "prev": [], - "next": [ - { - "target": 261, - "route": "assets/pathing/须弥2-奥摩斯港西-3.json" - } - ] - }, - { - "id": 79, - "type": "teleport", - "region": "须弥3", - "position": { - "x": 3199.51, - "y": -911.7 - }, - "prev": [], - "next": [ - { - "target": 264, - "route": "assets/pathing/须弥3-禅那园-1.json" - } - ] - }, - { - "id": 80, - "type": "teleport", - "region": "须弥3", - "position": { - "x": 3252.87, - "y": -591.25 - }, - "prev": [], - "next": [ - { - "target": 266, - "route": "assets/pathing/须弥3-禅那园-3.json" - } - ] - }, - { - "id": 81, - "type": "teleport", - "region": "须弥4", - "position": { - "x": 3402.18, - "y": -1175.26 - }, - "prev": [], - "next": [ - { - "target": 268, - "route": "assets/pathing/须弥4-水天丛林-1.json" - } - ] - }, - { - "id": 82, - "type": "teleport", - "region": "须弥4", - "position": { - "x": 3473.06, - "y": -1573.53 - }, - "prev": [], - "next": [ - { - "target": 271, - "route": "assets/pathing/须弥4-水天丛林-4.json" - } - ] - }, - { - "id": 83, - "type": "teleport", - "region": "须弥4", - "position": { - "x": 3639.36, - "y": -1416.85 - }, - "prev": [], - "next": [ - { - "target": 272, - "route": "assets/pathing/须弥4-水天丛林-5.json" - } - ] - }, - { - "id": 84, - "type": "teleport", - "region": "须弥5", - "position": { - "x": 4409.72, - "y": -1874.67 - }, - "prev": [], - "next": [ - { - "target": 273, - "route": "assets/pathing/须弥5-阿如村-1.json" - } - ] - }, - { - "id": 85, - "type": "teleport", - "region": "须弥6", - "position": { - "x": 4470.72, - "y": -2915.3 - }, - "prev": [], - "next": [ - { - "target": 277, - "route": "assets/pathing/须弥6-荼诃落谷-1.json" - } - ] - }, - { - "id": 86, - "type": "teleport", - "region": "须弥6", - "position": { - "x": 4790.78, - "y": -3182.65 - }, - "prev": [], - "next": [ - { - "target": 278, - "route": "assets/pathing/须弥6-荼诃落谷-2.json" - } - ] - }, - { - "id": 87, - "type": "teleport", - "region": "须弥6", - "position": { - "x": 4810.42, - "y": -2732.88 - }, - "prev": [], - "next": [ - { - "target": 280, - "route": "assets/pathing/须弥6-荼诃落谷-4.json" - } - ] - }, - { - "id": 88, - "type": "teleport", - "region": "须弥8", - "position": { - "x": 5759.42, - "y": -1307.6 - }, - "prev": [], - "next": [ - { - "target": 281, - "route": "assets/pathing/须弥8-折胫谷-1.json" - } - ] - }, - { - "id": 89, - "type": "teleport", - "region": "须弥9", - "position": { - "x": 4592.2, - "y": -647.56 - }, - "prev": [], - "next": [ - { - "target": 285, - "route": "assets/pathing/须弥9-镔铁沙丘-1.json" - } - ] - }, - { - "id": 90, - "type": "blossom", - "region": "枫丹1", - "position": { - "x": 4183.27, - "y": 2502.37 - }, - "prev": [ - 1 - ], - "next": [ - { - "target": 91, - "route": "assets/pathing/枫丹1-秋分山西侧-2.json" - } - ] - }, - { - "id": 91, - "type": "blossom", - "region": "枫丹1", - "position": { - "x": 4190.03, - "y": 2426.41 - }, - "prev": [ - 1, - 90 - ], - "next": [ - { - "target": 92, - "route": "assets/pathing/枫丹1-秋分山西侧-3.json" - } - ] - }, - { - "id": 92, - "type": "blossom", - "region": "枫丹1", - "position": { - "x": 4246.28, - "y": 2374.05 - }, - "prev": [ - 2, - 91 - ], - "next": [ - { - "target": 93, - "route": "assets/pathing/枫丹1-秋分山西侧-4.json" - } - ] - }, - { - "id": 93, - "type": "blossom", - "region": "枫丹1", - "position": { - "x": 4299.75, - "y": 2232.59 - }, - "prev": [ - 2, - 92 - ], - "next": [ - { - "target": 94, - "route": "assets/pathing/枫丹1-秋分山西侧-5.json" - } - ] - }, - { - "id": 94, - "type": "blossom", - "region": "枫丹1", - "position": { - "x": 4402.53, - "y": 2253.27 - }, - "prev": [ - 2, - 93 - ], - "next": [] - }, - { - "id": 95, - "type": "blossom", - "region": "枫丹2", - "position": { - "x": 4962.82, - "y": 4395.81 - }, - "prev": [ - 3 - ], - "next": [ - { - "target": 96, - "route": "assets/pathing/枫丹2-芒索斯山东麓-2.json" - } - ] - }, - { - "id": 96, - "type": "blossom", - "region": "枫丹2", - "position": { - "x": 4952.04, - "y": 4468.84 - }, - "prev": [ - 3, - 95 - ], - "next": [ - { - "target": 97, - "route": "assets/pathing/枫丹2-芒索斯山东麓-3.json" - } - ] - }, - { - "id": 97, - "type": "blossom", - "region": "枫丹2", - "position": { - "x": 5043.36, - "y": 4479.99 - }, - "prev": [ - 3, - 96 - ], - "next": [ - { - "target": 98, - "route": "assets/pathing/枫丹2-芒索斯山东麓-4.json" - } - ] - }, - { - "id": 98, - "type": "blossom", - "region": "枫丹2", - "position": { - "x": 5087.02, - "y": 4573.27 - }, - "prev": [ - 3, - 97 - ], - "next": [] - }, - { - "id": 99, - "type": "blossom", - "region": "枫丹3", - "position": { - "x": 4556.1, - "y": 4762.42 - }, - "prev": [ - 4 - ], - "next": [ - { - "target": 100, - "route": "assets/pathing/枫丹3-新枫丹科学院-2.json" - } - ] - }, - { - "id": 100, - "type": "blossom", - "region": "枫丹3", - "position": { - "x": 4517.81, - "y": 4866.48 - }, - "prev": [ - 4, - 99 - ], - "next": [ - { - "target": 101, - "route": "assets/pathing/枫丹3-新枫丹科学院-3.json" - } - ] - }, - { - "id": 101, - "type": "blossom", - "region": "枫丹3", - "position": { - "x": 4578.63, - "y": 4913.28 - }, - "prev": [ - 5, - 100 - ], - "next": [ - { - "target": 102, - "route": "assets/pathing/枫丹3-新枫丹科学院-4.json" - } - ] - }, - { - "id": 102, - "type": "blossom", - "region": "枫丹3", - "position": { - "x": 4679.47, - "y": 4977.83 - }, - "prev": [ - 5, - 101 - ], - "next": [] - }, - { - "id": 103, - "type": "blossom", - "region": "枫丹4", - "position": { - "x": 2932.47, - "y": 3583.9 - }, - "prev": [ - 6 - ], - "next": [ - { - "target": 104, - "route": "assets/pathing/枫丹4-柔灯港-2.json" - } - ] - }, - { - "id": 104, - "type": "blossom", - "region": "枫丹4", - "position": { - "x": 3008.4, - "y": 3602.59 - }, - "prev": [ - 7, - 103 - ], - "next": [ - { - "target": 105, - "route": "assets/pathing/枫丹4-柔灯港-3.json" - } - ] - }, - { - "id": 105, - "type": "blossom", - "region": "枫丹4", - "position": { - "x": 3077.19, - "y": 3602.84 - }, - "prev": [ - 7, - 104 - ], - "next": [ - { - "target": 106, - "route": "assets/pathing/枫丹4-柔灯港-4.json" - } - ] - }, - { - "id": 106, - "type": "blossom", - "region": "枫丹4", - "position": { - "x": 3091.8, - "y": 3654.75 - }, - "prev": [ - 7, - 105 - ], - "next": [] - }, - { - "id": 107, - "type": "blossom", - "region": "枫丹5", - "position": { - "x": 4098.63, - "y": 2584.16 - }, - "prev": [ - 1, - 107 - ], - "next": [ - { - "target": 107, - "route": "assets/pathing/枫丹5-秋分山东侧-2.json" - }, - { - "target": 108, - "route": "assets/pathing/枫丹5-秋分山东侧-3.json" - } - ] - }, - { - "id": 108, - "type": "blossom", - "region": "枫丹5", - "position": { - "x": 3999.66, - "y": 2613.18 - }, - "prev": [ - 8, - 107 - ], - "next": [ - { - "target": 109, - "route": "assets/pathing/枫丹5-秋分山东侧-4.json" - } - ] - }, - { - "id": 109, - "type": "blossom", - "region": "枫丹5", - "position": { - "x": 3921.35, - "y": 2617.81 - }, - "prev": [ - 8, - 108 - ], - "next": [] - }, - { - "id": 110, - "type": "blossom", - "region": "枫丹6", - "position": { - "x": 4760.8, - "y": 2574.52 - }, - "prev": [ - 9 - ], - "next": [ - { - "target": 111, - "route": "assets/pathing/枫丹6-厄里那斯-2.json" - } - ] - }, - { - "id": 111, - "type": "blossom", - "region": "枫丹6", - "position": { - "x": 4653.67, - "y": 2531.89 - }, - "prev": [ - 10, - 110 - ], - "next": [ - { - "target": 112, - "route": "assets/pathing/枫丹6-厄里那斯-3.json" - } - ] - }, - { - "id": 112, - "type": "blossom", - "region": "枫丹6", - "position": { - "x": 4568.49, - "y": 2433.23 - }, - "prev": [ - 10, - 111 - ], - "next": [ - { - "target": 113, - "route": "assets/pathing/枫丹6-厄里那斯-4.json" - } - ] - }, - { - "id": 113, - "type": "blossom", - "region": "枫丹6", - "position": { - "x": 4553.51, - "y": 2358.49 - }, - "prev": [ - 10, - 112 - ], - "next": [ - { - "target": 114, - "route": "assets/pathing/枫丹6-厄里那斯-5.json" - } - ] - }, - { - "id": 114, - "type": "blossom", - "region": "枫丹6", - "position": { - "x": 4607.46, - "y": 2316.58 - }, - "prev": [ - 11, - 113 - ], - "next": [ - { - "target": 115, - "route": "assets/pathing/枫丹6-厄里那斯-6.json" - } - ] - }, - { - "id": 115, - "type": "blossom", - "region": "枫丹6", - "position": { - "x": 4700.14, - "y": 2393.35 - }, - "prev": [ - 10, - 114 - ], - "next": [] - }, - { - "id": 116, - "type": "blossom", - "region": "璃月1", - "position": { - "x": 73.73, - "y": 1496.59 - }, - "prev": [ - 12 - ], - "next": [ - { - "target": 117, - "route": "assets/pathing/璃月1-石门-2.json" - } - ] - }, - { - "id": 117, - "type": "blossom", - "region": "璃月1", - "position": { - "x": -12.62, - "y": 1566.51 - }, - "prev": [ - 13, - 116 - ], - "next": [ - { - "target": 118, - "route": "assets/pathing/璃月1-石门-3.json" - } - ] - }, - { - "id": 118, - "type": "blossom", - "region": "璃月1", - "position": { - "x": -81.76, - "y": 1534.73 - }, - "prev": [ - 117 - ], - "next": [ - { - "target": 119, - "route": "assets/pathing/璃月1-石门-4.json" - } - ] - }, - { - "id": 119, - "type": "blossom", - "region": "璃月1", - "position": { - "x": -28.76, - "y": 1417.37 - }, - "prev": [ - 118 - ], - "next": [] - }, - { - "id": 120, - "type": "blossom", - "region": "璃月10", - "position": { - "x": 1046.34, - "y": 662.76 - }, - "prev": [ - 14 - ], - "next": [ - { - "target": 121, - "route": "assets/pathing/璃月10-绝云间-2.json" - } - ] - }, - { - "id": 121, - "type": "blossom", - "region": "璃月10", - "position": { - "x": 892.5, - "y": 748.02 - }, - "prev": [ - 15, - 120 - ], - "next": [ - { - "target": 122, - "route": "assets/pathing/璃月10-绝云间-3.json" - } - ] - }, - { - "id": 122, - "type": "blossom", - "region": "璃月10", - "position": { - "x": 594.3, - "y": 437.83 - }, - "prev": [ - 16, - 121 - ], - "next": [ - { - "target": 123, - "route": "assets/pathing/璃月10-绝云间-4.json" - } - ] - }, - { - "id": 123, - "type": "blossom", - "region": "璃月10", - "position": { - "x": 683.19, - "y": 529.0 - }, - "prev": [ - 14, - 122, - 156 - ], - "next": [ - { - "target": 124, - "route": "assets/pathing/璃月10-绝云间-5.json" - } - ] - }, - { - "id": 124, - "type": "blossom", - "region": "璃月10", - "position": { - "x": 455.4, - "y": 546.56 - }, - "prev": [ - 16, - 123, - 142 - ], - "next": [] - }, - { - "id": 125, - "type": "blossom", - "region": "璃月11", - "position": { - "x": 802.19, - "y": 1634.03 - }, - "prev": [ - 17 - ], - "next": [ - { - "target": 126, - "route": "assets/pathing/璃月11-轻策庄-2.json" - } - ] - }, - { - "id": 126, - "type": "blossom", - "region": "璃月11", - "position": { - "x": 697.31, - "y": 1551.84 - }, - "prev": [ - 125 - ], - "next": [ - { - "target": 127, - "route": "assets/pathing/璃月11-轻策庄-3.json" - } - ] - }, - { - "id": 127, - "type": "blossom", - "region": "璃月11", - "position": { - "x": 646.5, - "y": 1421.98 - }, - "prev": [ - 126 - ], - "next": [ - { - "target": 128, - "route": "assets/pathing/璃月11-轻策庄-4.json" - } - ] - }, - { - "id": 128, - "type": "blossom", - "region": "璃月11", - "position": { - "x": 632.03, - "y": 1331.15 - }, - "prev": [ - 127 - ], - "next": [ - { - "target": 129, - "route": "assets/pathing/璃月11-轻策庄-5.json" - } - ] - }, - { - "id": 129, - "type": "blossom", - "region": "璃月11", - "position": { - "x": 558.31, - "y": 1437.82 - }, - "prev": [ - 18, - 128 - ], - "next": [ - { - "target": 130, - "route": "assets/pathing/璃月11-轻策庄-6.json" - } - ] - }, - { - "id": 130, - "type": "blossom", - "region": "璃月11", - "position": { - "x": 285.79, - "y": 1457.93 - }, - "prev": [ - 19, - 129 - ], - "next": [] - }, - { - "id": 131, - "type": "blossom", - "region": "璃月14", - "position": { - "x": 1614.21, - "y": 1382.09 - }, - "prev": [ - 20 - ], - "next": [ - { - "target": 132, - "route": "assets/pathing/璃月14-药蝶谷-2.json" - } - ] - }, - { - "id": 132, - "type": "blossom", - "region": "璃月14", - "position": { - "x": 1581.57, - "y": 1437.1 - }, - "prev": [ - 131 - ], - "next": [ - { - "target": 133, - "route": "assets/pathing/璃月14-药蝶谷-3.json" - } - ] - }, - { - "id": 133, - "type": "blossom", - "region": "璃月14", - "position": { - "x": 1563.45, - "y": 1487.35 - }, - "prev": [ - 132 - ], - "next": [ - { - "target": 134, - "route": "assets/pathing/璃月14-药蝶谷-4.json" - } - ] - }, - { - "id": 134, - "type": "blossom", - "region": "璃月14", - "position": { - "x": 1525.0, - "y": 1549.17 - }, - "prev": [ - 133 - ], - "next": [] - }, - { - "id": 135, - "type": "blossom", - "region": "璃月2", - "position": { - "x": -194.85, - "y": 1163.89 - }, - "prev": [ - 21 - ], - "next": [ - { - "target": 136, - "route": "assets/pathing/璃月2-地中之盐-2.json" - } - ] - }, - { - "id": 136, - "type": "blossom", - "region": "璃月2", - "position": { - "x": 32.81, - "y": 1118.31 - }, - "prev": [ - 21, - 135 - ], - "next": [ - { - "target": 137, - "route": "assets/pathing/璃月2-地中之盐-3.json" - } - ] - }, - { - "id": 137, - "type": "blossom", - "region": "璃月2", - "position": { - "x": -24.14, - "y": 931.71 - }, - "prev": [ - 22, - 136 - ], - "next": [ - { - "target": 138, - "route": "assets/pathing/璃月2-地中之盐-4.json" - } - ] - }, - { - "id": 138, - "type": "blossom", - "region": "璃月2", - "position": { - "x": -10.67, - "y": 683.67 - }, - "prev": [ - 23, - 137 - ], - "next": [] - }, - { - "id": 139, - "type": "blossom", - "region": "璃月3", - "position": { - "x": -55.27, - "y": 603.84 - }, - "prev": [ - 23 - ], - "next": [ - { - "target": 140, - "route": "assets/pathing/璃月3-瑶光滩-2.json" - } - ] - }, - { - "id": 140, - "type": "blossom", - "region": "璃月3", - "position": { - "x": 139.9, - "y": 685.26 - }, - "prev": [ - 23, - 139 - ], - "next": [ - { - "target": 141, - "route": "assets/pathing/璃月3-瑶光滩-3.json" - } - ] - }, - { - "id": 141, - "type": "blossom", - "region": "璃月3", - "position": { - "x": 284.12, - "y": 620.66 - }, - "prev": [ - 16, - 140 - ], - "next": [ - { - "target": 142, - "route": "assets/pathing/璃月3-瑶光滩-4.json" - } - ] - }, - { - "id": 142, - "type": "blossom", - "region": "璃月3", - "position": { - "x": 276.12, - "y": 542.51 - }, - "prev": [ - 16, - 141, - 147 - ], - "next": [ - { - "target": 124, - "route": "assets/pathing/璃月3-瑶光滩-5.json" - } - ] - }, - { - "id": 143, - "type": "blossom", - "region": "璃月4", - "position": { - "x": -7.16, - "y": -48.77 - }, - "prev": [ - 24 - ], - "next": [ - { - "target": 144, - "route": "assets/pathing/璃月4-璃月港-2.json" - } - ] - }, - { - "id": 144, - "type": "blossom", - "region": "璃月4", - "position": { - "x": 101.14, - "y": -2.97 - }, - "prev": [ - 143 - ], - "next": [ - { - "target": 145, - "route": "assets/pathing/璃月4-璃月港-3.json" - } - ] - }, - { - "id": 145, - "type": "blossom", - "region": "璃月4", - "position": { - "x": 127.05, - "y": 113.87 - }, - "prev": [ - 144 - ], - "next": [ - { - "target": 146, - "route": "assets/pathing/璃月4-璃月港-4.json" - } - ] - }, - { - "id": 146, - "type": "blossom", - "region": "璃月4", - "position": { - "x": 146.03, - "y": 220.07 - }, - "prev": [ - 145 - ], - "next": [ - { - "target": 147, - "route": "assets/pathing/璃月4-璃月港-5.json" - } - ] - }, - { - "id": 147, - "type": "blossom", - "region": "璃月4", - "position": { - "x": 262.65, - "y": 357.85 - }, - "prev": [ - 25, - 146 - ], - "next": [ - { - "target": 142, - "route": "assets/pathing/璃月4-璃月港-6.json" - } - ] - }, - { - "id": 148, - "type": "blossom", - "region": "璃月5", - "position": { - "x": 773.08, - "y": -928.68 - }, - "prev": [ - 26 - ], - "next": [ - { - "target": 149, - "route": "assets/pathing/璃月5-天衡山-2.json" - } - ] - }, - { - "id": 149, - "type": "blossom", - "region": "璃月5", - "position": { - "x": 885.79, - "y": -780.15 - }, - "prev": [ - 26, - 148 - ], - "next": [ - { - "target": 150, - "route": "assets/pathing/璃月5-天衡山-3.json" - } - ] - }, - { - "id": 150, - "type": "blossom", - "region": "璃月5", - "position": { - "x": 1063.54, - "y": -727.34 - }, - "prev": [ - 149 - ], - "next": [ - { - "target": 151, - "route": "assets/pathing/璃月5-天衡山-4-1.json" - } - ] - }, - { - "id": 151, - "type": "blossom", - "region": "璃月5", - "position": { - "x": 936.52, - "y": -489.9 - }, - "prev": [ - 27, - 150 - ], - "next": [] - }, - { - "id": 152, - "type": "blossom", - "region": "璃月8", - "position": { - "x": 1627.15, - "y": 303.83 - }, - "prev": [ - 28 - ], - "next": [ - { - "target": 153, - "route": "assets/pathing/璃月8-南天门南-2.json" - } - ] - }, - { - "id": 153, - "type": "blossom", - "region": "璃月8", - "position": { - "x": 1333.25, - "y": 266.26 - }, - "prev": [ - 29, - 152 - ], - "next": [ - { - "target": 154, - "route": "assets/pathing/璃月8-南天门南-3.json" - } - ] - }, - { - "id": 154, - "type": "blossom", - "region": "璃月8", - "position": { - "x": 1160.17, - "y": 86.75 - }, - "prev": [ - 29, - 153 - ], - "next": [ - { - "target": 155, - "route": "assets/pathing/璃月8-南天门南-4.json" - } - ] - }, - { - "id": 155, - "type": "blossom", - "region": "璃月8", - "position": { - "x": 972.68, - "y": 98.66 - }, - "prev": [ - 29, - 154 - ], - "next": [ - { - "target": 156, - "route": "assets/pathing/璃月8-南天门南-5.json" - } - ] - }, - { - "id": 156, - "type": "blossom", - "region": "璃月8", - "position": { - "x": 815.31, - "y": 137.31 - }, - "prev": [ - 30, - 155 - ], - "next": [ - { - "target": 123, - "route": "assets/pathing/璃月8-南天门南-6.json" - } - ] - }, - { - "id": 157, - "type": "blossom", - "region": "璃月9", - "position": { - "x": 1484.37, - "y": 458.69 - }, - "prev": [ - 31 - ], - "next": [ - { - "target": 158, - "route": "assets/pathing/璃月9-南天门东-2.json" - } - ] - }, - { - "id": 158, - "type": "blossom", - "region": "璃月9", - "position": { - "x": 1445.77, - "y": 577.83 - }, - "prev": [ - 157 - ], - "next": [ - { - "target": 159, - "route": "assets/pathing/璃月9-南天门东-3-2.json" - } - ] - }, - { - "id": 159, - "type": "blossom", - "region": "璃月9", - "position": { - "x": 1561.48, - "y": 483.03 - }, - "prev": [ - 31, - 158 - ], - "next": [ - { - "target": 160, - "route": "assets/pathing/璃月9-南天门东-4.json" - } - ] - }, - { - "id": 160, - "type": "blossom", - "region": "璃月9", - "position": { - "x": 1686.66, - "y": 567.55 - }, - "prev": [ - 28, - 159 - ], - "next": [] - }, - { - "id": 161, - "type": "blossom", - "region": "稻妻1", - "position": { - "x": -4309.58, - "y": -2288.5 - }, - "prev": [ - 32 - ], - "next": [ - { - "target": 162, - "route": "assets/pathing/稻妻1-鸣神岛-2.json" - } - ] - }, - { - "id": 162, - "type": "blossom", - "region": "稻妻1", - "position": { - "x": -4401.19, - "y": -2226.96 - }, - "prev": [ - 32, - 161 - ], - "next": [ - { - "target": 163, - "route": "assets/pathing/稻妻1-鸣神岛-3.json" - } - ] - }, - { - "id": 163, - "type": "blossom", - "region": "稻妻1", - "position": { - "x": -4509.57, - "y": -2332.11 - }, - "prev": [ - 33, - 162 - ], - "next": [ - { - "target": 164, - "route": "assets/pathing/稻妻1-鸣神岛-4.json" - } - ] - }, - { - "id": 164, - "type": "blossom", - "region": "稻妻1", - "position": { - "x": -4549.96, - "y": -2399.98 - }, - "prev": [ - 33, - 163 - ], - "next": [] - }, - { - "id": 165, - "type": "blossom", - "region": "稻妻2", - "position": { - "x": -3007.64, - "y": -3515.28 - }, - "prev": [ - 34 - ], - "next": [ - { - "target": 166, - "route": "assets/pathing/稻妻2-踏鞴砂-2.json" - } - ] - }, - { - "id": 166, - "type": "blossom", - "region": "稻妻2", - "position": { - "x": -3153.03, - "y": -3485.5 - }, - "prev": [ - 35, - 165 - ], - "next": [ - { - "target": 167, - "route": "assets/pathing/稻妻2-踏鞴砂-3.json" - } - ] - }, - { - "id": 167, - "type": "blossom", - "region": "稻妻2", - "position": { - "x": -3328.99, - "y": -3561.28 - }, - "prev": [ - 36, - 166 - ], - "next": [ - { - "target": 168, - "route": "assets/pathing/稻妻2-踏鞴砂-4.json" - } - ] - }, - { - "id": 168, - "type": "blossom", - "region": "稻妻2", - "position": { - "x": -3429.72, - "y": -3419.55 - }, - "prev": [ - 37, - 167 - ], - "next": [ - { - "target": 169, - "route": "assets/pathing/稻妻2-踏鞴砂-5.json" - } - ] - }, - { - "id": 169, - "type": "blossom", - "region": "稻妻2", - "position": { - "x": -3340.38, - "y": -3237.16 - }, - "prev": [ - 37, - 168 - ], - "next": [] - }, - { - "id": 170, - "type": "blossom", - "region": "稻妻3", - "position": { - "x": -2269.86, - "y": -4068.62 - }, - "prev": [ - 38 - ], - "next": [ - { - "target": 171, - "route": "assets/pathing/稻妻3-八酝岛-2.json" - } - ] - }, - { - "id": 171, - "type": "blossom", - "region": "稻妻3", - "position": { - "x": -2280.61, - "y": -4171.18 - }, - "prev": [ - 170 - ], - "next": [ - { - "target": 172, - "route": "assets/pathing/稻妻3-八酝岛-3.json" - } - ] - }, - { - "id": 172, - "type": "blossom", - "region": "稻妻3", - "position": { - "x": -2169.62, - "y": -4076.36 - }, - "prev": [ - 38, - 171 - ], - "next": [ - { - "target": 173, - "route": "assets/pathing/稻妻3-八酝岛-4.json" - } - ] - }, - { - "id": 173, - "type": "blossom", - "region": "稻妻3", - "position": { - "x": -2211.44, - "y": -4033.62 - }, - "prev": [ - 38, - 172 - ], - "next": [] - }, - { - "id": 174, - "type": "blossom", - "region": "稻妻4", - "position": { - "x": -1120.06, - "y": -3962.66 - }, - "prev": [ - 39 - ], - "next": [ - { - "target": 175, - "route": "assets/pathing/稻妻4-海祇岛-2.json" - } - ] - }, - { - "id": 175, - "type": "blossom", - "region": "稻妻4", - "position": { - "x": -1190.51, - "y": -3902.08 - }, - "prev": [ - 174 - ], - "next": [ - { - "target": 176, - "route": "assets/pathing/稻妻4-海祇岛-3.json" - } - ] - }, - { - "id": 176, - "type": "blossom", - "region": "稻妻4", - "position": { - "x": -1254.7, - "y": -3839.91 - }, - "prev": [ - 175 - ], - "next": [ - { - "target": 177, - "route": "assets/pathing/稻妻4-海祇岛-4.json" - } - ] - }, - { - "id": 177, - "type": "blossom", - "region": "稻妻4", - "position": { - "x": -1322.41, - "y": -3815.69 - }, - "prev": [ - 40, - 176 - ], - "next": [] - }, - { - "id": 178, - "type": "blossom", - "region": "稻妻5", - "position": { - "x": -3908.27, - "y": -4290.55 - }, - "prev": [ - 41 - ], - "next": [ - { - "target": 179, - "route": "assets/pathing/稻妻5-清籁岛-2.json" - } - ] - }, - { - "id": 179, - "type": "blossom", - "region": "稻妻5", - "position": { - "x": -3850.61, - "y": -4241.9 - }, - "prev": [ - 178 - ], - "next": [ - { - "target": 180, - "route": "assets/pathing/稻妻5-清籁岛-3.json" - } - ] - }, - { - "id": 180, - "type": "blossom", - "region": "稻妻5", - "position": { - "x": -3763.54, - "y": -4259.14 - }, - "prev": [ - 179 - ], - "next": [ - { - "target": 181, - "route": "assets/pathing/稻妻5-清籁岛-4.json" - } - ] - }, - { - "id": 181, - "type": "blossom", - "region": "稻妻5", - "position": { - "x": -3703.34, - "y": -4343.16 - }, - "prev": [ - 42, - 180 - ], - "next": [ - { - "target": 182, - "route": "assets/pathing/稻妻5-清籁岛-5.json" - } - ] - }, - { - "id": 182, - "type": "blossom", - "region": "稻妻5", - "position": { - "x": -3671.61, - "y": -4414.03 - }, - "prev": [ - 181 - ], - "next": [] - }, - { - "id": 183, - "type": "blossom", - "region": "纳塔1", - "position": { - "x": 7864.95, - "y": -1823.96 - }, - "prev": [ - 43 - ], - "next": [ - { - "target": 184, - "route": "assets/pathing/纳塔1-隆崛坡-2.json" - } - ] - }, - { - "id": 184, - "type": "blossom", - "region": "纳塔1", - "position": { - "x": 7945.72, - "y": -1744.08 - }, - "prev": [ - 44, - 183 - ], - "next": [ - { - "target": 185, - "route": "assets/pathing/纳塔1-隆崛坡-3.json" - } - ] - }, - { - "id": 185, - "type": "blossom", - "region": "纳塔1", - "position": { - "x": 7932.2, - "y": -1616.37 - }, - "prev": [ - 44, - 184 - ], - "next": [ - { - "target": 186, - "route": "assets/pathing/纳塔1-隆崛坡-4.json" - } - ] - }, - { - "id": 186, - "type": "blossom", - "region": "纳塔1", - "position": { - "x": 7853.72, - "y": -1554.26 - }, - "prev": [ - 185 - ], - "next": [] - }, - { - "id": 187, - "type": "blossom", - "region": "纳塔10", - "position": { - "x": 8361.82, - "y": -2993.79 - }, - "prev": [ - 45 - ], - "next": [ - { - "target": 188, - "route": "assets/pathing/纳塔10-溶水域-2.json" - } - ] - }, - { - "id": 188, - "type": "blossom", - "region": "纳塔10", - "position": { - "x": 8495.87, - "y": -3019.42 - }, - "prev": [ - 187 - ], - "next": [ - { - "target": 189, - "route": "assets/pathing/纳塔10-溶水域-3.json" - } - ] - }, - { - "id": 189, - "type": "blossom", - "region": "纳塔10", - "position": { - "x": 8587.99, - "y": -3022.4 - }, - "prev": [ - 188 - ], - "next": [ - { - "target": 190, - "route": "assets/pathing/纳塔10-溶水域-4.json" - } - ] - }, - { - "id": 190, - "type": "blossom", - "region": "纳塔10", - "position": { - "x": 8879.8, - "y": -3059.26 - }, - "prev": [ - 46, - 189 - ], - "next": [] - }, - { - "id": 191, - "type": "blossom", - "region": "纳塔2", - "position": { - "x": 8604.22, - "y": -1635.22 - }, - "prev": [ - 47 - ], - "next": [ - { - "target": 192, - "route": "assets/pathing/纳塔2-硫晶支脉-2.json" - } - ] - }, - { - "id": 192, - "type": "blossom", - "region": "纳塔2", - "position": { - "x": 8657.57, - "y": -1501.26 - }, - "prev": [ - 47, - 191 - ], - "next": [ - { - "target": 193, - "route": "assets/pathing/纳塔2-硫晶支脉-3.json" - } - ] - }, - { - "id": 193, - "type": "blossom", - "region": "纳塔2", - "position": { - "x": 8733.62, - "y": -1528.95 - }, - "prev": [ - 47, - 192 - ], - "next": [ - { - "target": 194, - "route": "assets/pathing/纳塔2-硫晶支脉-4.json" - } - ] - }, - { - "id": 194, - "type": "blossom", - "region": "纳塔2", - "position": { - "x": 8588.9, - "y": -1373.62 - }, - "prev": [ - 48, - 193 - ], - "next": [] - }, - { - "id": 195, - "type": "blossom", - "region": "纳塔3", - "position": { - "x": 8312.07, - "y": -2344.44 - }, - "prev": [ - 49 - ], - "next": [ - { - "target": 196, - "route": "assets/pathing/纳塔3-彩石顶-2.json" - } - ] - }, - { - "id": 196, - "type": "blossom", - "region": "纳塔3", - "position": { - "x": 8429.86, - "y": -2328.47 - }, - "prev": [ - 50, - 195 - ], - "next": [ - { - "target": 197, - "route": "assets/pathing/纳塔3-彩石顶-3.json" - } - ] - }, - { - "id": 197, - "type": "blossom", - "region": "纳塔3", - "position": { - "x": 8291.29, - "y": -2096.67 - }, - "prev": [ - 50, - 196 - ], - "next": [ - { - "target": 198, - "route": "assets/pathing/纳塔3-彩石顶-4.json" - } - ] - }, - { - "id": 198, - "type": "blossom", - "region": "纳塔3", - "position": { - "x": 8088.21, - "y": -2053.56 - }, - "prev": [ - 197 - ], - "next": [] - }, - { - "id": 199, - "type": "blossom", - "region": "纳塔4", - "position": { - "x": 9028.67, - "y": -2342.6 - }, - "prev": [ - 51 - ], - "next": [ - { - "target": 200, - "route": "assets/pathing/纳塔4-溶水域-2.json" - } - ] - }, - { - "id": 200, - "type": "blossom", - "region": "纳塔4", - "position": { - "x": 9090.71, - "y": -2407.11 - }, - "prev": [ - 199 - ], - "next": [] - }, - { - "id": 201, - "type": "blossom", - "region": "纳塔5", - "position": { - "x": 9687.15, - "y": -2898.19 - }, - "prev": [ - 52 - ], - "next": [ - { - "target": 202, - "route": "assets/pathing/纳塔5-安饶之野-2.json" - } - ] - }, - { - "id": 202, - "type": "blossom", - "region": "纳塔5", - "position": { - "x": 9754.7, - "y": -2904.43 - }, - "prev": [ - 52, - 201 - ], - "next": [ - { - "target": 203, - "route": "assets/pathing/纳塔5-安饶之野-3.json" - } - ] - }, - { - "id": 203, - "type": "blossom", - "region": "纳塔5", - "position": { - "x": 9778.7, - "y": -2856.31 - }, - "prev": [ - 52, - 202 - ], - "next": [] - }, - { - "id": 204, - "type": "blossom", - "region": "纳塔6", - "position": { - "x": 9231.08, - "y": -2154.74 - }, - "prev": [ - 53 - ], - "next": [ - { - "target": 205, - "route": "assets/pathing/纳塔6-圣火竞技场-2.json" - } - ] - }, - { - "id": 205, - "type": "blossom", - "region": "纳塔6", - "position": { - "x": 9110.86, - "y": -2222.48 - }, - "prev": [ - 53, - 204 - ], - "next": [ - { - "target": 206, - "route": "assets/pathing/纳塔6-圣火竞技场-3.json" - } - ] - }, - { - "id": 206, - "type": "blossom", - "region": "纳塔6", - "position": { - "x": 8945.55, - "y": -2138.43 - }, - "prev": [ - 205 - ], - "next": [ - { - "target": 207, - "route": "assets/pathing/纳塔6-圣火竞技场-4.json" - } - ] - }, - { - "id": 207, - "type": "blossom", - "region": "纳塔6", - "position": { - "x": 8810.08, - "y": -2077.83 - }, - "prev": [ - 206 - ], - "next": [] - }, - { - "id": 208, - "type": "blossom", - "region": "纳塔7", - "position": { - "x": 9999.51, - "y": -1570.23 - }, - "prev": [ - 54 - ], - "next": [ - { - "target": 209, - "route": "assets/pathing/纳塔7-烟谜主-2.json" - } - ] - }, - { - "id": 209, - "type": "blossom", - "region": "纳塔7", - "position": { - "x": 9963.8, - "y": -1511.61 - }, - "prev": [ - 208 - ], - "next": [ - { - "target": 210, - "route": "assets/pathing/纳塔7-烟谜主-3.json" - } - ] - }, - { - "id": 210, - "type": "blossom", - "region": "纳塔7", - "position": { - "x": 9907.78, - "y": -1424.0 - }, - "prev": [ - 209 - ], - "next": [] - }, - { - "id": 211, - "type": "blossom", - "region": "纳塔8", - "position": { - "x": 9636.29, - "y": -1038.41 - }, - "prev": [ - 55 - ], - "next": [ - { - "target": 212, - "route": "assets/pathing/纳塔8-花羽会-2.json" - } - ] - }, - { - "id": 212, - "type": "blossom", - "region": "纳塔8", - "position": { - "x": 9517.92, - "y": -1029.8 - }, - "prev": [ - 55, - 211 - ], - "next": [ - { - "target": 213, - "route": "assets/pathing/纳塔8-花羽会-3.json" - } - ] - }, - { - "id": 213, - "type": "blossom", - "region": "纳塔8", - "position": { - "x": 9472.28, - "y": -771.8 - }, - "prev": [ - 56, - 212 - ], - "next": [] - }, - { - "id": 214, - "type": "blossom", - "region": "纳塔9", - "position": { - "x": 9920.8, - "y": -1196.25 - }, - "prev": [ - 57 - ], - "next": [ - { - "target": 215, - "route": "assets/pathing/纳塔9-翘枝崖-2.json" - } - ] - }, - { - "id": 215, - "type": "blossom", - "region": "纳塔9", - "position": { - "x": 9888.22, - "y": -1046.55 - }, - "prev": [ - 214 - ], - "next": [ - { - "target": 216, - "route": "assets/pathing/纳塔9-翘枝崖-3.json" - } - ] - }, - { - "id": 216, - "type": "blossom", - "region": "纳塔9", - "position": { - "x": 9938.82, - "y": -933.87 - }, - "prev": [ - 215 - ], - "next": [ - { - "target": 217, - "route": "assets/pathing/纳塔9-翘枝崖-4.json" - } - ] - }, - { - "id": 217, - "type": "blossom", - "region": "纳塔9", - "position": { - "x": 9984.24, - "y": -876.43 - }, - "prev": [ - 216 - ], - "next": [] - }, - { - "id": 218, - "type": "blossom", - "region": "蒙德1", - "position": { - "x": -1298.03, - "y": 2172.37 - }, - "prev": [ - 58 - ], - "next": [ - { - "target": 219, - "route": "assets/pathing/蒙德1-风起地-2.json" - } - ] - }, - { - "id": 219, - "type": "blossom", - "region": "蒙德1", - "position": { - "x": -1223.18, - "y": 2032.04 - }, - "prev": [ - 59, - 218 - ], - "next": [ - { - "target": 220, - "route": "assets/pathing/蒙德1-风起地-3.json" - } - ] - }, - { - "id": 220, - "type": "blossom", - "region": "蒙德1", - "position": { - "x": -1113.87, - "y": 1971.9 - }, - "prev": [ - 219 - ], - "next": [ - { - "target": 221, - "route": "assets/pathing/蒙德1-风起地-4.json" - } - ] - }, - { - "id": 221, - "type": "blossom", - "region": "蒙德1", - "position": { - "x": -1041.91, - "y": 1927.07 - }, - "prev": [ - 220 - ], - "next": [ - { - "target": 222, - "route": "assets/pathing/蒙德1-风起地-5.json" - } - ] - }, - { - "id": 222, - "type": "blossom", - "region": "蒙德1", - "position": { - "x": -895.08, - "y": 1833.84 - }, - "prev": [ - 60, - 221, - 249 - ], - "next": [] - }, - { - "id": 223, - "type": "blossom", - "region": "蒙德2", - "position": { - "x": -717.83, - "y": 1802.77 - }, - "prev": [ - 61 - ], - "next": [ - { - "target": 224, - "route": "assets/pathing/蒙德2-清泉镇-2.json" - } - ] - }, - { - "id": 224, - "type": "blossom", - "region": "蒙德2", - "position": { - "x": -523.76, - "y": 1813.84 - }, - "prev": [ - 62, - 223 - ], - "next": [ - { - "target": 225, - "route": "assets/pathing/蒙德2-清泉镇-3.json" - } - ] - }, - { - "id": 225, - "type": "blossom", - "region": "蒙德2", - "position": { - "x": -420.36, - "y": 1998.11 - }, - "prev": [ - 224 - ], - "next": [ - { - "target": 227, - "route": "assets/pathing/蒙德2-清泉镇-4-2.json" - } - ] - }, - { - "id": 226, - "type": "blossom", - "region": "蒙德2", - "position": { - "x": -347.95, - "y": 1902.51 - }, - "prev": [], - "next": [] - }, - { - "id": 227, - "type": "blossom", - "region": "蒙德2", - "position": { - "x": -319.46, - "y": 2156.93 - }, - "prev": [ - 63, - 225, - 227 - ], - "next": [ - { - "target": 227, - "route": "assets/pathing/蒙德2-清泉镇-5-1.json" - } - ] - }, - { - "id": 228, - "type": "blossom", - "region": "蒙德3", - "position": { - "x": -281.79, - "y": 2310.78 - }, - "prev": [ - 64 - ], - "next": [ - { - "target": 229, - "route": "assets/pathing/蒙德3-奔狼领-2.json" - } - ] - }, - { - "id": 229, - "type": "blossom", - "region": "蒙德3", - "position": { - "x": -205.49, - "y": 2429.07 - }, - "prev": [ - 228 - ], - "next": [ - { - "target": 230, - "route": "assets/pathing/蒙德3-奔狼领-3.json" - } - ] - }, - { - "id": 230, - "type": "blossom", - "region": "蒙德3", - "position": { - "x": -327.03, - "y": 2410.43 - }, - "prev": [ - 229 - ], - "next": [ - { - "target": 231, - "route": "assets/pathing/蒙德3-奔狼领-4.json" - } - ] - }, - { - "id": 231, - "type": "blossom", - "region": "蒙德3", - "position": { - "x": -336.15, - "y": 2562.91 - }, - "prev": [ - 65, - 230 - ], - "next": [] - }, - { - "id": 232, - "type": "blossom", - "region": "蒙德4", - "position": { - "x": 241.41, - "y": 2703.08 - }, - "prev": [ - 66 - ], - "next": [ - { - "target": 233, - "route": "assets/pathing/蒙德4-风龙废墟-2.json" - } - ] - }, - { - "id": 233, - "type": "blossom", - "region": "蒙德4", - "position": { - "x": 124.61, - "y": 2817.24 - }, - "prev": [ - 232 - ], - "next": [ - { - "target": 234, - "route": "assets/pathing/蒙德4-风龙废墟-3.json" - } - ] - }, - { - "id": 234, - "type": "blossom", - "region": "蒙德4", - "position": { - "x": 152.71, - "y": 2963.33 - }, - "prev": [ - 67, - 233 - ], - "next": [ - { - "target": 235, - "route": "assets/pathing/蒙德4-风龙废墟-4.json" - } - ] - }, - { - "id": 235, - "type": "blossom", - "region": "蒙德4", - "position": { - "x": -27.99, - "y": 2919.59 - }, - "prev": [ - 234 - ], - "next": [] - }, - { - "id": 236, - "type": "blossom", - "region": "蒙德5", - "position": { - "x": -1453.46, - "y": 2282.88 - }, - "prev": [ - 68 - ], - "next": [ - { - "target": 237, - "route": "assets/pathing/蒙德5-千风神殿-2.json" - } - ] - }, - { - "id": 237, - "type": "blossom", - "region": "蒙德5", - "position": { - "x": -1367.78, - "y": 2411.31 - }, - "prev": [ - 236 - ], - "next": [ - { - "target": 238, - "route": "assets/pathing/蒙德5-千风神殿-3.json" - } - ] - }, - { - "id": 238, - "type": "blossom", - "region": "蒙德5", - "position": { - "x": -1474.91, - "y": 2520.0 - }, - "prev": [ - 237 - ], - "next": [ - { - "target": 239, - "route": "assets/pathing/蒙德5-千风神殿-4.json" - } - ] - }, - { - "id": 239, - "type": "blossom", - "region": "蒙德5", - "position": { - "x": -1394.83, - "y": 2569.65 - }, - "prev": [ - 69, - 238 - ], - "next": [ - { - "target": 240, - "route": "assets/pathing/蒙德5-千风神殿-5.json" - } - ] - }, - { - "id": 240, - "type": "blossom", - "region": "蒙德5", - "position": { - "x": -1316.21, - "y": 2734.67 - }, - "prev": [ - 70, - 239 - ], - "next": [] - }, - { - "id": 241, - "type": "blossom", - "region": "蒙德6", - "position": { - "x": -1512.81, - "y": 2774.26 - }, - "prev": [ - 70 - ], - "next": [ - { - "target": 242, - "route": "assets/pathing/蒙德6-望风山地-2.json" - } - ] - }, - { - "id": 242, - "type": "blossom", - "region": "蒙德6", - "position": { - "x": -1518.71, - "y": 2877.4 - }, - "prev": [ - 241 - ], - "next": [ - { - "target": 243, - "route": "assets/pathing/蒙德6-望风山地-3.json" - } - ] - }, - { - "id": 243, - "type": "blossom", - "region": "蒙德6", - "position": { - "x": -1603.95, - "y": 2865.65 - }, - "prev": [ - 71, - 242 - ], - "next": [ - { - "target": 244, - "route": "assets/pathing/蒙德6-望风山地-4.json" - } - ] - }, - { - "id": 244, - "type": "blossom", - "region": "蒙德6", - "position": { - "x": -1710.73, - "y": 2983.29 - }, - "prev": [ - 243 - ], - "next": [] - }, - { - "id": 245, - "type": "blossom", - "region": "蒙德7", - "position": { - "x": -1660.63, - "y": 1392.87 - }, - "prev": [ - 72 - ], - "next": [ - { - "target": 246, - "route": "assets/pathing/蒙德7-达达乌帕谷-2.json" - } - ] - }, - { - "id": 246, - "type": "blossom", - "region": "蒙德7", - "position": { - "x": -1517.07, - "y": 1513.97 - }, - "prev": [ - 73, - 245 - ], - "next": [ - { - "target": 247, - "route": "assets/pathing/蒙德7-达达乌帕谷-3.json" - } - ] - }, - { - "id": 247, - "type": "blossom", - "region": "蒙德7", - "position": { - "x": -1331.96, - "y": 1560.15 - }, - "prev": [ - 73, - 246 - ], - "next": [ - { - "target": 248, - "route": "assets/pathing/蒙德7-达达乌帕谷-4.json" - } - ] - }, - { - "id": 248, - "type": "blossom", - "region": "蒙德7", - "position": { - "x": -1318.63, - "y": 1692.63 - }, - "prev": [ - 247 - ], - "next": [ - { - "target": 249, - "route": "assets/pathing/蒙德7-达达乌帕谷-5.json" - } - ] - }, - { - "id": 249, - "type": "blossom", - "region": "蒙德7", - "position": { - "x": -1138.22, - "y": 1789.79 - }, - "prev": [ - 248 - ], - "next": [ - { - "target": 222, - "route": "assets/pathing/蒙德7-达达乌帕谷-6.json" - } - ] - }, - { - "id": 250, - "type": "blossom", - "region": "须弥1", - "position": { - "x": 2368.79, - "y": -92.11 - }, - "prev": [ - 74 - ], - "next": [ - { - "target": 251, - "route": "assets/pathing/须弥1-无郁稠林-2.json" - } - ] - }, - { - "id": 251, - "type": "blossom", - "region": "须弥1", - "position": { - "x": 2317.29, - "y": -115.35 - }, - "prev": [ - 250 - ], - "next": [ - { - "target": 252, - "route": "assets/pathing/须弥1-无郁稠林-3.json" - } - ] - }, - { - "id": 252, - "type": "blossom", - "region": "须弥1", - "position": { - "x": 2212.83, - "y": -83.02 - }, - "prev": [ - 251 - ], - "next": [ - { - "target": 253, - "route": "assets/pathing/须弥1-无郁稠林-4.json" - } - ] - }, - { - "id": 253, - "type": "blossom", - "region": "须弥1", - "position": { - "x": 2233.8, - "y": -160.88 - }, - "prev": [ - 252 - ], - "next": [ - { - "target": 254, - "route": "assets/pathing/须弥1-无郁稠林-5.json" - } - ] - }, - { - "id": 254, - "type": "blossom", - "region": "须弥1", - "position": { - "x": 2269.0, - "y": -251.14 - }, - "prev": [ - 253 - ], - "next": [] - }, - { - "id": 255, - "type": "blossom", - "region": "须弥10", - "position": { - "x": 6501.08, - "y": 904.25 - }, - "prev": [ - 75 - ], - "next": [ - { - "target": 256, - "route": "assets/pathing/须弥10-荼泥黑渊-2.json" - } - ] - }, - { - "id": 256, - "type": "blossom", - "region": "须弥10", - "position": { - "x": 6613.41, - "y": 784.42 - }, - "prev": [ - 75, - 255 - ], - "next": [ - { - "target": 257, - "route": "assets/pathing/须弥10-荼泥黑渊-3.json" - } - ] - }, - { - "id": 257, - "type": "blossom", - "region": "须弥10", - "position": { - "x": 6692.66, - "y": 625.4 - }, - "prev": [ - 75, - 256 - ], - "next": [ - { - "target": 258, - "route": "assets/pathing/须弥10-荼泥黑渊-4.json" - } - ] - }, - { - "id": 258, - "type": "blossom", - "region": "须弥10", - "position": { - "x": 6280.81, - "y": 616.8 - }, - "prev": [ - 76, - 257 - ], - "next": [] - }, - { - "id": 259, - "type": "blossom", - "region": "须弥2", - "position": { - "x": 2910.46, - "y": -1818.57 - }, - "prev": [ - 77 - ], - "next": [ - { - "target": 260, - "route": "assets/pathing/须弥2-奥摩斯港西-2.json" - } - ] - }, - { - "id": 260, - "type": "blossom", - "region": "须弥2", - "position": { - "x": 2980.38, - "y": -1758.57 - }, - "prev": [ - 259 - ], - "next": [ - { - "target": 261, - "route": "assets/pathing/须弥2-奥摩斯港西-3.json" - } - ] - }, - { - "id": 261, - "type": "blossom", - "region": "须弥2", - "position": { - "x": 3013.06, - "y": -1700.54 - }, - "prev": [ - 78, - 260 - ], - "next": [ - { - "target": 262, - "route": "assets/pathing/须弥2-奥摩斯港西-4.json" - } - ] - }, - { - "id": 262, - "type": "blossom", - "region": "须弥2", - "position": { - "x": 2981.92, - "y": -1641.54 - }, - "prev": [ - 261 - ], - "next": [ - { - "target": 263, - "route": "assets/pathing/须弥2-奥摩斯港西-5.json" - } - ] - }, - { - "id": 263, - "type": "blossom", - "region": "须弥2", - "position": { - "x": 2963.07, - "y": -1586.92 - }, - "prev": [ - 262 - ], - "next": [] - }, - { - "id": 264, - "type": "blossom", - "region": "须弥3", - "position": { - "x": 3195.78, - "y": -806.97 - }, - "prev": [ - 79 - ], - "next": [ - { - "target": 265, - "route": "assets/pathing/须弥3-禅那园-2.json" - } - ] - }, - { - "id": 265, - "type": "blossom", - "region": "须弥3", - "position": { - "x": 3233.51, - "y": -740.65 - }, - "prev": [ - 264 - ], - "next": [ - { - "target": 266, - "route": "assets/pathing/须弥3-禅那园-3.json" - } - ] - }, - { - "id": 266, - "type": "blossom", - "region": "须弥3", - "position": { - "x": 3324.5, - "y": -659.02 - }, - "prev": [ - 80, - 265 - ], - "next": [ - { - "target": 267, - "route": "assets/pathing/须弥3-禅那园-4.json" - } - ] - }, - { - "id": 267, - "type": "blossom", - "region": "须弥3", - "position": { - "x": 3387.39, - "y": -664.21 - }, - "prev": [ - 266 - ], - "next": [] - }, - { - "id": 268, - "type": "blossom", - "region": "须弥4", - "position": { - "x": 3381.91, - "y": -1231.97 - }, - "prev": [ - 81 - ], - "next": [ - { - "target": 269, - "route": "assets/pathing/须弥4-水天丛林-2.json" - } - ] - }, - { - "id": 269, - "type": "blossom", - "region": "须弥4", - "position": { - "x": 3355.82, - "y": -1318.18 - }, - "prev": [ - 268 - ], - "next": [ - { - "target": 270, - "route": "assets/pathing/须弥4-水天丛林-3.json" - } - ] - }, - { - "id": 270, - "type": "blossom", - "region": "须弥4", - "position": { - "x": 3466.17, - "y": -1318.08 - }, - "prev": [ - 269 - ], - "next": [ - { - "target": 271, - "route": "assets/pathing/须弥4-水天丛林-4.json" - } - ] - }, - { - "id": 271, - "type": "blossom", - "region": "须弥4", - "position": { - "x": 3504.37, - "y": -1500.13 - }, - "prev": [ - 82, - 270 - ], - "next": [ - { - "target": 272, - "route": "assets/pathing/须弥4-水天丛林-5.json" - } - ] - }, - { - "id": 272, - "type": "blossom", - "region": "须弥4", - "position": { - "x": 3721.99, - "y": -1507.71 - }, - "prev": [ - 83, - 271 - ], - "next": [] - }, - { - "id": 273, - "type": "blossom", - "region": "须弥5", - "position": { - "x": 4345.77, - "y": -1793.67 - }, - "prev": [ - 84 - ], - "next": [ - { - "target": 274, - "route": "assets/pathing/须弥5-阿如村-2.json" - } - ] - }, - { - "id": 274, - "type": "blossom", - "region": "须弥5", - "position": { - "x": 4257.86, - "y": -1903.31 - }, - "prev": [ - 273 - ], - "next": [ - { - "target": 275, - "route": "assets/pathing/须弥5-阿如村-3.json" - } - ] - }, - { - "id": 275, - "type": "blossom", - "region": "须弥5", - "position": { - "x": 4144.29, - "y": -2014.19 - }, - "prev": [ - 274, - 275 - ], - "next": [ - { - "target": 275, - "route": "assets/pathing/须弥5-阿如村-4.json" - }, - { - "target": 276, - "route": "assets/pathing/须弥5-阿如村-5.json" - } - ] - }, - { - "id": 276, - "type": "blossom", - "region": "须弥5", - "position": { - "x": 4211.01, - "y": -2165.65 - }, - "prev": [ - 275 - ], - "next": [] - }, - { - "id": 277, - "type": "blossom", - "region": "须弥6", - "position": { - "x": 4552.75, - "y": -2945.07 - }, - "prev": [ - 85 - ], - "next": [ - { - "target": 278, - "route": "assets/pathing/须弥6-荼诃落谷-2.json" - } - ] - }, - { - "id": 278, - "type": "blossom", - "region": "须弥6", - "position": { - "x": 4696.5, - "y": -3055.9 - }, - "prev": [ - 86, - 277 - ], - "next": [ - { - "target": 279, - "route": "assets/pathing/须弥6-荼诃落谷-3.json" - } - ] - }, - { - "id": 279, - "type": "blossom", - "region": "须弥6", - "position": { - "x": 4886.54, - "y": -2940.45 - }, - "prev": [ - 278 - ], - "next": [ - { - "target": 280, - "route": "assets/pathing/须弥6-荼诃落谷-4.json" - } - ] - }, - { - "id": 280, - "type": "blossom", - "region": "须弥6", - "position": { - "x": 4756.03, - "y": -2742.32 - }, - "prev": [ - 87, - 279 - ], - "next": [] - }, - { - "id": 281, - "type": "blossom", - "region": "须弥8", - "position": { - "x": 5758.76, - "y": -1154.57 - }, - "prev": [ - 88 - ], - "next": [ - { - "target": 282, - "route": "assets/pathing/须弥8-折胫谷-2.json" - } - ] - }, - { - "id": 282, - "type": "blossom", - "region": "须弥8", - "position": { - "x": 5887.09, - "y": -1120.65 - }, - "prev": [ - 281 - ], - "next": [ - { - "target": 283, - "route": "assets/pathing/须弥8-折胫谷-3.json" - } - ] - }, - { - "id": 283, - "type": "blossom", - "region": "须弥8", - "position": { - "x": 5902.11, - "y": -1008.25 - }, - "prev": [ - 282 - ], - "next": [ - { - "target": 284, - "route": "assets/pathing/须弥8-折胫谷-4.json" - } - ] - }, - { - "id": 284, - "type": "blossom", - "region": "须弥8", - "position": { - "x": 5928.09, - "y": -922.46 - }, - "prev": [ - 283 - ], - "next": [] - }, - { - "id": 285, - "type": "blossom", - "region": "须弥9", - "position": { - "x": 4555.52, - "y": -569.96 - }, - "prev": [ - 89 - ], - "next": [ - { - "target": 286, - "route": "assets/pathing/须弥9-镔铁沙丘-2.json" - } - ] - }, - { - "id": 286, - "type": "blossom", - "region": "须弥9", - "position": { - "x": 4573.81, - "y": -408.86 - }, - "prev": [ - 285 - ], - "next": [ - { - "target": 287, - "route": "assets/pathing/须弥9-镔铁沙丘-3.json" - } - ] - }, - { - "id": 287, - "type": "blossom", - "region": "须弥9", - "position": { - "x": 4756.13, - "y": -221.43 - }, - "prev": [ - 286 - ], - "next": [ - { - "target": 288, - "route": "assets/pathing/须弥9-镔铁沙丘-4.json" - } - ] - }, - { - "id": 288, - "type": "blossom", - "region": "须弥9", - "position": { - "x": 4862.07, - "y": -150.71 - }, - "prev": [ - 287 - ], - "next": [] - } - ] + "teleports": [ + { + "id": 1, + "region": "蒙德", + "position": { + "x": -1166.84, + "y": 2132.83 + } + }, + { + "id": 2, + "region": "蒙德", + "position": { + "x": -1266.59, + "y": 1933.52 + } + }, + { + "id": 3, + "region": "蒙德", + "position": { + "x": -914.82, + "y": 1795.51 + } + }, + { + "id": 4, + "region": "蒙德", + "position": { + "x": -663.61, + "y": 1709.65 + } + }, + { + "id": 5, + "region": "蒙德", + "position": { + "x": -578.76, + "y": 1853.42 + } + }, + { + "id": 6, + "region": "蒙德", + "position": { + "x": -251.66, + "y": 2256.55 + } + }, + { + "id": 7, + "region": "蒙德", + "position": { + "x": -385.84, + "y": 2297.22 + } + }, + { + "id": 8, + "region": "蒙德", + "position": { + "x": -440.09, + "y": 2580.75 + } + }, + { + "id": 9, + "region": "蒙德", + "position": { + "x": 177.18, + "y": 2647.07 + } + }, + { + "id": 10, + "region": "蒙德", + "position": { + "x": 265.6, + "y": 2915.02 + } + }, + { + "id": 11, + "region": "蒙德", + "position": { + "x": -1505.87, + "y": 2296.26 + } + }, + { + "id": 12, + "region": "蒙德", + "position": { + "x": -1330.15, + "y": 2563.86 + } + }, + { + "id": 13, + "region": "蒙德", + "position": { + "x": -1273.84, + "y": 2721.72 + } + }, + { + "id": 14, + "region": "蒙德", + "position": { + "x": -1629.44, + "y": 2834.36 + } + }, + { + "id": 15, + "region": "蒙德", + "position": { + "x": -1867.21, + "y": 1331.21 + } + }, + { + "id": 16, + "region": "蒙德", + "position": { + "x": -1432.63, + "y": 1464.61 + } + }, + { + "id": 17, + "region": "璃月", + "position": { + "x": 207.48, + "y": 1573.01 + } + }, + { + "id": 18, + "region": "璃月", + "position": { + "x": -321.55, + "y": 1473.33 + } + }, + { + "id": 19, + "region": "璃月", + "position": { + "x": 897.84, + "y": 583.5 + } + }, + { + "id": 20, + "region": "璃月", + "position": { + "x": 1045.53, + "y": 950.63 + } + }, + { + "id": 21, + "region": "璃月", + "position": { + "x": 341.33, + "y": 548.08 + } + }, + { + "id": 22, + "region": "璃月", + "position": { + "x": 839.82, + "y": 1532.39 + } + }, + { + "id": 23, + "region": "璃月", + "position": { + "x": 489.8, + "y": 1435.14 + } + }, + { + "id": 24, + "region": "璃月", + "position": { + "x": 253.05, + "y": 1284.9 + } + }, + { + "id": 25, + "region": "璃月", + "position": { + "x": 2257.04, + "y": 934.92 + } + }, + { + "id": 26, + "region": "璃月", + "position": { + "x": 1433.37, + "y": 1288.0 + } + }, + { + "id": 27, + "region": "璃月", + "position": { + "x": -164.59, + "y": 1182.45 + } + }, + { + "id": 28, + "region": "璃月", + "position": { + "x": -188.52, + "y": 972.43 + } + }, + { + "id": 29, + "region": "璃月", + "position": { + "x": -57.41, + "y": 656.93 + } + }, + { + "id": 30, + "region": "璃月", + "position": { + "x": 26.02, + "y": -112.29 + } + }, + { + "id": 31, + "region": "璃月", + "position": { + "x": 173.88, + "y": 389.47 + } + }, + { + "id": 32, + "region": "璃月", + "position": { + "x": 710.68, + "y": -772.49 + } + }, + { + "id": 33, + "region": "璃月", + "position": { + "x": 978.65, + "y": -353.56 + } + }, + { + "id": 34, + "region": "璃月", + "position": { + "x": 1271.19, + "y": 1563.98 + } + }, + { + "id": 35, + "region": "璃月", + "position": { + "x": 1121.11, + "y": 1190.4 + } + }, + { + "id": 36, + "region": "璃月", + "position": { + "x": 489.41, + "y": 222.23 + } + }, + { + "id": 37, + "region": "璃月", + "position": { + "x": 611.74, + "y": -284.65 + } + }, + { + "id": 38, + "region": "璃月", + "position": { + "x": 837.46, + "y": 235.15 + } + }, + { + "id": 39, + "region": "璃月", + "position": { + "x": 876.75, + "y": 587.25 + } + }, + { + "id": 40, + "region": "璃月", + "position": { + "x": 1665.91, + "y": 386.6 + } + }, + { + "id": 41, + "region": "璃月", + "position": { + "x": 1152.67, + "y": 141.57 + } + }, + { + "id": 42, + "region": "璃月", + "position": { + "x": 1389.08, + "y": 516.44 + } + }, + { + "id": 43, + "region": "稻妻", + "position": { + "x": -4217.89, + "y": -2397.87 + } + }, + { + "id": 44, + "region": "稻妻", + "position": { + "x": -4408.91, + "y": -2395.34 + } + }, + { + "id": 45, + "region": "稻妻", + "position": { + "x": -3016.79, + "y": -3623.7 + } + }, + { + "id": 46, + "region": "稻妻", + "position": { + "x": -3233.21, + "y": -3534.22 + } + }, + { + "id": 47, + "region": "稻妻", + "position": { + "x": -3393.16, + "y": -3555.99 + } + }, + { + "id": 48, + "region": "稻妻", + "position": { + "x": -3437.06, + "y": -3319.78 + } + }, + { + "id": 49, + "region": "稻妻", + "position": { + "x": -2224.14, + "y": -4004.16 + } + }, + { + "id": 50, + "region": "稻妻", + "position": { + "x": -1058.01, + "y": -3948.66 + } + }, + { + "id": 51, + "region": "稻妻", + "position": { + "x": -1315.93, + "y": -3774.25 + } + }, + { + "id": 52, + "region": "稻妻", + "position": { + "x": -3891.55, + "y": -4389.92 + } + }, + { + "id": 53, + "region": "稻妻", + "position": { + "x": -3684.76, + "y": -4278.4 + } + }, + { + "id": 54, + "region": "须弥", + "position": { + "x": 2342.31, + "y": -4.68 + } + }, + { + "id": 55, + "region": "须弥", + "position": { + "x": 6615.13, + "y": 724.95 + } + }, + { + "id": 56, + "region": "须弥", + "position": { + "x": 6339.59, + "y": 738.39 + } + }, + { + "id": 57, + "region": "须弥", + "position": { + "x": 2806.54, + "y": -1790.45 + } + }, + { + "id": 58, + "region": "须弥", + "position": { + "x": 2980.23, + "y": -1758.59 + } + }, + { + "id": 59, + "region": "须弥", + "position": { + "x": 3199.51, + "y": -911.7 + } + }, + { + "id": 60, + "region": "须弥", + "position": { + "x": 3252.87, + "y": -591.25 + } + }, + { + "id": 61, + "region": "须弥", + "position": { + "x": 3402.18, + "y": -1175.26 + } + }, + { + "id": 62, + "region": "须弥", + "position": { + "x": 3473.06, + "y": -1573.53 + } + }, + { + "id": 63, + "region": "须弥", + "position": { + "x": 3639.36, + "y": -1416.85 + } + }, + { + "id": 64, + "region": "须弥", + "position": { + "x": 4409.72, + "y": -1874.67 + } + }, + { + "id": 65, + "region": "须弥", + "position": { + "x": 4470.72, + "y": -2915.3 + } + }, + { + "id": 66, + "region": "须弥", + "position": { + "x": 4790.78, + "y": -3182.65 + } + }, + { + "id": 67, + "region": "须弥", + "position": { + "x": 4810.42, + "y": -2732.88 + } + }, + { + "id": 68, + "region": "须弥", + "position": { + "x": 5759.42, + "y": -1307.6 + } + }, + { + "id": 69, + "region": "须弥", + "position": { + "x": 4592.2, + "y": -647.56 + } + }, + { + "id": 70, + "region": "枫丹", + "position": { + "x": 4146.91, + "y": 2606.27 + } + }, + { + "id": 71, + "region": "枫丹", + "position": { + "x": 4375.5, + "y": 2280.05 + } + }, + { + "id": 72, + "region": "枫丹", + "position": { + "x": 4984.79, + "y": 4462.98 + } + }, + { + "id": 73, + "region": "枫丹", + "position": { + "x": 4498.18, + "y": 4710.79 + } + }, + { + "id": 74, + "region": "枫丹", + "position": { + "x": 4624.36, + "y": 4951.78 + } + }, + { + "id": 75, + "region": "枫丹", + "position": { + "x": 2873.54, + "y": 3512.04 + } + }, + { + "id": 76, + "region": "枫丹", + "position": { + "x": 3032.66, + "y": 3732.42 + } + }, + { + "id": 77, + "region": "枫丹", + "position": { + "x": 3917.29, + "y": 2576.43 + } + }, + { + "id": 78, + "region": "枫丹", + "position": { + "x": 4749.59, + "y": 2636.21 + } + }, + { + "id": 79, + "region": "枫丹", + "position": { + "x": 4689.61, + "y": 2429.43 + } + }, + { + "id": 80, + "region": "枫丹", + "position": { + "x": 4626.1, + "y": 2182.3 + } + }, + { + "id": 81, + "region": "纳塔", + "position": { + "x": 7796.08, + "y": -1873.18 + } + }, + { + "id": 82, + "region": "纳塔", + "position": { + "x": 7857.47, + "y": -1751.25 + } + }, + { + "id": 83, + "region": "纳塔", + "position": { + "x": 8291.35, + "y": -2922.46 + } + }, + { + "id": 84, + "region": "纳塔", + "position": { + "x": 8744.65, + "y": -3009.56 + } + }, + { + "id": 85, + "region": "纳塔", + "position": { + "x": 8706.46, + "y": -1575.02 + } + }, + { + "id": 86, + "region": "纳塔", + "position": { + "x": 8670.84, + "y": -1269.72 + } + }, + { + "id": 87, + "region": "纳塔", + "position": { + "x": 8201.95, + "y": -2288.75 + } + }, + { + "id": 88, + "region": "纳塔", + "position": { + "x": 8372.19, + "y": -2196.26 + } + }, + { + "id": 89, + "region": "纳塔", + "position": { + "x": 9038.74, + "y": -2429.33 + } + }, + { + "id": 90, + "region": "纳塔", + "position": { + "x": 9812.76, + "y": -2852.58 + } + }, + { + "id": 91, + "region": "纳塔", + "position": { + "x": 9282.7, + "y": -2163.58 + } + }, + { + "id": 92, + "region": "纳塔", + "position": { + "x": 9989.5, + "y": -1607.82 + } + }, + { + "id": 93, + "region": "纳塔", + "position": { + "x": 9548.24, + "y": -1116.54 + } + }, + { + "id": 94, + "region": "纳塔", + "position": { + "x": 9719.22, + "y": -851.99 + } + }, + { + "id": 95, + "region": "纳塔", + "position": { + "x": 9839.57, + "y": -1290.01 + } + } + ], + "blossoms": [ + { + "id": 1000, + "region": "蒙德1-1", + "position": { + "x": -1298.03, + "y": 2172.37 + } + }, + { + "id": 1001, + "region": "蒙德1-2", + "position": { + "x": -1223.18, + "y": 2032.04 + } + }, + { + "id": 1002, + "region": "蒙德1-3", + "position": { + "x": -1113.87, + "y": 1971.9 + } + }, + { + "id": 1003, + "region": "蒙德1-4", + "position": { + "x": -1041.91, + "y": 1927.07 + } + }, + { + "id": 1004, + "region": "蒙德1-5", + "position": { + "x": -895.08, + "y": 1833.84 + } + }, + { + "id": 1005, + "region": "蒙德2-1", + "position": { + "x": -717.83, + "y": 1802.77 + } + }, + { + "id": 1006, + "region": "蒙德2-2", + "position": { + "x": -523.76, + "y": 1813.84 + } + }, + { + "id": 1007, + "region": "蒙德2-3", + "position": { + "x": -420.36, + "y": 1998.11 + } + }, + { + "id": 1008, + "region": "蒙德2-4-1", + "position": { + "x": -347.95, + "y": 1902.51 + } + }, + { + "id": 1009, + "region": "蒙德2-4-2", + "position": { + "x": -319.46, + "y": 2156.93 + } + }, + { + "id": 1010, + "region": "蒙德2-5-1", + "position": { + "x": -319.57, + "y": 2156.48 + } + }, + { + "id": 1011, + "region": "蒙德3-1", + "position": { + "x": -281.79, + "y": 2310.78 + } + }, + { + "id": 1012, + "region": "蒙德3-2", + "position": { + "x": -205.49, + "y": 2429.07 + } + }, + { + "id": 1013, + "region": "蒙德3-3", + "position": { + "x": -327.03, + "y": 2410.43 + } + }, + { + "id": 1014, + "region": "蒙德3-4", + "position": { + "x": -336.15, + "y": 2562.91 + } + }, + { + "id": 1015, + "region": "蒙德4-1", + "position": { + "x": 241.41, + "y": 2703.08 + } + }, + { + "id": 1016, + "region": "蒙德4-2", + "position": { + "x": 124.61, + "y": 2817.24 + } + }, + { + "id": 1017, + "region": "蒙德4-3", + "position": { + "x": 152.71, + "y": 2963.33 + } + }, + { + "id": 1018, + "region": "蒙德4-4", + "position": { + "x": -27.99, + "y": 2919.59 + } + }, + { + "id": 1019, + "region": "蒙德5-1", + "position": { + "x": -1453.46, + "y": 2282.88 + } + }, + { + "id": 1020, + "region": "蒙德5-2", + "position": { + "x": -1367.78, + "y": 2411.31 + } + }, + { + "id": 1021, + "region": "蒙德5-3", + "position": { + "x": -1474.91, + "y": 2520.0 + } + }, + { + "id": 1022, + "region": "蒙德5-4", + "position": { + "x": -1394.83, + "y": 2569.65 + } + }, + { + "id": 1023, + "region": "蒙德5-5", + "position": { + "x": -1316.21, + "y": 2734.67 + } + }, + { + "id": 1024, + "region": "蒙德6-1", + "position": { + "x": -1512.81, + "y": 2774.26 + } + }, + { + "id": 1025, + "region": "蒙德6-2", + "position": { + "x": -1518.71, + "y": 2877.4 + } + }, + { + "id": 1026, + "region": "蒙德6-3", + "position": { + "x": -1603.95, + "y": 2865.65 + } + }, + { + "id": 1027, + "region": "蒙德6-4", + "position": { + "x": -1710.73, + "y": 2983.29 + } + }, + { + "id": 1028, + "region": "蒙德7-1", + "position": { + "x": -1660.63, + "y": 1392.87 + } + }, + { + "id": 1029, + "region": "蒙德7-2", + "position": { + "x": -1517.07, + "y": 1513.97 + } + }, + { + "id": 1030, + "region": "蒙德7-3", + "position": { + "x": -1331.96, + "y": 1560.15 + } + }, + { + "id": 1031, + "region": "蒙德7-4", + "position": { + "x": -1318.63, + "y": 1692.63 + } + }, + { + "id": 1032, + "region": "蒙德7-5", + "position": { + "x": -1138.22, + "y": 1789.79 + } + }, + { + "id": 1033, + "region": "蒙德7-6", + "position": { + "x": -895.08, + "y": 1833.84 + } + }, + { + "id": 1034, + "region": "璃月1-1", + "position": { + "x": 73.73, + "y": 1496.59 + } + }, + { + "id": 1035, + "region": "璃月1-2", + "position": { + "x": -12.62, + "y": 1566.51 + } + }, + { + "id": 1036, + "region": "璃月1-3", + "position": { + "x": -81.76, + "y": 1534.73 + } + }, + { + "id": 1037, + "region": "璃月1-4", + "position": { + "x": -28.76, + "y": 1417.37 + } + }, + { + "id": 1038, + "region": "璃月10-1", + "position": { + "x": 1046.34, + "y": 662.76 + } + }, + { + "id": 1039, + "region": "璃月10-2", + "position": { + "x": 892.5, + "y": 748.02 + } + }, + { + "id": 1040, + "region": "璃月10-3", + "position": { + "x": 594.3, + "y": 437.83 + } + }, + { + "id": 1041, + "region": "璃月10-4", + "position": { + "x": 683.19, + "y": 529.0 + } + }, + { + "id": 1042, + "region": "璃月10-5", + "position": { + "x": 455.4, + "y": 546.56 + } + }, + { + "id": 1043, + "region": "璃月11-1", + "position": { + "x": 802.19, + "y": 1634.03 + } + }, + { + "id": 1044, + "region": "璃月11-2", + "position": { + "x": 697.31, + "y": 1551.84 + } + }, + { + "id": 1045, + "region": "璃月11-3", + "position": { + "x": 646.5, + "y": 1421.98 + } + }, + { + "id": 1046, + "region": "璃月11-4", + "position": { + "x": 632.03, + "y": 1331.15 + } + }, + { + "id": 1047, + "region": "璃月11-5", + "position": { + "x": 558.31, + "y": 1437.82 + } + }, + { + "id": 1048, + "region": "璃月11-6", + "position": { + "x": 285.79, + "y": 1457.93 + } + }, + { + "id": 1049, + "region": "璃月13-1", + "position": { + "x": 2254.49, + "y": 970.92 + } + }, + { + "id": 1050, + "region": "璃月13-2", + "position": { + "x": 2252.54, + "y": 898.21 + } + }, + { + "id": 1051, + "region": "璃月13-3", + "position": { + "x": 2226.91, + "y": 863.09 + } + }, + { + "id": 1052, + "region": "璃月13-4", + "position": { + "x": 2028.69, + "y": 830.67 + } + }, + { + "id": 1053, + "region": "璃月14-1", + "position": { + "x": 1614.21, + "y": 1382.09 + } + }, + { + "id": 1054, + "region": "璃月14-2", + "position": { + "x": 1581.57, + "y": 1437.1 + } + }, + { + "id": 1055, + "region": "璃月14-3", + "position": { + "x": 1563.45, + "y": 1487.35 + } + }, + { + "id": 1056, + "region": "璃月14-4", + "position": { + "x": 1525.0, + "y": 1549.17 + } + }, + { + "id": 1057, + "region": "璃月2-1", + "position": { + "x": -194.85, + "y": 1163.89 + } + }, + { + "id": 1058, + "region": "璃月2-2", + "position": { + "x": 32.81, + "y": 1118.31 + } + }, + { + "id": 1059, + "region": "璃月2-3", + "position": { + "x": -24.14, + "y": 931.71 + } + }, + { + "id": 1060, + "region": "璃月2-4", + "position": { + "x": -10.67, + "y": 683.67 + } + }, + { + "id": 1061, + "region": "璃月3-1", + "position": { + "x": -55.27, + "y": 603.84 + } + }, + { + "id": 1062, + "region": "璃月3-2", + "position": { + "x": 139.9, + "y": 685.26 + } + }, + { + "id": 1063, + "region": "璃月3-3", + "position": { + "x": 284.12, + "y": 620.66 + } + }, + { + "id": 1064, + "region": "璃月3-4", + "position": { + "x": 276.12, + "y": 542.51 + } + }, + { + "id": 1065, + "region": "璃月3-5", + "position": { + "x": 456.0, + "y": 546.29 + } + }, + { + "id": 1066, + "region": "璃月4-1", + "position": { + "x": -7.16, + "y": -48.77 + } + }, + { + "id": 1067, + "region": "璃月4-2", + "position": { + "x": 101.14, + "y": -2.97 + } + }, + { + "id": 1068, + "region": "璃月4-3", + "position": { + "x": 127.05, + "y": 113.87 + } + }, + { + "id": 1069, + "region": "璃月4-4", + "position": { + "x": 146.03, + "y": 220.07 + } + }, + { + "id": 1070, + "region": "璃月4-5", + "position": { + "x": 262.65, + "y": 357.85 + } + }, + { + "id": 1071, + "region": "璃月4-6", + "position": { + "x": 276.55, + "y": 543.11 + } + }, + { + "id": 1072, + "region": "璃月4-7", + "position": { + "x": 456.44, + "y": 546.35 + } + }, + { + "id": 1073, + "region": "璃月5-1", + "position": { + "x": 773.08, + "y": -928.68 + } + }, + { + "id": 1074, + "region": "璃月5-2", + "position": { + "x": 885.79, + "y": -780.15 + } + }, + { + "id": 1075, + "region": "璃月5-3", + "position": { + "x": 1063.54, + "y": -727.34 + } + }, + { + "id": 1076, + "region": "璃月5-4-1", + "position": { + "x": 936.52, + "y": -489.9 + } + }, + { + "id": 1077, + "region": "璃月6-1", + "position": { + "x": 1220.19, + "y": 1535.11 + } + }, + { + "id": 1078, + "region": "璃月6-2", + "position": { + "x": 1086.87, + "y": 1428.01 + } + }, + { + "id": 1079, + "region": "璃月6-3", + "position": { + "x": 901.21, + "y": 1235.83 + } + }, + { + "id": 1080, + "region": "璃月6-4", + "position": { + "x": 833.48, + "y": 1181.69 + } + }, + { + "id": 1081, + "region": "璃月6-5-2", + "position": { + "x": 900.15, + "y": 896.96 + } + }, + { + "id": 1082, + "region": "璃月6-6-2", + "position": { + "x": 892.24, + "y": 747.75 + } + }, + { + "id": 1083, + "region": "璃月6-7-2", + "position": { + "x": 594.7, + "y": 437.16 + } + }, + { + "id": 1084, + "region": "璃月6-8-2", + "position": { + "x": 683.1, + "y": 529.06 + } + }, + { + "id": 1085, + "region": "璃月6-9-2", + "position": { + "x": 455.04, + "y": 546.38 + } + }, + { + "id": 1086, + "region": "璃月7-1", + "position": { + "x": 824.28, + "y": -325.68 + } + }, + { + "id": 1087, + "region": "璃月7-2", + "position": { + "x": 721.94, + "y": -106.43 + } + }, + { + "id": 1088, + "region": "璃月7-3", + "position": { + "x": 752.42, + "y": 3.88 + } + }, + { + "id": 1089, + "region": "璃月7-4", + "position": { + "x": 815.03, + "y": 136.35 + } + }, + { + "id": 1090, + "region": "璃月7-5", + "position": { + "x": 681.46, + "y": 528.76 + } + }, + { + "id": 1091, + "region": "璃月7-6", + "position": { + "x": 455.4, + "y": 546.56 + } + }, + { + "id": 1092, + "region": "璃月8-1", + "position": { + "x": 1627.15, + "y": 303.83 + } + }, + { + "id": 1093, + "region": "璃月8-2", + "position": { + "x": 1333.25, + "y": 266.26 + } + }, + { + "id": 1094, + "region": "璃月8-3", + "position": { + "x": 1160.17, + "y": 86.75 + } + }, + { + "id": 1095, + "region": "璃月8-4", + "position": { + "x": 972.68, + "y": 98.66 + } + }, + { + "id": 1096, + "region": "璃月8-5", + "position": { + "x": 815.31, + "y": 137.31 + } + }, + { + "id": 1097, + "region": "璃月8-6", + "position": { + "x": 683.33, + "y": 529.05 + } + }, + { + "id": 1098, + "region": "璃月8-7", + "position": { + "x": 455.84, + "y": 546.39 + } + }, + { + "id": 1099, + "region": "璃月9-1", + "position": { + "x": 1484.37, + "y": 458.69 + } + }, + { + "id": 1100, + "region": "璃月9-2", + "position": { + "x": 1445.77, + "y": 577.83 + } + }, + { + "id": 1101, + "region": "璃月9-3-1", + "position": { + "x": 1561.48, + "y": 483.03 + } + }, + { + "id": 1102, + "region": "璃月9-4", + "position": { + "x": 1686.66, + "y": 567.55 + } + }, + { + "id": 1103, + "region": "稻妻1-1", + "position": { + "x": -4309.58, + "y": -2288.5 + } + }, + { + "id": 1104, + "region": "稻妻1-2", + "position": { + "x": -4401.19, + "y": -2226.96 + } + }, + { + "id": 1105, + "region": "稻妻1-3", + "position": { + "x": -4509.57, + "y": -2332.11 + } + }, + { + "id": 1106, + "region": "稻妻1-4", + "position": { + "x": -4549.96, + "y": -2399.98 + } + }, + { + "id": 1107, + "region": "稻妻2-1", + "position": { + "x": -3007.64, + "y": -3515.28 + } + }, + { + "id": 1108, + "region": "稻妻2-2", + "position": { + "x": -3153.03, + "y": -3485.5 + } + }, + { + "id": 1109, + "region": "稻妻2-3", + "position": { + "x": -3328.99, + "y": -3561.28 + } + }, + { + "id": 1110, + "region": "稻妻2-4", + "position": { + "x": -3429.72, + "y": -3419.55 + } + }, + { + "id": 1111, + "region": "稻妻2-5", + "position": { + "x": -3340.38, + "y": -3237.16 + } + }, + { + "id": 1112, + "region": "稻妻3-1", + "position": { + "x": -2270.07, + "y": -4068.21 + } + }, + { + "id": 1113, + "region": "稻妻3-2", + "position": { + "x": -2280.61, + "y": -4171.18 + } + }, + { + "id": 1114, + "region": "稻妻3-3", + "position": { + "x": -2169.62, + "y": -4076.36 + } + }, + { + "id": 1115, + "region": "稻妻3-4", + "position": { + "x": -2211.44, + "y": -4033.62 + } + }, + { + "id": 1116, + "region": "稻妻4-1", + "position": { + "x": -1120.06, + "y": -3962.66 + } + }, + { + "id": 1117, + "region": "稻妻4-2", + "position": { + "x": -1190.51, + "y": -3902.08 + } + }, + { + "id": 1118, + "region": "稻妻4-3", + "position": { + "x": -1254.7, + "y": -3839.91 + } + }, + { + "id": 1119, + "region": "稻妻4-4", + "position": { + "x": -1322.41, + "y": -3815.69 + } + }, + { + "id": 1120, + "region": "稻妻5-1", + "position": { + "x": -3908.27, + "y": -4290.55 + } + }, + { + "id": 1121, + "region": "稻妻5-2", + "position": { + "x": -3850.61, + "y": -4241.9 + } + }, + { + "id": 1122, + "region": "稻妻5-3", + "position": { + "x": -3763.54, + "y": -4259.14 + } + }, + { + "id": 1123, + "region": "稻妻5-4", + "position": { + "x": -3703.34, + "y": -4343.16 + } + }, + { + "id": 1124, + "region": "稻妻5-5", + "position": { + "x": -3671.61, + "y": -4414.03 + } + }, + { + "id": 1125, + "region": "须弥1-1", + "position": { + "x": 2368.79, + "y": -92.11 + } + }, + { + "id": 1126, + "region": "须弥1-2", + "position": { + "x": 2317.29, + "y": -115.35 + } + }, + { + "id": 1127, + "region": "须弥1-3", + "position": { + "x": 2212.83, + "y": -83.02 + } + }, + { + "id": 1128, + "region": "须弥1-4", + "position": { + "x": 2233.8, + "y": -160.88 + } + }, + { + "id": 1129, + "region": "须弥1-5", + "position": { + "x": 2269.0, + "y": -251.14 + } + }, + { + "id": 1130, + "region": "须弥10-1", + "position": { + "x": 6501.08, + "y": 904.25 + } + }, + { + "id": 1131, + "region": "须弥10-2", + "position": { + "x": 6613.41, + "y": 784.42 + } + }, + { + "id": 1132, + "region": "须弥10-3", + "position": { + "x": 6692.66, + "y": 625.4 + } + }, + { + "id": 1133, + "region": "须弥10-4", + "position": { + "x": 6280.81, + "y": 616.8 + } + }, + { + "id": 1134, + "region": "须弥2-1", + "position": { + "x": 2910.46, + "y": -1818.57 + } + }, + { + "id": 1135, + "region": "须弥2-2", + "position": { + "x": 2980.38, + "y": -1758.57 + } + }, + { + "id": 1136, + "region": "须弥2-3", + "position": { + "x": 3013.06, + "y": -1700.54 + } + }, + { + "id": 1137, + "region": "须弥2-4", + "position": { + "x": 2981.92, + "y": -1641.54 + } + }, + { + "id": 1138, + "region": "须弥2-5", + "position": { + "x": 2963.07, + "y": -1586.92 + } + }, + { + "id": 1139, + "region": "须弥3-1", + "position": { + "x": 3195.78, + "y": -806.97 + } + }, + { + "id": 1140, + "region": "须弥3-2", + "position": { + "x": 3233.51, + "y": -740.65 + } + }, + { + "id": 1141, + "region": "须弥3-3", + "position": { + "x": 3324.5, + "y": -659.02 + } + }, + { + "id": 1142, + "region": "须弥3-4", + "position": { + "x": 3387.39, + "y": -664.21 + } + }, + { + "id": 1143, + "region": "须弥4-1", + "position": { + "x": 3381.91, + "y": -1231.97 + } + }, + { + "id": 1144, + "region": "须弥4-2", + "position": { + "x": 3355.82, + "y": -1318.18 + } + }, + { + "id": 1145, + "region": "须弥4-3", + "position": { + "x": 3466.17, + "y": -1318.08 + } + }, + { + "id": 1146, + "region": "须弥4-4", + "position": { + "x": 3504.37, + "y": -1500.13 + } + }, + { + "id": 1147, + "region": "须弥4-5", + "position": { + "x": 3721.99, + "y": -1507.71 + } + }, + { + "id": 1148, + "region": "须弥5-1", + "position": { + "x": 4345.77, + "y": -1793.67 + } + }, + { + "id": 1149, + "region": "须弥5-2", + "position": { + "x": 4257.86, + "y": -1903.31 + } + }, + { + "id": 1150, + "region": "须弥5-3", + "position": { + "x": 4144.29, + "y": -2014.19 + } + }, + { + "id": 1151, + "region": "须弥5-4", + "position": { + "x": 4144.18, + "y": -2014.48 + } + }, + { + "id": 1152, + "region": "须弥5-5", + "position": { + "x": 4211.01, + "y": -2165.65 + } + }, + { + "id": 1153, + "region": "须弥6-1", + "position": { + "x": 4552.75, + "y": -2945.07 + } + }, + { + "id": 1154, + "region": "须弥6-2", + "position": { + "x": 4696.5, + "y": -3055.9 + } + }, + { + "id": 1155, + "region": "须弥6-3", + "position": { + "x": 4886.54, + "y": -2940.45 + } + }, + { + "id": 1156, + "region": "须弥6-4", + "position": { + "x": 4756.03, + "y": -2742.32 + } + }, + { + "id": 1157, + "region": "须弥8-1", + "position": { + "x": 5758.76, + "y": -1154.57 + } + }, + { + "id": 1158, + "region": "须弥8-2", + "position": { + "x": 5887.09, + "y": -1120.65 + } + }, + { + "id": 1159, + "region": "须弥8-3", + "position": { + "x": 5902.11, + "y": -1008.25 + } + }, + { + "id": 1160, + "region": "须弥8-4", + "position": { + "x": 5928.09, + "y": -922.46 + } + }, + { + "id": 1161, + "region": "须弥9-1", + "position": { + "x": 4555.52, + "y": -569.96 + } + }, + { + "id": 1162, + "region": "须弥9-2", + "position": { + "x": 4573.81, + "y": -408.86 + } + }, + { + "id": 1163, + "region": "须弥9-3", + "position": { + "x": 4756.13, + "y": -221.43 + } + }, + { + "id": 1164, + "region": "须弥9-4", + "position": { + "x": 4862.07, + "y": -150.71 + } + }, + { + "id": 1165, + "region": "枫丹1-1", + "position": { + "x": 4183.27, + "y": 2502.37 + } + }, + { + "id": 1166, + "region": "枫丹1-2", + "position": { + "x": 4190.03, + "y": 2426.41 + } + }, + { + "id": 1167, + "region": "枫丹1-3", + "position": { + "x": 4246.28, + "y": 2374.05 + } + }, + { + "id": 1168, + "region": "枫丹1-4", + "position": { + "x": 4299.75, + "y": 2232.59 + } + }, + { + "id": 1169, + "region": "枫丹1-5", + "position": { + "x": 4402.53, + "y": 2253.27 + } + }, + { + "id": 1170, + "region": "枫丹2-1", + "position": { + "x": 4962.82, + "y": 4395.81 + } + }, + { + "id": 1171, + "region": "枫丹2-2", + "position": { + "x": 4952.04, + "y": 4468.84 + } + }, + { + "id": 1172, + "region": "枫丹2-3", + "position": { + "x": 5043.36, + "y": 4479.99 + } + }, + { + "id": 1173, + "region": "枫丹2-4", + "position": { + "x": 5087.02, + "y": 4573.27 + } + }, + { + "id": 1174, + "region": "枫丹3-1", + "position": { + "x": 4556.1, + "y": 4762.42 + } + }, + { + "id": 1175, + "region": "枫丹3-2", + "position": { + "x": 4517.81, + "y": 4866.48 + } + }, + { + "id": 1176, + "region": "枫丹3-3", + "position": { + "x": 4578.63, + "y": 4913.28 + } + }, + { + "id": 1177, + "region": "枫丹3-4", + "position": { + "x": 4679.47, + "y": 4977.83 + } + }, + { + "id": 1178, + "region": "枫丹4-1", + "position": { + "x": 2932.47, + "y": 3583.9 + } + }, + { + "id": 1179, + "region": "枫丹4-2", + "position": { + "x": 3008.4, + "y": 3602.59 + } + }, + { + "id": 1180, + "region": "枫丹4-3", + "position": { + "x": 3077.19, + "y": 3602.84 + } + }, + { + "id": 1181, + "region": "枫丹4-4", + "position": { + "x": 3091.8, + "y": 3654.75 + } + }, + { + "id": 1182, + "region": "枫丹5-1", + "position": { + "x": 4098.63, + "y": 2584.16 + } + }, + { + "id": 1183, + "region": "枫丹5-2", + "position": { + "x": 4063.52, + "y": 2564.29 + } + }, + { + "id": 1184, + "region": "枫丹5-3", + "position": { + "x": 3999.66, + "y": 2613.18 + } + }, + { + "id": 1185, + "region": "枫丹5-4", + "position": { + "x": 3921.35, + "y": 2617.81 + } + }, + { + "id": 1186, + "region": "枫丹6-1", + "position": { + "x": 4760.8, + "y": 2574.52 + } + }, + { + "id": 1187, + "region": "枫丹6-2", + "position": { + "x": 4653.67, + "y": 2531.89 + } + }, + { + "id": 1188, + "region": "枫丹6-3", + "position": { + "x": 4568.49, + "y": 2433.23 + } + }, + { + "id": 1189, + "region": "枫丹6-4", + "position": { + "x": 4553.51, + "y": 2358.49 + } + }, + { + "id": 1190, + "region": "枫丹6-5", + "position": { + "x": 4607.46, + "y": 2316.58 + } + }, + { + "id": 1191, + "region": "枫丹6-6", + "position": { + "x": 4700.14, + "y": 2393.35 + } + }, + { + "id": 1192, + "region": "纳塔1-1", + "position": { + "x": 7864.95, + "y": -1823.96 + } + }, + { + "id": 1193, + "region": "纳塔1-2", + "position": { + "x": 7945.72, + "y": -1744.08 + } + }, + { + "id": 1194, + "region": "纳塔1-3", + "position": { + "x": 7932.2, + "y": -1616.37 + } + }, + { + "id": 1195, + "region": "纳塔1-4", + "position": { + "x": 7853.72, + "y": -1554.26 + } + }, + { + "id": 1196, + "region": "纳塔10-1", + "position": { + "x": 8361.82, + "y": -2993.79 + } + }, + { + "id": 1197, + "region": "纳塔10-2", + "position": { + "x": 8496.07, + "y": -3018.4 + } + }, + { + "id": 1198, + "region": "纳塔10-3", + "position": { + "x": 8587.99, + "y": -3022.4 + } + }, + { + "id": 1199, + "region": "纳塔10-4", + "position": { + "x": 8879.8, + "y": -3059.26 + } + }, + { + "id": 1200, + "region": "纳塔2-1", + "position": { + "x": 8604.22, + "y": -1635.22 + } + }, + { + "id": 1201, + "region": "纳塔2-2", + "position": { + "x": 8657.57, + "y": -1501.26 + } + }, + { + "id": 1202, + "region": "纳塔2-3", + "position": { + "x": 8733.62, + "y": -1528.95 + } + }, + { + "id": 1203, + "region": "纳塔2-4", + "position": { + "x": 8588.9, + "y": -1373.62 + } + }, + { + "id": 1204, + "region": "纳塔3-1", + "position": { + "x": 8312.07, + "y": -2344.44 + } + }, + { + "id": 1205, + "region": "纳塔3-2", + "position": { + "x": 8429.86, + "y": -2328.47 + } + }, + { + "id": 1206, + "region": "纳塔3-3", + "position": { + "x": 8291.29, + "y": -2096.67 + } + }, + { + "id": 1207, + "region": "纳塔3-4", + "position": { + "x": 8088.21, + "y": -2053.56 + } + }, + { + "id": 1208, + "region": "纳塔4-1", + "position": { + "x": 9028.67, + "y": -2342.6 + } + }, + { + "id": 1209, + "region": "纳塔4-2", + "position": { + "x": 9090.71, + "y": -2407.11 + } + }, + { + "id": 1210, + "region": "纳塔5-1", + "position": { + "x": 9687.15, + "y": -2898.19 + } + }, + { + "id": 1211, + "region": "纳塔5-2", + "position": { + "x": 9754.7, + "y": -2904.43 + } + }, + { + "id": 1212, + "region": "纳塔5-3", + "position": { + "x": 9778.7, + "y": -2856.31 + } + }, + { + "id": 1213, + "region": "纳塔6-1", + "position": { + "x": 9231.08, + "y": -2154.74 + } + }, + { + "id": 1214, + "region": "纳塔6-2", + "position": { + "x": 9110.86, + "y": -2222.48 + } + }, + { + "id": 1215, + "region": "纳塔6-3", + "position": { + "x": 8945.55, + "y": -2138.43 + } + }, + { + "id": 1216, + "region": "纳塔6-4", + "position": { + "x": 8810.08, + "y": -2077.83 + } + }, + { + "id": 1217, + "region": "纳塔7-1", + "position": { + "x": 9999.51, + "y": -1570.23 + } + }, + { + "id": 1218, + "region": "纳塔7-2", + "position": { + "x": 9963.8, + "y": -1511.61 + } + }, + { + "id": 1219, + "region": "纳塔7-3", + "position": { + "x": 9907.78, + "y": -1424.0 + } + }, + { + "id": 1220, + "region": "纳塔8-1", + "position": { + "x": 9636.29, + "y": -1038.41 + } + }, + { + "id": 1221, + "region": "纳塔8-2", + "position": { + "x": 9517.92, + "y": -1029.8 + } + }, + { + "id": 1222, + "region": "纳塔8-3", + "position": { + "x": 9472.28, + "y": -771.8 + } + }, + { + "id": 1223, + "region": "纳塔9-1", + "position": { + "x": 9920.8, + "y": -1196.25 + } + }, + { + "id": 1224, + "region": "纳塔9-2", + "position": { + "x": 9888.22, + "y": -1046.55 + } + }, + { + "id": 1225, + "region": "纳塔9-3", + "position": { + "x": 9938.82, + "y": -933.87 + } + }, + { + "id": 1226, + "region": "纳塔9-4", + "position": { + "x": 9984.24, + "y": -876.43 + } + } + ], + "edges": [ + { + "source": 1, + "target": 1000, + "route": "assets/pathing/蒙德1-风起地-1.json" + }, + { + "source": 2, + "target": 1001, + "route": "assets/pathing/蒙德1-风起地-2.json" + }, + { + "source": 1000, + "target": 1001, + "route": "assets/pathing/蒙德1-风起地-2.json" + }, + { + "source": 1001, + "target": 1002, + "route": "assets/pathing/蒙德1-风起地-3.json" + }, + { + "source": 1002, + "target": 1003, + "route": "assets/pathing/蒙德1-风起地-4.json" + }, + { + "source": 3, + "target": 1004, + "route": "assets/pathing/蒙德1-风起地-5.json" + }, + { + "source": 3, + "target": 1004, + "route": "assets/pathing/蒙德7-达达乌帕谷-6.json" + }, + { + "source": 1003, + "target": 1004, + "route": "assets/pathing/蒙德1-风起地-5.json" + }, + { + "source": 4, + "target": 1005, + "route": "assets/pathing/蒙德2-清泉镇-1.json" + }, + { + "source": 5, + "target": 1006, + "route": "assets/pathing/蒙德2-清泉镇-2.json" + }, + { + "source": 1005, + "target": 1006, + "route": "assets/pathing/蒙德2-清泉镇-2.json" + }, + { + "source": 1006, + "target": 1007, + "route": "assets/pathing/蒙德2-清泉镇-3.json" + }, + { + "source": 1007, + "target": 1008, + "route": "assets/pathing/蒙德2-清泉镇-4-1.json" + }, + { + "source": 6, + "target": 1009, + "route": "assets/pathing/蒙德2-清泉镇-5-1.json" + }, + { + "source": 1007, + "target": 1009, + "route": "assets/pathing/蒙德2-清泉镇-4-2.json" + }, + { + "source": 1008, + "target": 1010, + "route": "assets/pathing/蒙德2-清泉镇-5-1.json" + }, + { + "source": 7, + "target": 1011, + "route": "assets/pathing/蒙德3-奔狼领-1.json" + }, + { + "source": 1011, + "target": 1012, + "route": "assets/pathing/蒙德3-奔狼领-2.json" + }, + { + "source": 1012, + "target": 1013, + "route": "assets/pathing/蒙德3-奔狼领-3.json" + }, + { + "source": 8, + "target": 1014, + "route": "assets/pathing/蒙德3-奔狼领-4.json" + }, + { + "source": 1013, + "target": 1014, + "route": "assets/pathing/蒙德3-奔狼领-4.json" + }, + { + "source": 9, + "target": 1015, + "route": "assets/pathing/蒙德4-风龙废墟-1.json" + }, + { + "source": 1015, + "target": 1016, + "route": "assets/pathing/蒙德4-风龙废墟-2.json" + }, + { + "source": 10, + "target": 1017, + "route": "assets/pathing/蒙德4-风龙废墟-3.json" + }, + { + "source": 1016, + "target": 1017, + "route": "assets/pathing/蒙德4-风龙废墟-3.json" + }, + { + "source": 1017, + "target": 1018, + "route": "assets/pathing/蒙德4-风龙废墟-4.json" + }, + { + "source": 11, + "target": 1019, + "route": "assets/pathing/蒙德5-千风神殿-1.json" + }, + { + "source": 1019, + "target": 1020, + "route": "assets/pathing/蒙德5-千风神殿-2.json" + }, + { + "source": 1020, + "target": 1021, + "route": "assets/pathing/蒙德5-千风神殿-3.json" + }, + { + "source": 12, + "target": 1022, + "route": "assets/pathing/蒙德5-千风神殿-4.json" + }, + { + "source": 1021, + "target": 1022, + "route": "assets/pathing/蒙德5-千风神殿-4.json" + }, + { + "source": 13, + "target": 1023, + "route": "assets/pathing/蒙德5-千风神殿-5.json" + }, + { + "source": 1022, + "target": 1023, + "route": "assets/pathing/蒙德5-千风神殿-5.json" + }, + { + "source": 13, + "target": 1024, + "route": "assets/pathing/蒙德6-望风山地-1.json" + }, + { + "source": 1024, + "target": 1025, + "route": "assets/pathing/蒙德6-望风山地-2.json" + }, + { + "source": 14, + "target": 1026, + "route": "assets/pathing/蒙德6-望风山地-3.json" + }, + { + "source": 1025, + "target": 1026, + "route": "assets/pathing/蒙德6-望风山地-3.json" + }, + { + "source": 1026, + "target": 1027, + "route": "assets/pathing/蒙德6-望风山地-4.json" + }, + { + "source": 15, + "target": 1028, + "route": "assets/pathing/蒙德7-达达乌帕谷-1.json" + }, + { + "source": 16, + "target": 1029, + "route": "assets/pathing/蒙德7-达达乌帕谷-2.json" + }, + { + "source": 1028, + "target": 1029, + "route": "assets/pathing/蒙德7-达达乌帕谷-2.json" + }, + { + "source": 16, + "target": 1030, + "route": "assets/pathing/蒙德7-达达乌帕谷-3.json" + }, + { + "source": 1029, + "target": 1030, + "route": "assets/pathing/蒙德7-达达乌帕谷-3.json" + }, + { + "source": 1030, + "target": 1031, + "route": "assets/pathing/蒙德7-达达乌帕谷-4.json" + }, + { + "source": 1031, + "target": 1032, + "route": "assets/pathing/蒙德7-达达乌帕谷-5.json" + }, + { + "source": 1032, + "target": 1033, + "route": "assets/pathing/蒙德7-达达乌帕谷-6.json" + }, + { + "source": 17, + "target": 1034, + "route": "assets/pathing/璃月1-石门-1.json" + }, + { + "source": 18, + "target": 1035, + "route": "assets/pathing/璃月1-石门-2.json" + }, + { + "source": 1034, + "target": 1035, + "route": "assets/pathing/璃月1-石门-2.json" + }, + { + "source": 1035, + "target": 1036, + "route": "assets/pathing/璃月1-石门-3.json" + }, + { + "source": 1036, + "target": 1037, + "route": "assets/pathing/璃月1-石门-4.json" + }, + { + "source": 19, + "target": 1038, + "route": "assets/pathing/璃月10-绝云间-1.json" + }, + { + "source": 20, + "target": 1039, + "route": "assets/pathing/璃月10-绝云间-2.json" + }, + { + "source": 1038, + "target": 1039, + "route": "assets/pathing/璃月10-绝云间-2.json" + }, + { + "source": 21, + "target": 1040, + "route": "assets/pathing/璃月10-绝云间-3.json" + }, + { + "source": 36, + "target": 1040, + "route": "assets/pathing/璃月6-奥藏山-7-2.json" + }, + { + "source": 1039, + "target": 1040, + "route": "assets/pathing/璃月10-绝云间-3.json" + }, + { + "source": 39, + "target": 1041, + "route": "assets/pathing/璃月7-遁玉陵-5.json" + }, + { + "source": 19, + "target": 1041, + "route": "assets/pathing/璃月8-南天门南-6.json" + }, + { + "source": 1040, + "target": 1041, + "route": "assets/pathing/璃月10-绝云间-4.json" + }, + { + "source": 21, + "target": 1042, + "route": "assets/pathing/璃月10-绝云间-5.json" + }, + { + "source": 21, + "target": 1042, + "route": "assets/pathing/璃月3-瑶光滩-5.json" + }, + { + "source": 21, + "target": 1042, + "route": "assets/pathing/璃月4-璃月港-7.json" + }, + { + "source": 21, + "target": 1042, + "route": "assets/pathing/璃月6-奥藏山-9-2.json" + }, + { + "source": 21, + "target": 1042, + "route": "assets/pathing/璃月7-遁玉陵-6.json" + }, + { + "source": 21, + "target": 1042, + "route": "assets/pathing/璃月8-南天门南-7.json" + }, + { + "source": 1041, + "target": 1042, + "route": "assets/pathing/璃月10-绝云间-5.json" + }, + { + "source": 22, + "target": 1043, + "route": "assets/pathing/璃月11-轻策庄-1.json" + }, + { + "source": 1043, + "target": 1044, + "route": "assets/pathing/璃月11-轻策庄-2.json" + }, + { + "source": 1044, + "target": 1045, + "route": "assets/pathing/璃月11-轻策庄-3.json" + }, + { + "source": 1045, + "target": 1046, + "route": "assets/pathing/璃月11-轻策庄-4.json" + }, + { + "source": 23, + "target": 1047, + "route": "assets/pathing/璃月11-轻策庄-5.json" + }, + { + "source": 1046, + "target": 1047, + "route": "assets/pathing/璃月11-轻策庄-5.json" + }, + { + "source": 24, + "target": 1048, + "route": "assets/pathing/璃月11-轻策庄-6.json" + }, + { + "source": 1047, + "target": 1048, + "route": "assets/pathing/璃月11-轻策庄-6.json" + }, + { + "source": 25, + "target": 1049, + "route": "assets/pathing/璃月13-悬练山-1.json" + }, + { + "source": 25, + "target": 1050, + "route": "assets/pathing/璃月13-悬练山-2.json" + }, + { + "source": 1049, + "target": 1050, + "route": "assets/pathing/璃月13-悬练山-2.json" + }, + { + "source": 1050, + "target": 1051, + "route": "assets/pathing/璃月13-悬练山-3.json" + }, + { + "source": 1051, + "target": 1052, + "route": "assets/pathing/璃月13-悬练山-4.json" + }, + { + "source": 26, + "target": 1053, + "route": "assets/pathing/璃月14-药蝶谷-1.json" + }, + { + "source": 1053, + "target": 1054, + "route": "assets/pathing/璃月14-药蝶谷-2.json" + }, + { + "source": 1054, + "target": 1055, + "route": "assets/pathing/璃月14-药蝶谷-3.json" + }, + { + "source": 1055, + "target": 1056, + "route": "assets/pathing/璃月14-药蝶谷-4.json" + }, + { + "source": 27, + "target": 1057, + "route": "assets/pathing/璃月2-地中之盐-1.json" + }, + { + "source": 27, + "target": 1058, + "route": "assets/pathing/璃月2-地中之盐-2.json" + }, + { + "source": 1057, + "target": 1058, + "route": "assets/pathing/璃月2-地中之盐-2.json" + }, + { + "source": 28, + "target": 1059, + "route": "assets/pathing/璃月2-地中之盐-3.json" + }, + { + "source": 1058, + "target": 1059, + "route": "assets/pathing/璃月2-地中之盐-3.json" + }, + { + "source": 29, + "target": 1060, + "route": "assets/pathing/璃月2-地中之盐-4.json" + }, + { + "source": 1059, + "target": 1060, + "route": "assets/pathing/璃月2-地中之盐-4.json" + }, + { + "source": 29, + "target": 1061, + "route": "assets/pathing/璃月3-瑶光滩-1.json" + }, + { + "source": 29, + "target": 1062, + "route": "assets/pathing/璃月3-瑶光滩-2.json" + }, + { + "source": 1061, + "target": 1062, + "route": "assets/pathing/璃月3-瑶光滩-2.json" + }, + { + "source": 21, + "target": 1063, + "route": "assets/pathing/璃月3-瑶光滩-3.json" + }, + { + "source": 1062, + "target": 1063, + "route": "assets/pathing/璃月3-瑶光滩-3.json" + }, + { + "source": 21, + "target": 1064, + "route": "assets/pathing/璃月3-瑶光滩-4.json" + }, + { + "source": 21, + "target": 1064, + "route": "assets/pathing/璃月4-璃月港-6.json" + }, + { + "source": 1063, + "target": 1064, + "route": "assets/pathing/璃月3-瑶光滩-4.json" + }, + { + "source": 1064, + "target": 1065, + "route": "assets/pathing/璃月3-瑶光滩-5.json" + }, + { + "source": 30, + "target": 1066, + "route": "assets/pathing/璃月4-璃月港-1.json" + }, + { + "source": 1066, + "target": 1067, + "route": "assets/pathing/璃月4-璃月港-2.json" + }, + { + "source": 1067, + "target": 1068, + "route": "assets/pathing/璃月4-璃月港-3.json" + }, + { + "source": 1068, + "target": 1069, + "route": "assets/pathing/璃月4-璃月港-4.json" + }, + { + "source": 31, + "target": 1070, + "route": "assets/pathing/璃月4-璃月港-5.json" + }, + { + "source": 1069, + "target": 1070, + "route": "assets/pathing/璃月4-璃月港-5.json" + }, + { + "source": 1070, + "target": 1071, + "route": "assets/pathing/璃月4-璃月港-6.json" + }, + { + "source": 1071, + "target": 1072, + "route": "assets/pathing/璃月4-璃月港-7.json" + }, + { + "source": 32, + "target": 1073, + "route": "assets/pathing/璃月5-天衡山-1.json" + }, + { + "source": 32, + "target": 1074, + "route": "assets/pathing/璃月5-天衡山-2.json" + }, + { + "source": 1073, + "target": 1074, + "route": "assets/pathing/璃月5-天衡山-2.json" + }, + { + "source": 1074, + "target": 1075, + "route": "assets/pathing/璃月5-天衡山-3.json" + }, + { + "source": 33, + "target": 1076, + "route": "assets/pathing/璃月5-天衡山-4-1.json" + }, + { + "source": 1075, + "target": 1076, + "route": "assets/pathing/璃月5-天衡山-4-1.json" + }, + { + "source": 34, + "target": 1077, + "route": "assets/pathing/璃月6-奥藏山-1.json" + }, + { + "source": 1077, + "target": 1078, + "route": "assets/pathing/璃月6-奥藏山-2.json" + }, + { + "source": 35, + "target": 1079, + "route": "assets/pathing/璃月6-奥藏山-3.json" + }, + { + "source": 1078, + "target": 1079, + "route": "assets/pathing/璃月6-奥藏山-3.json" + }, + { + "source": 1079, + "target": 1080, + "route": "assets/pathing/璃月6-奥藏山-4.json" + }, + { + "source": 20, + "target": 1081, + "route": "assets/pathing/璃月6-奥藏山-5-2.json" + }, + { + "source": 1080, + "target": 1081, + "route": "assets/pathing/璃月6-奥藏山-5-2.json" + }, + { + "source": 1081, + "target": 1082, + "route": "assets/pathing/璃月6-奥藏山-6-2.json" + }, + { + "source": 1082, + "target": 1083, + "route": "assets/pathing/璃月6-奥藏山-7-2.json" + }, + { + "source": 1083, + "target": 1084, + "route": "assets/pathing/璃月6-奥藏山-8-2.json" + }, + { + "source": 1084, + "target": 1085, + "route": "assets/pathing/璃月6-奥藏山-9-2.json" + }, + { + "source": 33, + "target": 1086, + "route": "assets/pathing/璃月7-遁玉陵-1.json" + }, + { + "source": 37, + "target": 1087, + "route": "assets/pathing/璃月7-遁玉陵-2.json" + }, + { + "source": 1086, + "target": 1087, + "route": "assets/pathing/璃月7-遁玉陵-2.json" + }, + { + "source": 1087, + "target": 1088, + "route": "assets/pathing/璃月7-遁玉陵-3.json" + }, + { + "source": 38, + "target": 1089, + "route": "assets/pathing/璃月7-遁玉陵-4.json" + }, + { + "source": 38, + "target": 1089, + "route": "assets/pathing/璃月8-南天门南-5.json" + }, + { + "source": 1088, + "target": 1089, + "route": "assets/pathing/璃月7-遁玉陵-4.json" + }, + { + "source": 1089, + "target": 1090, + "route": "assets/pathing/璃月7-遁玉陵-5.json" + }, + { + "source": 1090, + "target": 1091, + "route": "assets/pathing/璃月7-遁玉陵-6.json" + }, + { + "source": 40, + "target": 1092, + "route": "assets/pathing/璃月8-南天门南-1.json" + }, + { + "source": 41, + "target": 1093, + "route": "assets/pathing/璃月8-南天门南-2.json" + }, + { + "source": 1092, + "target": 1093, + "route": "assets/pathing/璃月8-南天门南-2.json" + }, + { + "source": 41, + "target": 1094, + "route": "assets/pathing/璃月8-南天门南-3.json" + }, + { + "source": 1093, + "target": 1094, + "route": "assets/pathing/璃月8-南天门南-3.json" + }, + { + "source": 41, + "target": 1095, + "route": "assets/pathing/璃月8-南天门南-4.json" + }, + { + "source": 1094, + "target": 1095, + "route": "assets/pathing/璃月8-南天门南-4.json" + }, + { + "source": 1095, + "target": 1096, + "route": "assets/pathing/璃月8-南天门南-5.json" + }, + { + "source": 1096, + "target": 1097, + "route": "assets/pathing/璃月8-南天门南-6.json" + }, + { + "source": 1097, + "target": 1098, + "route": "assets/pathing/璃月8-南天门南-7.json" + }, + { + "source": 42, + "target": 1099, + "route": "assets/pathing/璃月9-南天门东-1.json" + }, + { + "source": 1099, + "target": 1100, + "route": "assets/pathing/璃月9-南天门东-2.json" + }, + { + "source": 42, + "target": 1101, + "route": "assets/pathing/璃月9-南天门东-3-1.json" + }, + { + "source": 42, + "target": 1101, + "route": "assets/pathing/璃月9-南天门东-3-2.json" + }, + { + "source": 1100, + "target": 1101, + "route": "assets/pathing/璃月9-南天门东-3-1.json" + }, + { + "source": 40, + "target": 1102, + "route": "assets/pathing/璃月9-南天门东-4.json" + }, + { + "source": 1101, + "target": 1102, + "route": "assets/pathing/璃月9-南天门东-4.json" + }, + { + "source": 1100, + "target": 1102, + "route": "assets/pathing/璃月9-南天门东-4.json" + }, + { + "source": 43, + "target": 1103, + "route": "assets/pathing/稻妻1-鸣神岛-1.json" + }, + { + "source": 43, + "target": 1104, + "route": "assets/pathing/稻妻1-鸣神岛-2.json" + }, + { + "source": 1103, + "target": 1104, + "route": "assets/pathing/稻妻1-鸣神岛-2.json" + }, + { + "source": 44, + "target": 1105, + "route": "assets/pathing/稻妻1-鸣神岛-3.json" + }, + { + "source": 1104, + "target": 1105, + "route": "assets/pathing/稻妻1-鸣神岛-3.json" + }, + { + "source": 44, + "target": 1106, + "route": "assets/pathing/稻妻1-鸣神岛-4.json" + }, + { + "source": 1105, + "target": 1106, + "route": "assets/pathing/稻妻1-鸣神岛-4.json" + }, + { + "source": 45, + "target": 1107, + "route": "assets/pathing/稻妻2-踏鞴砂-1.json" + }, + { + "source": 46, + "target": 1108, + "route": "assets/pathing/稻妻2-踏鞴砂-2.json" + }, + { + "source": 1107, + "target": 1108, + "route": "assets/pathing/稻妻2-踏鞴砂-2.json" + }, + { + "source": 47, + "target": 1109, + "route": "assets/pathing/稻妻2-踏鞴砂-3.json" + }, + { + "source": 1108, + "target": 1109, + "route": "assets/pathing/稻妻2-踏鞴砂-3.json" + }, + { + "source": 48, + "target": 1110, + "route": "assets/pathing/稻妻2-踏鞴砂-4.json" + }, + { + "source": 1109, + "target": 1110, + "route": "assets/pathing/稻妻2-踏鞴砂-4.json" + }, + { + "source": 48, + "target": 1111, + "route": "assets/pathing/稻妻2-踏鞴砂-5.json" + }, + { + "source": 1110, + "target": 1111, + "route": "assets/pathing/稻妻2-踏鞴砂-5.json" + }, + { + "source": 49, + "target": 1112, + "route": "assets/pathing/稻妻3-八酝岛-1.json" + }, + { + "source": 1112, + "target": 1113, + "route": "assets/pathing/稻妻3-八酝岛-2.json" + }, + { + "source": 49, + "target": 1114, + "route": "assets/pathing/稻妻3-八酝岛-3.json" + }, + { + "source": 1113, + "target": 1114, + "route": "assets/pathing/稻妻3-八酝岛-3.json" + }, + { + "source": 49, + "target": 1115, + "route": "assets/pathing/稻妻3-八酝岛-4.json" + }, + { + "source": 1114, + "target": 1115, + "route": "assets/pathing/稻妻3-八酝岛-4.json" + }, + { + "source": 50, + "target": 1116, + "route": "assets/pathing/稻妻4-海祇岛-1.json" + }, + { + "source": 1116, + "target": 1117, + "route": "assets/pathing/稻妻4-海祇岛-2.json" + }, + { + "source": 1117, + "target": 1118, + "route": "assets/pathing/稻妻4-海祇岛-3.json" + }, + { + "source": 51, + "target": 1119, + "route": "assets/pathing/稻妻4-海祇岛-4.json" + }, + { + "source": 1118, + "target": 1119, + "route": "assets/pathing/稻妻4-海祇岛-4.json" + }, + { + "source": 52, + "target": 1120, + "route": "assets/pathing/稻妻5-清籁岛-1.json" + }, + { + "source": 1120, + "target": 1121, + "route": "assets/pathing/稻妻5-清籁岛-2.json" + }, + { + "source": 1121, + "target": 1122, + "route": "assets/pathing/稻妻5-清籁岛-3.json" + }, + { + "source": 53, + "target": 1123, + "route": "assets/pathing/稻妻5-清籁岛-4.json" + }, + { + "source": 1122, + "target": 1123, + "route": "assets/pathing/稻妻5-清籁岛-4.json" + }, + { + "source": 1123, + "target": 1124, + "route": "assets/pathing/稻妻5-清籁岛-5.json" + }, + { + "source": 54, + "target": 1125, + "route": "assets/pathing/须弥1-无郁稠林-1.json" + }, + { + "source": 1125, + "target": 1126, + "route": "assets/pathing/须弥1-无郁稠林-2.json" + }, + { + "source": 1126, + "target": 1127, + "route": "assets/pathing/须弥1-无郁稠林-3.json" + }, + { + "source": 1127, + "target": 1128, + "route": "assets/pathing/须弥1-无郁稠林-4.json" + }, + { + "source": 1128, + "target": 1129, + "route": "assets/pathing/须弥1-无郁稠林-5.json" + }, + { + "source": 55, + "target": 1130, + "route": "assets/pathing/须弥10-荼泥黑渊-1.json" + }, + { + "source": 55, + "target": 1131, + "route": "assets/pathing/须弥10-荼泥黑渊-2.json" + }, + { + "source": 1130, + "target": 1131, + "route": "assets/pathing/须弥10-荼泥黑渊-2.json" + }, + { + "source": 55, + "target": 1132, + "route": "assets/pathing/须弥10-荼泥黑渊-3.json" + }, + { + "source": 1131, + "target": 1132, + "route": "assets/pathing/须弥10-荼泥黑渊-3.json" + }, + { + "source": 56, + "target": 1133, + "route": "assets/pathing/须弥10-荼泥黑渊-4.json" + }, + { + "source": 1132, + "target": 1133, + "route": "assets/pathing/须弥10-荼泥黑渊-4.json" + }, + { + "source": 57, + "target": 1134, + "route": "assets/pathing/须弥2-奥摩斯港西-1.json" + }, + { + "source": 1134, + "target": 1135, + "route": "assets/pathing/须弥2-奥摩斯港西-2.json" + }, + { + "source": 58, + "target": 1136, + "route": "assets/pathing/须弥2-奥摩斯港西-3.json" + }, + { + "source": 1135, + "target": 1136, + "route": "assets/pathing/须弥2-奥摩斯港西-3.json" + }, + { + "source": 1136, + "target": 1137, + "route": "assets/pathing/须弥2-奥摩斯港西-4.json" + }, + { + "source": 1137, + "target": 1138, + "route": "assets/pathing/须弥2-奥摩斯港西-5.json" + }, + { + "source": 59, + "target": 1139, + "route": "assets/pathing/须弥3-禅那园-1.json" + }, + { + "source": 1139, + "target": 1140, + "route": "assets/pathing/须弥3-禅那园-2.json" + }, + { + "source": 60, + "target": 1141, + "route": "assets/pathing/须弥3-禅那园-3.json" + }, + { + "source": 1140, + "target": 1141, + "route": "assets/pathing/须弥3-禅那园-3.json" + }, + { + "source": 1141, + "target": 1142, + "route": "assets/pathing/须弥3-禅那园-4.json" + }, + { + "source": 61, + "target": 1143, + "route": "assets/pathing/须弥4-水天丛林-1.json" + }, + { + "source": 1143, + "target": 1144, + "route": "assets/pathing/须弥4-水天丛林-2.json" + }, + { + "source": 1144, + "target": 1145, + "route": "assets/pathing/须弥4-水天丛林-3.json" + }, + { + "source": 62, + "target": 1146, + "route": "assets/pathing/须弥4-水天丛林-4.json" + }, + { + "source": 1145, + "target": 1146, + "route": "assets/pathing/须弥4-水天丛林-4.json" + }, + { + "source": 63, + "target": 1147, + "route": "assets/pathing/须弥4-水天丛林-5.json" + }, + { + "source": 1146, + "target": 1147, + "route": "assets/pathing/须弥4-水天丛林-5.json" + }, + { + "source": 64, + "target": 1148, + "route": "assets/pathing/须弥5-阿如村-1.json" + }, + { + "source": 1148, + "target": 1149, + "route": "assets/pathing/须弥5-阿如村-2.json" + }, + { + "source": 1149, + "target": 1150, + "route": "assets/pathing/须弥5-阿如村-3.json" + }, + { + "source": 1150, + "target": 1151, + "route": "assets/pathing/须弥5-阿如村-4.json" + }, + { + "source": 1151, + "target": 1152, + "route": "assets/pathing/须弥5-阿如村-5.json" + }, + { + "source": 65, + "target": 1153, + "route": "assets/pathing/须弥6-荼诃落谷-1.json" + }, + { + "source": 66, + "target": 1154, + "route": "assets/pathing/须弥6-荼诃落谷-2.json" + }, + { + "source": 1153, + "target": 1154, + "route": "assets/pathing/须弥6-荼诃落谷-2.json" + }, + { + "source": 1154, + "target": 1155, + "route": "assets/pathing/须弥6-荼诃落谷-3.json" + }, + { + "source": 67, + "target": 1156, + "route": "assets/pathing/须弥6-荼诃落谷-4.json" + }, + { + "source": 1155, + "target": 1156, + "route": "assets/pathing/须弥6-荼诃落谷-4.json" + }, + { + "source": 68, + "target": 1157, + "route": "assets/pathing/须弥8-折胫谷-1.json" + }, + { + "source": 1157, + "target": 1158, + "route": "assets/pathing/须弥8-折胫谷-2.json" + }, + { + "source": 1158, + "target": 1159, + "route": "assets/pathing/须弥8-折胫谷-3.json" + }, + { + "source": 1159, + "target": 1160, + "route": "assets/pathing/须弥8-折胫谷-4.json" + }, + { + "source": 69, + "target": 1161, + "route": "assets/pathing/须弥9-镔铁沙丘-1.json" + }, + { + "source": 1161, + "target": 1162, + "route": "assets/pathing/须弥9-镔铁沙丘-2.json" + }, + { + "source": 1162, + "target": 1163, + "route": "assets/pathing/须弥9-镔铁沙丘-3.json" + }, + { + "source": 1163, + "target": 1164, + "route": "assets/pathing/须弥9-镔铁沙丘-4.json" + }, + { + "source": 70, + "target": 1165, + "route": "assets/pathing/枫丹1-秋分山西侧-1.json" + }, + { + "source": 70, + "target": 1166, + "route": "assets/pathing/枫丹1-秋分山西侧-2.json" + }, + { + "source": 1165, + "target": 1166, + "route": "assets/pathing/枫丹1-秋分山西侧-2.json" + }, + { + "source": 71, + "target": 1167, + "route": "assets/pathing/枫丹1-秋分山西侧-3.json" + }, + { + "source": 1166, + "target": 1167, + "route": "assets/pathing/枫丹1-秋分山西侧-3.json" + }, + { + "source": 71, + "target": 1168, + "route": "assets/pathing/枫丹1-秋分山西侧-4.json" + }, + { + "source": 1167, + "target": 1168, + "route": "assets/pathing/枫丹1-秋分山西侧-4.json" + }, + { + "source": 71, + "target": 1169, + "route": "assets/pathing/枫丹1-秋分山西侧-5.json" + }, + { + "source": 1168, + "target": 1169, + "route": "assets/pathing/枫丹1-秋分山西侧-5.json" + }, + { + "source": 72, + "target": 1170, + "route": "assets/pathing/枫丹2-芒索斯山东麓-1.json" + }, + { + "source": 72, + "target": 1171, + "route": "assets/pathing/枫丹2-芒索斯山东麓-2.json" + }, + { + "source": 1170, + "target": 1171, + "route": "assets/pathing/枫丹2-芒索斯山东麓-2.json" + }, + { + "source": 72, + "target": 1172, + "route": "assets/pathing/枫丹2-芒索斯山东麓-3.json" + }, + { + "source": 1171, + "target": 1172, + "route": "assets/pathing/枫丹2-芒索斯山东麓-3.json" + }, + { + "source": 72, + "target": 1173, + "route": "assets/pathing/枫丹2-芒索斯山东麓-4.json" + }, + { + "source": 1172, + "target": 1173, + "route": "assets/pathing/枫丹2-芒索斯山东麓-4.json" + }, + { + "source": 73, + "target": 1174, + "route": "assets/pathing/枫丹3-新枫丹科学院-1.json" + }, + { + "source": 73, + "target": 1175, + "route": "assets/pathing/枫丹3-新枫丹科学院-2.json" + }, + { + "source": 1174, + "target": 1175, + "route": "assets/pathing/枫丹3-新枫丹科学院-2.json" + }, + { + "source": 74, + "target": 1176, + "route": "assets/pathing/枫丹3-新枫丹科学院-3.json" + }, + { + "source": 1175, + "target": 1176, + "route": "assets/pathing/枫丹3-新枫丹科学院-3.json" + }, + { + "source": 74, + "target": 1177, + "route": "assets/pathing/枫丹3-新枫丹科学院-4.json" + }, + { + "source": 1176, + "target": 1177, + "route": "assets/pathing/枫丹3-新枫丹科学院-4.json" + }, + { + "source": 75, + "target": 1178, + "route": "assets/pathing/枫丹4-柔灯港-1.json" + }, + { + "source": 76, + "target": 1179, + "route": "assets/pathing/枫丹4-柔灯港-2.json" + }, + { + "source": 1178, + "target": 1179, + "route": "assets/pathing/枫丹4-柔灯港-2.json" + }, + { + "source": 76, + "target": 1180, + "route": "assets/pathing/枫丹4-柔灯港-3.json" + }, + { + "source": 1179, + "target": 1180, + "route": "assets/pathing/枫丹4-柔灯港-3.json" + }, + { + "source": 76, + "target": 1181, + "route": "assets/pathing/枫丹4-柔灯港-4.json" + }, + { + "source": 1180, + "target": 1181, + "route": "assets/pathing/枫丹4-柔灯港-4.json" + }, + { + "source": 70, + "target": 1182, + "route": "assets/pathing/枫丹5-秋分山东侧-1.json" + }, + { + "source": 70, + "target": 1183, + "route": "assets/pathing/枫丹5-秋分山东侧-2.json" + }, + { + "source": 1182, + "target": 1183, + "route": "assets/pathing/枫丹5-秋分山东侧-2.json" + }, + { + "source": 77, + "target": 1184, + "route": "assets/pathing/枫丹5-秋分山东侧-3.json" + }, + { + "source": 1183, + "target": 1184, + "route": "assets/pathing/枫丹5-秋分山东侧-3.json" + }, + { + "source": 77, + "target": 1185, + "route": "assets/pathing/枫丹5-秋分山东侧-4.json" + }, + { + "source": 1184, + "target": 1185, + "route": "assets/pathing/枫丹5-秋分山东侧-4.json" + }, + { + "source": 78, + "target": 1186, + "route": "assets/pathing/枫丹6-厄里那斯-1.json" + }, + { + "source": 79, + "target": 1187, + "route": "assets/pathing/枫丹6-厄里那斯-2.json" + }, + { + "source": 1186, + "target": 1187, + "route": "assets/pathing/枫丹6-厄里那斯-2.json" + }, + { + "source": 79, + "target": 1188, + "route": "assets/pathing/枫丹6-厄里那斯-3.json" + }, + { + "source": 1187, + "target": 1188, + "route": "assets/pathing/枫丹6-厄里那斯-3.json" + }, + { + "source": 79, + "target": 1189, + "route": "assets/pathing/枫丹6-厄里那斯-4.json" + }, + { + "source": 1188, + "target": 1189, + "route": "assets/pathing/枫丹6-厄里那斯-4.json" + }, + { + "source": 80, + "target": 1190, + "route": "assets/pathing/枫丹6-厄里那斯-5.json" + }, + { + "source": 1189, + "target": 1190, + "route": "assets/pathing/枫丹6-厄里那斯-5.json" + }, + { + "source": 79, + "target": 1191, + "route": "assets/pathing/枫丹6-厄里那斯-6.json" + }, + { + "source": 1190, + "target": 1191, + "route": "assets/pathing/枫丹6-厄里那斯-6.json" + }, + { + "source": 81, + "target": 1192, + "route": "assets/pathing/纳塔1-隆崛坡-1.json" + }, + { + "source": 82, + "target": 1193, + "route": "assets/pathing/纳塔1-隆崛坡-2.json" + }, + { + "source": 1192, + "target": 1193, + "route": "assets/pathing/纳塔1-隆崛坡-2.json" + }, + { + "source": 82, + "target": 1194, + "route": "assets/pathing/纳塔1-隆崛坡-3.json" + }, + { + "source": 1193, + "target": 1194, + "route": "assets/pathing/纳塔1-隆崛坡-3.json" + }, + { + "source": 1194, + "target": 1195, + "route": "assets/pathing/纳塔1-隆崛坡-4.json" + }, + { + "source": 83, + "target": 1196, + "route": "assets/pathing/纳塔10-溶水域-1.json" + }, + { + "source": 1196, + "target": 1197, + "route": "assets/pathing/纳塔10-溶水域-2.json" + }, + { + "source": 1197, + "target": 1198, + "route": "assets/pathing/纳塔10-溶水域-3.json" + }, + { + "source": 84, + "target": 1199, + "route": "assets/pathing/纳塔10-溶水域-4.json" + }, + { + "source": 1198, + "target": 1199, + "route": "assets/pathing/纳塔10-溶水域-4.json" + }, + { + "source": 85, + "target": 1200, + "route": "assets/pathing/纳塔2-硫晶支脉-1.json" + }, + { + "source": 85, + "target": 1201, + "route": "assets/pathing/纳塔2-硫晶支脉-2.json" + }, + { + "source": 1200, + "target": 1201, + "route": "assets/pathing/纳塔2-硫晶支脉-2.json" + }, + { + "source": 85, + "target": 1202, + "route": "assets/pathing/纳塔2-硫晶支脉-3.json" + }, + { + "source": 1201, + "target": 1202, + "route": "assets/pathing/纳塔2-硫晶支脉-3.json" + }, + { + "source": 86, + "target": 1203, + "route": "assets/pathing/纳塔2-硫晶支脉-4.json" + }, + { + "source": 1202, + "target": 1203, + "route": "assets/pathing/纳塔2-硫晶支脉-4.json" + }, + { + "source": 87, + "target": 1204, + "route": "assets/pathing/纳塔3-彩石顶-1.json" + }, + { + "source": 88, + "target": 1205, + "route": "assets/pathing/纳塔3-彩石顶-2.json" + }, + { + "source": 1204, + "target": 1205, + "route": "assets/pathing/纳塔3-彩石顶-2.json" + }, + { + "source": 88, + "target": 1206, + "route": "assets/pathing/纳塔3-彩石顶-3.json" + }, + { + "source": 1205, + "target": 1206, + "route": "assets/pathing/纳塔3-彩石顶-3.json" + }, + { + "source": 1206, + "target": 1207, + "route": "assets/pathing/纳塔3-彩石顶-4.json" + }, + { + "source": 89, + "target": 1208, + "route": "assets/pathing/纳塔4-溶水域-1.json" + }, + { + "source": 1208, + "target": 1209, + "route": "assets/pathing/纳塔4-溶水域-2.json" + }, + { + "source": 90, + "target": 1210, + "route": "assets/pathing/纳塔5-安饶之野-1.json" + }, + { + "source": 90, + "target": 1211, + "route": "assets/pathing/纳塔5-安饶之野-2.json" + }, + { + "source": 1210, + "target": 1211, + "route": "assets/pathing/纳塔5-安饶之野-2.json" + }, + { + "source": 90, + "target": 1212, + "route": "assets/pathing/纳塔5-安饶之野-3.json" + }, + { + "source": 1211, + "target": 1212, + "route": "assets/pathing/纳塔5-安饶之野-3.json" + }, + { + "source": 91, + "target": 1213, + "route": "assets/pathing/纳塔6-圣火竞技场-1.json" + }, + { + "source": 91, + "target": 1214, + "route": "assets/pathing/纳塔6-圣火竞技场-2.json" + }, + { + "source": 1213, + "target": 1214, + "route": "assets/pathing/纳塔6-圣火竞技场-2.json" + }, + { + "source": 1214, + "target": 1215, + "route": "assets/pathing/纳塔6-圣火竞技场-3.json" + }, + { + "source": 1215, + "target": 1216, + "route": "assets/pathing/纳塔6-圣火竞技场-4.json" + }, + { + "source": 92, + "target": 1217, + "route": "assets/pathing/纳塔7-烟谜主-1.json" + }, + { + "source": 1217, + "target": 1218, + "route": "assets/pathing/纳塔7-烟谜主-2.json" + }, + { + "source": 1218, + "target": 1219, + "route": "assets/pathing/纳塔7-烟谜主-3.json" + }, + { + "source": 93, + "target": 1220, + "route": "assets/pathing/纳塔8-花羽会-1.json" + }, + { + "source": 93, + "target": 1221, + "route": "assets/pathing/纳塔8-花羽会-2.json" + }, + { + "source": 1220, + "target": 1221, + "route": "assets/pathing/纳塔8-花羽会-2.json" + }, + { + "source": 94, + "target": 1222, + "route": "assets/pathing/纳塔8-花羽会-3.json" + }, + { + "source": 1221, + "target": 1222, + "route": "assets/pathing/纳塔8-花羽会-3.json" + }, + { + "source": 95, + "target": 1223, + "route": "assets/pathing/纳塔9-翘枝崖-1.json" + }, + { + "source": 1223, + "target": 1224, + "route": "assets/pathing/纳塔9-翘枝崖-2.json" + }, + { + "source": 1224, + "target": 1225, + "route": "assets/pathing/纳塔9-翘枝崖-3.json" + }, + { + "source": 1225, + "target": 1226, + "route": "assets/pathing/纳塔9-翘枝崖-4.json" + } + ], + "indexes": { + "edgesBySource": { + "1": [ + 1000 + ], + "2": [ + 1001 + ], + "1000": [ + 1001 + ], + "1001": [ + 1002 + ], + "1002": [ + 1003 + ], + "3": [ + 1004, + 1004 + ], + "1003": [ + 1004 + ], + "4": [ + 1005 + ], + "5": [ + 1006 + ], + "1005": [ + 1006 + ], + "1006": [ + 1007 + ], + "1007": [ + 1008, + 1009 + ], + "6": [ + 1009 + ], + "1008": [ + 1010 + ], + "7": [ + 1011 + ], + "1011": [ + 1012 + ], + "1012": [ + 1013 + ], + "8": [ + 1014 + ], + "1013": [ + 1014 + ], + "9": [ + 1015 + ], + "1015": [ + 1016 + ], + "10": [ + 1017 + ], + "1016": [ + 1017 + ], + "1017": [ + 1018 + ], + "11": [ + 1019 + ], + "1019": [ + 1020 + ], + "1020": [ + 1021 + ], + "12": [ + 1022 + ], + "1021": [ + 1022 + ], + "13": [ + 1023, + 1024 + ], + "1022": [ + 1023 + ], + "1024": [ + 1025 + ], + "14": [ + 1026 + ], + "1025": [ + 1026 + ], + "1026": [ + 1027 + ], + "15": [ + 1028 + ], + "16": [ + 1029, + 1030 + ], + "1028": [ + 1029 + ], + "1029": [ + 1030 + ], + "1030": [ + 1031 + ], + "1031": [ + 1032 + ], + "1032": [ + 1033 + ], + "17": [ + 1034 + ], + "18": [ + 1035 + ], + "1034": [ + 1035 + ], + "1035": [ + 1036 + ], + "1036": [ + 1037 + ], + "19": [ + 1038, + 1041 + ], + "20": [ + 1039, + 1081 + ], + "1038": [ + 1039 + ], + "21": [ + 1040, + 1042, + 1042, + 1042, + 1042, + 1042, + 1042, + 1063, + 1064, + 1064 + ], + "36": [ + 1040 + ], + "1039": [ + 1040 + ], + "39": [ + 1041 + ], + "1040": [ + 1041 + ], + "1041": [ + 1042 + ], + "22": [ + 1043 + ], + "1043": [ + 1044 + ], + "1044": [ + 1045 + ], + "1045": [ + 1046 + ], + "23": [ + 1047 + ], + "1046": [ + 1047 + ], + "24": [ + 1048 + ], + "1047": [ + 1048 + ], + "25": [ + 1049, + 1050 + ], + "1049": [ + 1050 + ], + "1050": [ + 1051 + ], + "1051": [ + 1052 + ], + "26": [ + 1053 + ], + "1053": [ + 1054 + ], + "1054": [ + 1055 + ], + "1055": [ + 1056 + ], + "27": [ + 1057, + 1058 + ], + "1057": [ + 1058 + ], + "28": [ + 1059 + ], + "1058": [ + 1059 + ], + "29": [ + 1060, + 1061, + 1062 + ], + "1059": [ + 1060 + ], + "1061": [ + 1062 + ], + "1062": [ + 1063 + ], + "1063": [ + 1064 + ], + "1064": [ + 1065 + ], + "30": [ + 1066 + ], + "1066": [ + 1067 + ], + "1067": [ + 1068 + ], + "1068": [ + 1069 + ], + "31": [ + 1070 + ], + "1069": [ + 1070 + ], + "1070": [ + 1071 + ], + "1071": [ + 1072 + ], + "32": [ + 1073, + 1074 + ], + "1073": [ + 1074 + ], + "1074": [ + 1075 + ], + "33": [ + 1076, + 1086 + ], + "1075": [ + 1076 + ], + "34": [ + 1077 + ], + "1077": [ + 1078 + ], + "35": [ + 1079 + ], + "1078": [ + 1079 + ], + "1079": [ + 1080 + ], + "1080": [ + 1081 + ], + "1081": [ + 1082 + ], + "1082": [ + 1083 + ], + "1083": [ + 1084 + ], + "1084": [ + 1085 + ], + "37": [ + 1087 + ], + "1086": [ + 1087 + ], + "1087": [ + 1088 + ], + "38": [ + 1089, + 1089 + ], + "1088": [ + 1089 + ], + "1089": [ + 1090 + ], + "1090": [ + 1091 + ], + "40": [ + 1092, + 1102 + ], + "41": [ + 1093, + 1094, + 1095 + ], + "1092": [ + 1093 + ], + "1093": [ + 1094 + ], + "1094": [ + 1095 + ], + "1095": [ + 1096 + ], + "1096": [ + 1097 + ], + "1097": [ + 1098 + ], + "42": [ + 1099, + 1101, + 1101 + ], + "1099": [ + 1100 + ], + "1100": [ + 1101, + 1102 + ], + "1101": [ + 1102 + ], + "43": [ + 1103, + 1104 + ], + "1103": [ + 1104 + ], + "44": [ + 1105, + 1106 + ], + "1104": [ + 1105 + ], + "1105": [ + 1106 + ], + "45": [ + 1107 + ], + "46": [ + 1108 + ], + "1107": [ + 1108 + ], + "47": [ + 1109 + ], + "1108": [ + 1109 + ], + "48": [ + 1110, + 1111 + ], + "1109": [ + 1110 + ], + "1110": [ + 1111 + ], + "49": [ + 1112, + 1114, + 1115 + ], + "1112": [ + 1113 + ], + "1113": [ + 1114 + ], + "1114": [ + 1115 + ], + "50": [ + 1116 + ], + "1116": [ + 1117 + ], + "1117": [ + 1118 + ], + "51": [ + 1119 + ], + "1118": [ + 1119 + ], + "52": [ + 1120 + ], + "1120": [ + 1121 + ], + "1121": [ + 1122 + ], + "53": [ + 1123 + ], + "1122": [ + 1123 + ], + "1123": [ + 1124 + ], + "54": [ + 1125 + ], + "1125": [ + 1126 + ], + "1126": [ + 1127 + ], + "1127": [ + 1128 + ], + "1128": [ + 1129 + ], + "55": [ + 1130, + 1131, + 1132 + ], + "1130": [ + 1131 + ], + "1131": [ + 1132 + ], + "56": [ + 1133 + ], + "1132": [ + 1133 + ], + "57": [ + 1134 + ], + "1134": [ + 1135 + ], + "58": [ + 1136 + ], + "1135": [ + 1136 + ], + "1136": [ + 1137 + ], + "1137": [ + 1138 + ], + "59": [ + 1139 + ], + "1139": [ + 1140 + ], + "60": [ + 1141 + ], + "1140": [ + 1141 + ], + "1141": [ + 1142 + ], + "61": [ + 1143 + ], + "1143": [ + 1144 + ], + "1144": [ + 1145 + ], + "62": [ + 1146 + ], + "1145": [ + 1146 + ], + "63": [ + 1147 + ], + "1146": [ + 1147 + ], + "64": [ + 1148 + ], + "1148": [ + 1149 + ], + "1149": [ + 1150 + ], + "1150": [ + 1151 + ], + "1151": [ + 1152 + ], + "65": [ + 1153 + ], + "66": [ + 1154 + ], + "1153": [ + 1154 + ], + "1154": [ + 1155 + ], + "67": [ + 1156 + ], + "1155": [ + 1156 + ], + "68": [ + 1157 + ], + "1157": [ + 1158 + ], + "1158": [ + 1159 + ], + "1159": [ + 1160 + ], + "69": [ + 1161 + ], + "1161": [ + 1162 + ], + "1162": [ + 1163 + ], + "1163": [ + 1164 + ], + "70": [ + 1165, + 1166, + 1182, + 1183 + ], + "1165": [ + 1166 + ], + "71": [ + 1167, + 1168, + 1169 + ], + "1166": [ + 1167 + ], + "1167": [ + 1168 + ], + "1168": [ + 1169 + ], + "72": [ + 1170, + 1171, + 1172, + 1173 + ], + "1170": [ + 1171 + ], + "1171": [ + 1172 + ], + "1172": [ + 1173 + ], + "73": [ + 1174, + 1175 + ], + "1174": [ + 1175 + ], + "74": [ + 1176, + 1177 + ], + "1175": [ + 1176 + ], + "1176": [ + 1177 + ], + "75": [ + 1178 + ], + "76": [ + 1179, + 1180, + 1181 + ], + "1178": [ + 1179 + ], + "1179": [ + 1180 + ], + "1180": [ + 1181 + ], + "1182": [ + 1183 + ], + "77": [ + 1184, + 1185 + ], + "1183": [ + 1184 + ], + "1184": [ + 1185 + ], + "78": [ + 1186 + ], + "79": [ + 1187, + 1188, + 1189, + 1191 + ], + "1186": [ + 1187 + ], + "1187": [ + 1188 + ], + "1188": [ + 1189 + ], + "80": [ + 1190 + ], + "1189": [ + 1190 + ], + "1190": [ + 1191 + ], + "81": [ + 1192 + ], + "82": [ + 1193, + 1194 + ], + "1192": [ + 1193 + ], + "1193": [ + 1194 + ], + "1194": [ + 1195 + ], + "83": [ + 1196 + ], + "1196": [ + 1197 + ], + "1197": [ + 1198 + ], + "84": [ + 1199 + ], + "1198": [ + 1199 + ], + "85": [ + 1200, + 1201, + 1202 + ], + "1200": [ + 1201 + ], + "1201": [ + 1202 + ], + "86": [ + 1203 + ], + "1202": [ + 1203 + ], + "87": [ + 1204 + ], + "88": [ + 1205, + 1206 + ], + "1204": [ + 1205 + ], + "1205": [ + 1206 + ], + "1206": [ + 1207 + ], + "89": [ + 1208 + ], + "1208": [ + 1209 + ], + "90": [ + 1210, + 1211, + 1212 + ], + "1210": [ + 1211 + ], + "1211": [ + 1212 + ], + "91": [ + 1213, + 1214 + ], + "1213": [ + 1214 + ], + "1214": [ + 1215 + ], + "1215": [ + 1216 + ], + "92": [ + 1217 + ], + "1217": [ + 1218 + ], + "1218": [ + 1219 + ], + "93": [ + 1220, + 1221 + ], + "1220": [ + 1221 + ], + "94": [ + 1222 + ], + "1221": [ + 1222 + ], + "95": [ + 1223 + ], + "1223": [ + 1224 + ], + "1224": [ + 1225 + ], + "1225": [ + 1226 + ] + }, + "edgesByTarget": { + "1000": [ + 1 + ], + "1001": [ + 2, + 1000 + ], + "1002": [ + 1001 + ], + "1003": [ + 1002 + ], + "1004": [ + 3, + 3, + 1003 + ], + "1005": [ + 4 + ], + "1006": [ + 5, + 1005 + ], + "1007": [ + 1006 + ], + "1008": [ + 1007 + ], + "1009": [ + 6, + 1007 + ], + "1010": [ + 1008 + ], + "1011": [ + 7 + ], + "1012": [ + 1011 + ], + "1013": [ + 1012 + ], + "1014": [ + 8, + 1013 + ], + "1015": [ + 9 + ], + "1016": [ + 1015 + ], + "1017": [ + 10, + 1016 + ], + "1018": [ + 1017 + ], + "1019": [ + 11 + ], + "1020": [ + 1019 + ], + "1021": [ + 1020 + ], + "1022": [ + 12, + 1021 + ], + "1023": [ + 13, + 1022 + ], + "1024": [ + 13 + ], + "1025": [ + 1024 + ], + "1026": [ + 14, + 1025 + ], + "1027": [ + 1026 + ], + "1028": [ + 15 + ], + "1029": [ + 16, + 1028 + ], + "1030": [ + 16, + 1029 + ], + "1031": [ + 1030 + ], + "1032": [ + 1031 + ], + "1033": [ + 1032 + ], + "1034": [ + 17 + ], + "1035": [ + 18, + 1034 + ], + "1036": [ + 1035 + ], + "1037": [ + 1036 + ], + "1038": [ + 19 + ], + "1039": [ + 20, + 1038 + ], + "1040": [ + 21, + 36, + 1039 + ], + "1041": [ + 39, + 19, + 1040 + ], + "1042": [ + 21, + 21, + 21, + 21, + 21, + 21, + 1041 + ], + "1043": [ + 22 + ], + "1044": [ + 1043 + ], + "1045": [ + 1044 + ], + "1046": [ + 1045 + ], + "1047": [ + 23, + 1046 + ], + "1048": [ + 24, + 1047 + ], + "1049": [ + 25 + ], + "1050": [ + 25, + 1049 + ], + "1051": [ + 1050 + ], + "1052": [ + 1051 + ], + "1053": [ + 26 + ], + "1054": [ + 1053 + ], + "1055": [ + 1054 + ], + "1056": [ + 1055 + ], + "1057": [ + 27 + ], + "1058": [ + 27, + 1057 + ], + "1059": [ + 28, + 1058 + ], + "1060": [ + 29, + 1059 + ], + "1061": [ + 29 + ], + "1062": [ + 29, + 1061 + ], + "1063": [ + 21, + 1062 + ], + "1064": [ + 21, + 21, + 1063 + ], + "1065": [ + 1064 + ], + "1066": [ + 30 + ], + "1067": [ + 1066 + ], + "1068": [ + 1067 + ], + "1069": [ + 1068 + ], + "1070": [ + 31, + 1069 + ], + "1071": [ + 1070 + ], + "1072": [ + 1071 + ], + "1073": [ + 32 + ], + "1074": [ + 32, + 1073 + ], + "1075": [ + 1074 + ], + "1076": [ + 33, + 1075 + ], + "1077": [ + 34 + ], + "1078": [ + 1077 + ], + "1079": [ + 35, + 1078 + ], + "1080": [ + 1079 + ], + "1081": [ + 20, + 1080 + ], + "1082": [ + 1081 + ], + "1083": [ + 1082 + ], + "1084": [ + 1083 + ], + "1085": [ + 1084 + ], + "1086": [ + 33 + ], + "1087": [ + 37, + 1086 + ], + "1088": [ + 1087 + ], + "1089": [ + 38, + 38, + 1088 + ], + "1090": [ + 1089 + ], + "1091": [ + 1090 + ], + "1092": [ + 40 + ], + "1093": [ + 41, + 1092 + ], + "1094": [ + 41, + 1093 + ], + "1095": [ + 41, + 1094 + ], + "1096": [ + 1095 + ], + "1097": [ + 1096 + ], + "1098": [ + 1097 + ], + "1099": [ + 42 + ], + "1100": [ + 1099 + ], + "1101": [ + 42, + 42, + 1100 + ], + "1102": [ + 40, + 1101, + 1100 + ], + "1103": [ + 43 + ], + "1104": [ + 43, + 1103 + ], + "1105": [ + 44, + 1104 + ], + "1106": [ + 44, + 1105 + ], + "1107": [ + 45 + ], + "1108": [ + 46, + 1107 + ], + "1109": [ + 47, + 1108 + ], + "1110": [ + 48, + 1109 + ], + "1111": [ + 48, + 1110 + ], + "1112": [ + 49 + ], + "1113": [ + 1112 + ], + "1114": [ + 49, + 1113 + ], + "1115": [ + 49, + 1114 + ], + "1116": [ + 50 + ], + "1117": [ + 1116 + ], + "1118": [ + 1117 + ], + "1119": [ + 51, + 1118 + ], + "1120": [ + 52 + ], + "1121": [ + 1120 + ], + "1122": [ + 1121 + ], + "1123": [ + 53, + 1122 + ], + "1124": [ + 1123 + ], + "1125": [ + 54 + ], + "1126": [ + 1125 + ], + "1127": [ + 1126 + ], + "1128": [ + 1127 + ], + "1129": [ + 1128 + ], + "1130": [ + 55 + ], + "1131": [ + 55, + 1130 + ], + "1132": [ + 55, + 1131 + ], + "1133": [ + 56, + 1132 + ], + "1134": [ + 57 + ], + "1135": [ + 1134 + ], + "1136": [ + 58, + 1135 + ], + "1137": [ + 1136 + ], + "1138": [ + 1137 + ], + "1139": [ + 59 + ], + "1140": [ + 1139 + ], + "1141": [ + 60, + 1140 + ], + "1142": [ + 1141 + ], + "1143": [ + 61 + ], + "1144": [ + 1143 + ], + "1145": [ + 1144 + ], + "1146": [ + 62, + 1145 + ], + "1147": [ + 63, + 1146 + ], + "1148": [ + 64 + ], + "1149": [ + 1148 + ], + "1150": [ + 1149 + ], + "1151": [ + 1150 + ], + "1152": [ + 1151 + ], + "1153": [ + 65 + ], + "1154": [ + 66, + 1153 + ], + "1155": [ + 1154 + ], + "1156": [ + 67, + 1155 + ], + "1157": [ + 68 + ], + "1158": [ + 1157 + ], + "1159": [ + 1158 + ], + "1160": [ + 1159 + ], + "1161": [ + 69 + ], + "1162": [ + 1161 + ], + "1163": [ + 1162 + ], + "1164": [ + 1163 + ], + "1165": [ + 70 + ], + "1166": [ + 70, + 1165 + ], + "1167": [ + 71, + 1166 + ], + "1168": [ + 71, + 1167 + ], + "1169": [ + 71, + 1168 + ], + "1170": [ + 72 + ], + "1171": [ + 72, + 1170 + ], + "1172": [ + 72, + 1171 + ], + "1173": [ + 72, + 1172 + ], + "1174": [ + 73 + ], + "1175": [ + 73, + 1174 + ], + "1176": [ + 74, + 1175 + ], + "1177": [ + 74, + 1176 + ], + "1178": [ + 75 + ], + "1179": [ + 76, + 1178 + ], + "1180": [ + 76, + 1179 + ], + "1181": [ + 76, + 1180 + ], + "1182": [ + 70 + ], + "1183": [ + 70, + 1182 + ], + "1184": [ + 77, + 1183 + ], + "1185": [ + 77, + 1184 + ], + "1186": [ + 78 + ], + "1187": [ + 79, + 1186 + ], + "1188": [ + 79, + 1187 + ], + "1189": [ + 79, + 1188 + ], + "1190": [ + 80, + 1189 + ], + "1191": [ + 79, + 1190 + ], + "1192": [ + 81 + ], + "1193": [ + 82, + 1192 + ], + "1194": [ + 82, + 1193 + ], + "1195": [ + 1194 + ], + "1196": [ + 83 + ], + "1197": [ + 1196 + ], + "1198": [ + 1197 + ], + "1199": [ + 84, + 1198 + ], + "1200": [ + 85 + ], + "1201": [ + 85, + 1200 + ], + "1202": [ + 85, + 1201 + ], + "1203": [ + 86, + 1202 + ], + "1204": [ + 87 + ], + "1205": [ + 88, + 1204 + ], + "1206": [ + 88, + 1205 + ], + "1207": [ + 1206 + ], + "1208": [ + 89 + ], + "1209": [ + 1208 + ], + "1210": [ + 90 + ], + "1211": [ + 90, + 1210 + ], + "1212": [ + 90, + 1211 + ], + "1213": [ + 91 + ], + "1214": [ + 91, + 1213 + ], + "1215": [ + 1214 + ], + "1216": [ + 1215 + ], + "1217": [ + 92 + ], + "1218": [ + 1217 + ], + "1219": [ + 1218 + ], + "1220": [ + 93 + ], + "1221": [ + 93, + 1220 + ], + "1222": [ + 94, + 1221 + ], + "1223": [ + 95 + ], + "1224": [ + 1223 + ], + "1225": [ + 1224 + ], + "1226": [ + 1225 + ] + } + } } \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/RecognitionObject/Condensed Resin.png b/repo/js/AutoLeyLineOutcrop/RecognitionObject/Condensed Resin.png new file mode 100644 index 00000000..ada167e1 Binary files /dev/null and b/repo/js/AutoLeyLineOutcrop/RecognitionObject/Condensed Resin.png differ diff --git a/repo/js/AutoLeyLineOutcrop/RecognitionObject/Fragile Resin.png b/repo/js/AutoLeyLineOutcrop/RecognitionObject/Fragile Resin.png new file mode 100644 index 00000000..b9a6af58 Binary files /dev/null and b/repo/js/AutoLeyLineOutcrop/RecognitionObject/Fragile Resin.png differ diff --git a/repo/js/AutoLeyLineOutcrop/RecognitionObject/Temporary Resin.png b/repo/js/AutoLeyLineOutcrop/RecognitionObject/Temporary Resin.png new file mode 100644 index 00000000..41fa3925 Binary files /dev/null and b/repo/js/AutoLeyLineOutcrop/RecognitionObject/Temporary Resin.png differ diff --git a/repo/js/AutoLeyLineOutcrop/__pycache__/generate_data_format.cpython-313.pyc b/repo/js/AutoLeyLineOutcrop/__pycache__/generate_data_format.cpython-313.pyc new file mode 100644 index 00000000..41bfc6dc Binary files /dev/null and b/repo/js/AutoLeyLineOutcrop/__pycache__/generate_data_format.cpython-313.pyc differ diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-1.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-1.json new file mode 100644 index 00000000..da2d3a71 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-1.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-1", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 1220.19140625, + "y": 1535.111328125, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-2.json new file mode 100644 index 00000000..5a5610c6 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-2.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 1086.873046875, + "y": 1428.01220703125, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-3.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-3.json new file mode 100644 index 00000000..6a02f481 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-3.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-3", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "怪物多,需要绕路", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 901.2138671875, + "y": 1235.8271484375, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-4.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-4.json new file mode 100644 index 00000000..b4a0b107 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-4.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-4", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "路途需处理风萨满", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 833.4765625, + "y": 1181.693359375, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-5-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-5-2.json new file mode 100644 index 00000000..b5d17e04 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-5-2.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-5-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 900.1533203125, + "y": 896.95703125, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-6-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-6-2.json new file mode 100644 index 00000000..2cba17f9 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-6-2.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-6-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 892.236328125, + "y": 747.74560546875, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-7-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-7-2.json new file mode 100644 index 00000000..52bcf18b --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-7-2.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-7-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 594.7021484375, + "y": 437.15625, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-8-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-8-2.json new file mode 100644 index 00000000..0f8c6a9a --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-8-2.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-8-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "绕开冰雾花", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 683.0986328125, + "y": 529.06396484375, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-9-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-9-2.json new file mode 100644 index 00000000..c79ee1a8 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月6-奥藏山-9-2.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月6-奥藏山-9-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 455.041015625, + "y": 546.3779296875, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-1.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-1.json new file mode 100644 index 00000000..b53120c5 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-1.json @@ -0,0 +1,22 @@ +{ + "info": { + "name": "璃月7-遁玉陵-1", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399134857 + }, + "positions": [ + { + "id": 1, + "x": 824.28, + "y": -325.68, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-2.json new file mode 100644 index 00000000..24586db5 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-2.json @@ -0,0 +1,22 @@ +{ + "info": { + "name": "璃月7-遁玉陵-2", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399385367 + }, + "positions": [ + { + "id": 1, + "x": 721.94, + "y": -106.43, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-3.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-3.json new file mode 100644 index 00000000..23466c5d --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-3.json @@ -0,0 +1,22 @@ +{ + "info": { + "name": "璃月7-遁玉陵-3", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399818683 + }, + "positions": [ + { + "id": 1, + "x": 752.42, + "y": 3.88, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-4.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-4.json new file mode 100644 index 00000000..e77c4fa8 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-4.json @@ -0,0 +1,22 @@ +{ + "info": { + "name": "璃月7-遁玉陵-4", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399950280 + }, + "positions": [ + { + "id": 1, + "x": 815.03, + "y": 136.35, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-5.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-5.json new file mode 100644 index 00000000..506933f1 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-5.json @@ -0,0 +1,22 @@ +{ + "info": { + "name": "璃月7-遁玉陵-5", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749400498877 + }, + "positions": [ + { + "id": 1, + "x": 681.46, + "y": 528.76, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-6.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-6.json new file mode 100644 index 00000000..a36c61af --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/target/璃月7-遁玉陵-6.json @@ -0,0 +1,20 @@ +{ + "info": { + "name": "璃月7-遁玉陵-6", + "type": "collect", + "author": "寒烟", + "version": "1.1", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 455.4, + "y": 546.56, + "type": "target", + "move_mode": "walk" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-1.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-1.json new file mode 100644 index 00000000..9a399201 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-1.json @@ -0,0 +1,31 @@ +{ + "info": { + "name": "璃月6-奥藏山-1", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": 1271.1943359375, + "y": 1563.9794921875, + "action_params": "" + }, + { + "id": 2, + "x": 1220.19140625, + "y": 1535.111328125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-2.json new file mode 100644 index 00000000..bddd5d6c --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-2.json @@ -0,0 +1,58 @@ +{ + "info": { + "name": "璃月6-奥藏山-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 1182.2958984375, + "y": 1520.43359375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 1141.4580078125, + "y": 1496.076171875, + "type": "path", + "move_mode": "run", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 1129.1796875, + "y": 1474.1357421875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": 1120.623046875, + "y": 1440.248046875, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": 1086.873046875, + "y": 1428.01220703125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-3.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-3.json new file mode 100644 index 00000000..6ae64c58 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-3.json @@ -0,0 +1,76 @@ +{ + "info": { + "name": "璃月6-奥藏山-3", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "怪物多,需要绕路", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 1121.11328125, + "y": 1190.404296875, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 1090.66015625, + "y": 1172.01904296875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 1024.1650390625, + "y": 1168.46826171875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": 987.1689453125, + "y": 1175.048828125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": 946.499348918609, + "y": 1208.4989920278222, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": 918.666015625, + "y": 1200.896484375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": 901.2138671875, + "y": 1235.8271484375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-4.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-4.json new file mode 100644 index 00000000..159bc754 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-4.json @@ -0,0 +1,31 @@ +{ + "info": { + "name": "璃月6-奥藏山-4", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "路途需处理风萨满", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 860.724609375, + "y": 1208.26953125, + "type": "path", + "move_mode": "dash", + "action": "fight", + "action_params": "" + }, + { + "id": 2, + "x": 833.4765625, + "y": 1181.693359375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-5-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-5-2.json new file mode 100644 index 00000000..8d9174ba --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-5-2.json @@ -0,0 +1,31 @@ +{ + "info": { + "name": "璃月6-奥藏山-5-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 1045.5576171875, + "y": 950.61474609375, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 900.1533203125, + "y": 896.95703125, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-6-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-6-2.json new file mode 100644 index 00000000..8b1572d2 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-6-2.json @@ -0,0 +1,49 @@ +{ + "info": { + "name": "璃月6-奥藏山-6-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 899.5732421875, + "y": 819.48681640625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 921.95703125, + "y": 785.88525390625, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 887.9111328125, + "y": 754.49658203125, + "type": "path", + "move_mode": "jump", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": 892.236328125, + "y": 747.74560546875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-7-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-7-2.json new file mode 100644 index 00000000..88b6da95 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-7-2.json @@ -0,0 +1,68 @@ +{ + "info": { + "name": "璃月6-奥藏山-7-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": 489.412109375, + "y": 222.228515625, + "action_params": "" + }, + { + "id": 2, + "x": 500.255859375, + "y": 225.5390625, + "type": "orientation", + "move_mode": "walk", + "action": "", + "action_params": "", + "locked": false + }, + { + "id": 3, + "x": 500.255859375, + "y": 225.5390625, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": 512.90625, + "y": 258.54150390625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": 551.162109375, + "y": 359.5361328125, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": 594.7021484375, + "y": 437.15625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-8-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-8-2.json new file mode 100644 index 00000000..29fbf791 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-8-2.json @@ -0,0 +1,49 @@ +{ + "info": { + "name": "璃月6-奥藏山-8-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "绕开冰雾花", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 628.423828125, + "y": 468.4296875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 674.7001953125, + "y": 477.642578125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 673.2099609375, + "y": 528.255859375, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "100" + }, + { + "id": 4, + "x": 683.0986328125, + "y": 529.06396484375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-9-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-9-2.json new file mode 100644 index 00000000..765aa416 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月6-奥藏山-9-2.json @@ -0,0 +1,40 @@ +{ + "info": { + "name": "璃月6-奥藏山-9-2", + "type": "collect", + "author": "寒烟", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 341.3388671875, + "y": 548.0703125, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 391.1884765625, + "y": 545.533203125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 455.041015625, + "y": 546.3779296875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-1.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-1.json new file mode 100644 index 00000000..c02f299e --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-1.json @@ -0,0 +1,33 @@ +{ + "info": { + "name": "璃月7-遁玉陵-1", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399134857 + }, + "positions": [ + { + "id": 1, + "x": 978.7, + "y": -353.6, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "action": "stop_flying", + "move_mode": "fly", + "type": "path", + "x": 824.28, + "y": -325.68, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-2.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-2.json new file mode 100644 index 00000000..5dcc5e0d --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-2.json @@ -0,0 +1,33 @@ +{ + "info": { + "name": "璃月7-遁玉陵-2", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399385367 + }, + "positions": [ + { + "id": 1, + "x": 611.74, + "y": -284.65, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 721.94, + "y": -106.43, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-3.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-3.json new file mode 100644 index 00000000..eb565f1e --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-3.json @@ -0,0 +1,60 @@ +{ + "info": { + "name": "璃月7-遁玉陵-3", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399818683 + }, + "positions": [ + { + "id": 1, + "x": 717.76, + "y": -94.89, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 716.96, + "y": -48.63, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + }, + { + "id": 3, + "x": 716.66, + "y": -25.97, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": 736.17, + "y": -14.65, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": 752.42, + "y": 3.88, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-4.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-4.json new file mode 100644 index 00000000..369064a6 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-4.json @@ -0,0 +1,42 @@ +{ + "info": { + "name": "璃月7-遁玉陵-4", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749399950280 + }, + "positions": [ + { + "id": 1, + "x": 837.46, + "y": 235.15, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 824.83, + "y": 156.61, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 815.03, + "y": 136.35, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-5.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-5.json new file mode 100644 index 00000000..7baf22a0 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-5.json @@ -0,0 +1,60 @@ +{ + "info": { + "name": "璃月7-遁玉陵-5", + "type": "collect", + "author": "秋云", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0", + "tags": [], + "last_modified_time": 1749400498877 + }, + "positions": [ + { + "id": 1, + "x": 876.75, + "y": 587.25, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 868.48, + "y": 570.17, + "type": "path", + "move_mode": "jump", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": 840.12, + "y": 562.36, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": 761.5, + "y": 561.25, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": 681.46, + "y": 528.76, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-6.json b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-6.json new file mode 100644 index 00000000..19b12cbb --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/assets/pathing/璃月7-遁玉陵-6.json @@ -0,0 +1,31 @@ +{ + "info": { + "name": "璃月7-遁玉陵-6", + "type": "collect", + "author": "寒烟", + "version": "1.1", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 341.35, + "y": 548.07, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": 455.4, + "y": 546.56, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/generate_data_format.py b/repo/js/AutoLeyLineOutcrop/generate_data_format.py new file mode 100644 index 00000000..ab146f28 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/generate_data_format.py @@ -0,0 +1,859 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import json +import os +import sys +import re + +def format_coord(num): + return round(float(num), 2) + +def calculate_distance(x1, y1, x2, y2): + return ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5 + +# 定义区域排序顺序 +REGION_ORDER = { + "蒙德": 1, + "璃月": 2, + "稻妻": 3, + "须弥": 4, + "枫丹": 5, + "纳塔": 6, + "未知区域": 99 # 未知区域放最后 +} + +def get_region_sort_key(region_name): + """获取区域的排序键值,用于排序""" + # 从完整区域名称(如"枫丹1-1")中提取基本区域名称(如"枫丹") + base_region = re.match(r"^([^0-9]+)", region_name) + if base_region: + base_region = base_region.group(1) + return REGION_ORDER.get(base_region, 99) + return 99 + +def normalize_region_name(region_name, region_num, route_num, route_sub_num=None): + """规范化区域名称,确保命名一致性 + 例如: + - 标准格式: 蒙德3, 奔狼领, 2 -> 蒙德3-2 + - 特殊格式: 蒙德2, 清泉镇, 4, 1 -> 蒙德2-4-1 + """ + if route_sub_num is not None: + # 特殊格式 + return f"{region_name}{region_num}-{route_num}-{route_sub_num}" + else: + # 标准格式 + return f"{region_name}{region_num}-{route_num}" + +def is_same_region_base(region1, region2): + """检查两个区域名称是否属于同一基本区域 + 例如,"蒙德2-4-1"和"蒙德2-4-2"属于同一基本区域"蒙德2-4" + """ + # 提取区域名称的基本部分(例如从"蒙德2-4-1"提取"蒙德2-4") + base_region1 = re.match(r"^([^-]+-\d+)", region1) + base_region2 = re.match(r"^([^-]+-\d+)", region2) + + return (base_region1 and base_region2 and + base_region1.group(1) == base_region2.group(1)) + +def parse_region_area_number(filename): + """从文件名解析区域、地区和编号 + 支持两种格式: + 1. 标准格式: 蒙德3-奔狼领-2.json -> ("蒙德", 3, "奔狼领", 2) + 2. 特殊格式: 蒙德2-清泉镇-4-1.json -> ("蒙德", 2, "清泉镇", 4, 1) + """ + # 先尝试匹配特殊格式(带有额外连字符的格式) + special_pattern = r"^([^0-9]+)(\d+)-(.+)-(\d+)-(\d+(?:\.\d+)?)\.json$" + match = re.match(special_pattern, filename) + if match: + region_name = match.group(1) + region_num = int(match.group(2)) + area = match.group(3) + route_num = int(match.group(4)) + route_sub_num = int(match.group(5)) + return region_name, region_num, area, route_num, route_sub_num + + # 如果不是特殊格式,尝试匹配标准格式 + standard_pattern = r"^([^0-9]+)(\d+)-(.+)-(\d+(?:\.\d+)?)\.json$" + match = re.match(standard_pattern, filename) + if match: + region_name = match.group(1) + region_num = int(match.group(2)) + area = match.group(3) + route_num = int(match.group(4)) + return region_name, region_num, area, route_num + + # 如果都不匹配,返回默认值 + print(f"警告:无法解析文件名 {filename}") + return None, None, None, None + +def generate_new_data_structure_from_pathing(): + """直接从assets/pathing目录读取文件生成新的数据结构""" + # 获取脚本所在目录 + script_dir = os.path.dirname(os.path.abspath(__file__)) + pathing_dir = os.path.join(script_dir, "assets", "pathing") + target_dir = os.path.join(pathing_dir, "target") + + # 检查目录是否存在 + if not os.path.exists(pathing_dir): + print(f"错误:找不到路径目录 {pathing_dir}") + return None + # 初始化新数据结构,分开存储 blossom 和 teleport + new_data = { + "teleports": [], # 传送点节点 + "blossoms": [], # 地脉花节点 + "edges": [], # 边集合 + "indexes": { + "edgesBySource": {}, + "edgesByTarget": {} + } + } + # 创建独立的ID计数器和节点映射 + next_teleport_id = 1 # 传送点专用ID计数器 + next_blossom_id = 1000 # 地脉花专用ID计数器 + teleport_nodes = {} # 按坐标存储传送点节点 (x, y) -> node_id + target_nodes = {} # 按坐标存储目标点节点 (x, y) -> node_id + + # 创建文件路径映射 + file_paths = {} + + # 第一遍:读取所有路径文件并创建节点 + print("第一遍:读取路径文件并创建节点...") + for root, _, files in os.walk(pathing_dir): + for file in sorted(files): + # 跳过非JSON文件和重运行文件 + if not file.endswith('.json') or 'rerun' in file or 'rerun' in root: + continue + + # 跳过target目录 + if "target" in root.split(os.path.sep): + continue + + file_path = os.path.join(root, file) + + try: + with open(file_path, 'r', encoding='utf-8') as f: + path_data = json.load(f) + + # 记录文件路径 + relative_path = os.path.relpath(file_path, script_dir) + relative_path = relative_path.replace("\\", "/") + file_paths[file] = relative_path + + # 检查文件是否有position数据 + if "positions" not in path_data or not path_data["positions"]: + continue + + # 获取第一个位置点(通常是传送点) + first_pos = path_data["positions"][0] + if "type" in first_pos and first_pos["type"] == "teleport": + x = format_coord(first_pos["x"]) + y = format_coord(first_pos["y"]) # 解析区域信息 + result = parse_region_area_number(file) + if len(result) == 5: # 特殊格式 + region_name, region_num, _, _, _ = result + else: # 标准格式或无法解析 + region_name, region_num, _, _ = result + # 传送点仅显示区域名称,不显示编号 + region = f"{region_name}" if region_name else "未知区域" + # 检查是否已存在相同坐标的传送点 + existing_node = False + for coord, node_id in teleport_nodes.items(): + if calculate_distance(coord[0], coord[1], x, y) < 10: # 将阈值从50降低到10 + existing_node = True + break + if not existing_node: # 创建新的传送点节点 + teleport_node = { + "id": next_teleport_id, + "region": region, + "position": {"x": x, "y": y} + } + new_data["teleports"].append(teleport_node) + teleport_nodes[(x, y)] = next_teleport_id + next_teleport_id += 1 + print(f" 创建传送点: ID={teleport_node['id']}, 区域={region}, 坐标=({x}, {y})") + except Exception as e: + print(f" 警告:处理文件 {file} 时出错: {e}") + + # 第二遍:读取target目录文件并创建目标节点 + print("\n第二遍:读取target文件并创建目标节点...") + for file in sorted(os.listdir(target_dir)): + if not file.endswith('.json'): + continue + + file_path = os.path.join(target_dir, file) + + try: + with open(file_path, 'r', encoding='utf-8') as f: + target_data = json.load(f) + # 检查文件是否有position数据 + if "positions" not in target_data or not target_data["positions"]: + continue + + # 获取第一个位置点(通常是目标点) + target_pos = target_data["positions"][0] + x = format_coord(target_pos["x"]) + y = format_coord(target_pos["y"]) + result = parse_region_area_number(file) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + # 使用规范化函数来生成区域名 + region = normalize_region_name(region_name, region_num, route_num, route_sub_num) + else: # 标准格式或无法解析 + region_name, region_num, area, route_num = result + # 使用规范化函数来生成区域名 + region = normalize_region_name(region_name, region_num, route_num) if region_name and region_num and route_num else "未知区域" # 检查是否已存在相同坐标的目标点和相同区域名 + existing_node = False + existing_node_id = None + for coord, node_id in target_nodes.items(): + if calculate_distance(coord[0], coord[1], x, y) < 10: # 阈值为10 + # 找到这个节点,检查它的区域是否与当前区域相同 + for blossom in new_data["blossoms"]: + if blossom["id"] == node_id: + # 检查区域名完全相同 + if blossom["region"] == region: + existing_node = True + existing_node_id = node_id + break + + # 检查区域名基本部分是否相同(如"蒙德2-4"和"蒙德2-4-2") + # 提取区域名称的基本部分(例如从"蒙德2-4-1"提取"蒙德2-4") + current_base_region = re.match(r"^([^-]+-\d+)", region) + existing_base_region = re.match(r"^([^-]+-\d+)", blossom["region"]) + + if (current_base_region and existing_base_region and + current_base_region.group(1) == existing_base_region.group(1)): + print(f" 注意: 坐标 ({x}, {y}) 与已存在节点 '{blossom['region']}' 区域基本部分相同,视为同一节点") + existing_node = True + existing_node_id = node_id + break + + if not existing_node: + print(f" 注意: 坐标 ({x}, {y}) 附近有另一个区域的节点,但将创建新节点") + + if not existing_node: + # 创建新的目标点节点 + target_node = { + "id": next_blossom_id, + "region": region, + "position": {"x": x, "y": y} + } + new_data["blossoms"].append(target_node) + target_nodes[(x, y)] = next_blossom_id + next_blossom_id += 1 + print(f" 创建目标点: ID={target_node['id']}, 区域={region}, 坐标=({x}, {y})") + except Exception as e: + print(f" 警告:处理目标文件 {file} 时出错: {e}") + + # 第三遍:创建边和索引 + print("\n第三遍:创建边和索引...") + for file in sorted(os.listdir(pathing_dir)): + if not file.endswith('.json') or 'rerun' in file: + continue + + # 跳过target和rerun目录中的文件 + if file not in file_paths: + continue + # 解析文件名 + result = parse_region_area_number(file) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + else: # 标准格式 + region_name, region_num, area, route_num = result + route_sub_num = None + + if not region_name or not region_num or not area or not route_num: + continue + + # 构建对应的target文件名 + target_file = file + + # 检查target文件是否存在 + target_path = os.path.join(target_dir, target_file) + if not os.path.exists(target_path): + print(f" 警告:找不到对应的目标文件 {target_file}") + continue + + try: + # 读取路径文件获取源传送点 + file_path = os.path.join(pathing_dir, file) + with open(file_path, 'r', encoding='utf-8') as f: + path_data = json.load(f) + + # 读取目标文件获取目标点 + with open(target_path, 'r', encoding='utf-8') as f: + target_data = json.load(f) + + # 获取传送点坐标 + if "positions" in path_data and path_data["positions"]: + first_pos = path_data["positions"][0] + source_x = format_coord(first_pos["x"]) + source_y = format_coord(first_pos["y"]) + + # 获取目标点坐标 + if "positions" in target_data and target_data["positions"]: + target_pos = target_data["positions"][0] + target_x = format_coord(target_pos["x"]) + target_y = format_coord(target_pos["y"]) # 查找源节点ID + source_id = None + for coord, node_id in teleport_nodes.items(): + if calculate_distance(coord[0], coord[1], source_x, source_y) < 10: # 将阈值从50降低到10 + source_id = node_id + break + + # 查找目标节点ID + target_id = None + for coord, node_id in target_nodes.items(): + if calculate_distance(coord[0], coord[1], target_x, target_y) < 10: # 将阈值从50降低到10 + target_id = node_id + break + + # 如果找到了源节点和目标节点,创建边 + if source_id and target_id: # 添加边 + edge = { + "source": source_id, + "target": target_id, + "route": file_paths[file], + # 保存原始位置信息,用于在排序后更新ID(稍后会删除) + "sourcePosition": { + "x": source_x, + "y": source_y + }, + "targetPosition": { + "x": target_x, + "y": target_y + } + } + new_data["edges"].append(edge) + + # 更新索引 + if str(source_id) not in new_data["indexes"]["edgesBySource"]: + new_data["indexes"]["edgesBySource"][str(source_id)] = [] + new_data["indexes"]["edgesBySource"][str(source_id)].append(target_id) + + if str(target_id) not in new_data["indexes"]["edgesByTarget"]: + new_data["indexes"]["edgesByTarget"][str(target_id)] = [] + new_data["indexes"]["edgesByTarget"][str(target_id)].append(source_id) + + print(f" 创建边: {source_id} -> {target_id}, 路径={file_paths[file]}") + except Exception as e: + print(f" 警告:处理边关系时出错 {file}: {e}") # 检查每个目标点是否至少有一条有向边 + print("\n检查目标点的连通性...") + orphaned_targets = [] + for blossom in new_data["blossoms"]: + target_id = blossom["id"] + + # 检查是否有边指向此目标点 + has_edge = False + for edge in new_data["edges"]: + if edge["target"] == target_id: + has_edge = True + break + + if not has_edge: + orphaned_targets.append(blossom) + print(f" 警告: 目标点 ID={target_id}, 区域={blossom['region']}, 坐标=({blossom['position']['x']}, {blossom['position']['y']}) 没有入边") + + # 处理没有边的目标点 - 尝试使用连续编号的路径 + if orphaned_targets: + print(f"\n尝试为 {len(orphaned_targets)} 个孤立目标点寻找连续路径...") + + # 先按区域分组目标点 + region_targets = {} + for orphan in orphaned_targets: + region = orphan["region"] + if region not in region_targets: + region_targets[region] = [] + region_targets[region].append(orphan) + + # 然后按区域处理 + for region, targets in region_targets.items(): + print(f"\n处理区域 {region} 的 {len(targets)} 个孤立目标点...") + + # 获取该区域的所有边 + region_edges = [] + for edge in new_data["edges"]: + # 找到起点对应的传送点 + source_teleport = None + for teleport in new_data["teleports"]: + if teleport["id"] == edge["source"]: + source_teleport = teleport + break + + if source_teleport and source_teleport["region"] == region: + region_edges.append(edge) + if not region_edges: + print(f" 区域 {region} 没有现有路径,无法连接孤立目标点") + continue + + # 从每条边的路径中提取区域和编号 + route_info = [] + for edge in region_edges: + route = edge["route"] + file_name = os.path.basename(route) + result = parse_region_area_number(file_name) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + else: # 标准格式 + region_name, region_num, area, route_num = result + route_sub_num = None + + if region_name and region_num and area and route_num: + info = { + "edge": edge, + "region_name": region_name, + "region_num": region_num, + "area": area, + "route_num": route_num, + "file_name": file_name + } + if route_sub_num is not None: + info["route_sub_num"] = route_sub_num + route_info.append(info) + + # 按区域和地区分组 + area_routes = {} + for info in route_info: + key = f"{info['region_name']}{info['region_num']}-{info['area']}" + if key not in area_routes: + area_routes[key] = [] + area_routes[key].append(info) + + # 对每个地区内的路线按编号排序 + for key, routes in area_routes.items(): + routes.sort(key=lambda x: x["route_num"]) + + # 查找区域内每个孤立目标点附近的路径 + for orphan in targets: + print(f" 处理目标点 ID={orphan['id']}, 坐标=({orphan['position']['x']}, {orphan['position']['y']})") + + # 找到最近的传送点 + nearest_teleport = None + min_distance = float('inf') + + for teleport in new_data["teleports"]: + if teleport["region"] == orphan["region"]: + distance = calculate_distance( + teleport["position"]["x"], teleport["position"]["y"], + orphan["position"]["x"], orphan["position"]["y"] + ) + + if distance < min_distance: + min_distance = distance + nearest_teleport = teleport + + if not nearest_teleport: + print(f" 未找到区域 {orphan['region']} 内的传送点") + continue + + # 查找以这个传送点为起点的所有路径 + teleport_routes = [] + for key, routes in area_routes.items(): + for info in routes: + if info["edge"]["source"] == nearest_teleport["id"]: + teleport_routes.append(info) + + if not teleport_routes: + print(f" 未找到以传送点 ID={nearest_teleport['id']} 为起点的路径") + continue + + # 按路线编号排序 + teleport_routes.sort(key=lambda x: x["route_num"]) + + # 找到编号最大的路径 + last_route = teleport_routes[-1] + next_num = last_route["route_num"] + 1 + print(f" 找到传送点 ID={nearest_teleport['id']} 的最后一条路径: {last_route['file_name']}") + + # 检查是否是特殊格式路径 + if "-" in last_route['area']: + # 特殊格式路径(如"清泉镇-4") + area_parts = last_route['area'].split("-") + if len(area_parts) == 2: + print(f" 建议手动创建新路径: {last_route['region_name']}{last_route['region_num']}-{area_parts[0]}-{area_parts[1]}-{next_num}.json") + else: + print(f" 建议手动创建新路径: {last_route['region_name']}{last_route['region_num']}-{last_route['area']}-{next_num}.json") + else: + # 标准格式路径 + print(f" 建议手动创建新路径: {last_route['region_name']}{last_route['region_num']}-{last_route['area']}-{next_num}.json") + + print(f" 从传送点 ({nearest_teleport['position']['x']}, {nearest_teleport['position']['y']}) 到目标点 ({orphan['position']['x']}, {orphan['position']['y']})") + # 按区域排序传送点和地脉花 + print("\n按区域对节点进行排序...") + + # 对传送点按区域排序 + new_data["teleports"] = sorted(new_data["teleports"], key=lambda x: get_region_sort_key(x["region"])) + + # 对地脉花按区域排序 + new_data["blossoms"] = sorted(new_data["blossoms"], key=lambda x: get_region_sort_key(x["region"])) + # 更新排序后的ID(可选) + for i, teleport in enumerate(new_data["teleports"]): + teleport["id"] = i + 1 + + for i, blossom in enumerate(new_data["blossoms"]): + blossom["id"] = i + 1000 + # 更新边的引用 + for edge in new_data["edges"]: + # 查找新的source ID + for teleport in new_data["teleports"]: + if calculate_distance(teleport["position"]["x"], teleport["position"]["y"], + edge["sourcePosition"]["x"], edge["sourcePosition"]["y"]) < 10: + edge["source"] = teleport["id"] + break + + # 查找新的target ID + for blossom in new_data["blossoms"]: + if calculate_distance(blossom["position"]["x"], blossom["position"]["y"], + edge["targetPosition"]["x"], edge["targetPosition"]["y"]) < 10: + edge["target"] = blossom["id"] + break + + # 在更新ID后删除位置信息 + print("\n删除边数据中的位置信息...") + for edge in new_data["edges"]: + if "sourcePosition" in edge: + del edge["sourcePosition"] + if "targetPosition" in edge: + del edge["targetPosition"] + + # 按照target的顺序排列edges + print("\n按照目标节点(target)的顺序排列边...") + new_data["edges"] = sorted(new_data["edges"], key=lambda x: x["target"]) + + # 创建节点到节点的顺序边 + sequential_edges_count = create_sequential_edges(new_data) + + # 重新排序所有边(包括新的顺序边) + print("\n重新排序所有边...") + new_data["edges"] = sorted(new_data["edges"], key=lambda x: (x.get("type", "teleport"), x["target"])) + + # 重建索引 + new_data["indexes"] = { + "edgesBySource": {}, + "edgesByTarget": {} + } + + for edge in new_data["edges"]: + source_id = edge["source"] + target_id = edge["target"] + + if str(source_id) not in new_data["indexes"]["edgesBySource"]: + new_data["indexes"]["edgesBySource"][str(source_id)] = [] + new_data["indexes"]["edgesBySource"][str(source_id)].append(target_id) + + if str(target_id) not in new_data["indexes"]["edgesByTarget"]: + new_data["indexes"]["edgesByTarget"][str(target_id)] = [] + new_data["indexes"]["edgesByTarget"][str(target_id)].append(source_id) + + # 保存新数据结构 + output_file = os.path.join(script_dir, "LeyLineOutcropData.json") + with open(output_file, 'w', encoding='utf-8') as f: + json.dump(new_data, f, ensure_ascii=False, indent=2) + print(f"\n已生成新的数据结构: {output_file}") + print(f"传送点数量: {len(new_data['teleports'])}") + print(f"地脉花数量: {len(new_data['blossoms'])}") + print(f"总节点数量: {len(new_data['teleports']) + len(new_data['blossoms'])}") + print(f"传送点到地脉花边数量: {len([e for e in new_data['edges'] if e.get('type', 'teleport') == 'teleport'])}") + print(f"节点间顺序边数量: {sequential_edges_count}") + print(f"总边数量: {len(new_data['edges'])}") + print(f"区域排序顺序: {', '.join([k for k, v in sorted(REGION_ORDER.items(), key=lambda item: item[1]) if v < 99])}") + # 报告孤立目标点 + remaining_orphans = 0 + orphaned_blossoms = [] + for blossom in new_data["blossoms"]: + target_id = blossom["id"] + has_edge = False + for edge in new_data["edges"]: + if edge["target"] == target_id: + has_edge = True + break + if not has_edge: + remaining_orphans += 1 + orphaned_blossoms.append(blossom) + + if remaining_orphans > 0: + print(f"\n注意: 仍有 {remaining_orphans} 个目标点没有入边") + print("这些目标点按区域排序如下:") + # 按区域分组展示孤立目标点 + orphaned_by_region = {} + for orphan in orphaned_blossoms: + region = orphan["region"] + base_region = re.match(r"^([^0-9]+)", region) + if base_region: + base_region = base_region.group(1) + if base_region not in orphaned_by_region: + orphaned_by_region[base_region] = [] + orphaned_by_region[base_region].append(orphan) + + # 按照指定顺序显示区域 + for region_name, _ in sorted(REGION_ORDER.items(), key=lambda item: item[1]): + if region_name in orphaned_by_region: + print(f"\n {region_name}区域的孤立目标点:") + for orphan in orphaned_by_region[region_name]: + print(f" ID={orphan['id']}, 区域={orphan['region']}, 坐标=({orphan['position']['x']}, {orphan['position']['y']})") + + print("\n请按照之前的建议手动创建连续编号的路径文件") + else: + print("\n✓ 所有目标点都至少有一条入边") + + return new_data + +def create_sequential_edges(new_data): + """创建节点到节点的顺序边,实现正确的分支逻辑 + + 正确的分支规则: + 1. 主路线到分支: 蒙德2-3 → 蒙德2-4-1, 蒙德2-4-2 + 2. 分支到同序号分支: 蒙德2-4-1 → 蒙德2-5-1 (优先) → 蒙德2-5 (备选) → 终点 + 3. 分支到同序号分支: 蒙德2-4-2 → 蒙德2-5-2 (优先) → 蒙德2-5 (备选) → 终点 + 4. 分支内部不连接: 蒙德2-4-1 和 蒙德2-4-2 之间不相互连接 + 5. 主路线到主路线: 当没有分支时的直接连接 + + 基于实际路径文件查找对应的路线 + """ + print("\n创建节点到节点的顺序边...") + + script_dir = os.path.dirname(os.path.abspath(__file__)) + pathing_dir = os.path.join(script_dir, "assets", "pathing") + + # 按基本区域分组地脉花节点(区域名+区域编号,如"蒙德2") + region_groups = {} + for blossom in new_data["blossoms"]: + region = blossom["region"] + parts = region.split("-") + if len(parts) >= 2: + # 提取基本区域名:区域名+区域编号(如"蒙德2") + import re + match = re.match(r'^([^0-9]+)(\d+)', parts[0]) + if match: + region_name = match.group(1) # 如 "蒙德" + region_num = match.group(2) # 如 "2" + base_region = region_name + region_num # 如 "蒙德2" + if base_region not in region_groups: + region_groups[base_region] = [] + region_groups[base_region].append(blossom) + + # 创建地脉花节点的映射:region -> blossom + region_to_blossom = {} + for blossom in new_data["blossoms"]: + region_to_blossom[blossom["region"]] = blossom + + # 收集所有存在的路径文件 + available_routes = {} + for root, _, files in os.walk(pathing_dir): + for file in sorted(files): + if not file.endswith('.json') or 'rerun' in file or 'rerun' in root: + continue + if "target" in root.split(os.path.sep): + continue + + relative_path = os.path.relpath(os.path.join(root, file), script_dir) + relative_path = relative_path.replace("\\", "/") + available_routes[file] = relative_path + + sequential_edges = [] + + # 为每个区域创建顺序边 + for base_region, blossoms in region_groups.items(): + print(f"\n处理区域: {base_region}") + + # 将节点分为主路线和分支路线 + main_routes = {} # {route_num: blossom} + branch_routes = {} # {route_num: {branch_num: blossom}} + + for blossom in blossoms: + region = blossom["region"] + parts = region.split("-") + + if len(parts) == 2: # 主路线格式:"蒙德2-3" + try: + route_num = int(parts[1]) + main_routes[route_num] = blossom + print(f" 主路线: {region} (路线{route_num})") + except ValueError: + print(f" 警告:无法解析主路线编号: {region}") + + elif len(parts) == 3: # 分支路线格式:"蒙德2-4-1" + try: + route_num = int(parts[1]) + branch_num = int(parts[2]) + if route_num not in branch_routes: + branch_routes[route_num] = {} + branch_routes[route_num][branch_num] = blossom + print(f" 分支路线: {region} (路线{route_num}, 分支{branch_num})") + except ValueError: + print(f" 警告:无法解析分支路线编号: {region}") + + print(f" 找到 {len(main_routes)} 个主路线,{len(branch_routes)} 个分支组") + # 辅助函数:查找路径文件 + def find_route_file(source_region, target_region): + # 从目标区域推断文件名 + result = None + print(f" 查找路径文件: {source_region} → {target_region}") + + for blossom in new_data["blossoms"]: + if blossom["region"] == target_region: + # 尝试通过目标区域构造文件名 + parts = target_region.split("-") + print(f" 目标区域部分: {parts}") + + if len(parts) == 2: # 主路线 + # 例如: 蒙德2-3 -> 蒙德2-xxx-3.json + pattern = f"-{parts[1]}.json" + print(f" 主路线模式: {pattern}") + for filename in available_routes.keys(): + if pattern in filename and parts[0] in filename: + result = available_routes[filename] + print(f" 找到匹配文件: {filename} -> {result}") + break + elif len(parts) == 3: # 分支路线 + # 例如: 蒙德2-4-1 -> 蒙德2-xxx-4-1.json + pattern = f"-{parts[1]}-{parts[2]}.json" + print(f" 分支路线模式: {pattern}") + for filename in available_routes.keys(): + if pattern in filename and parts[0] in filename: + result = available_routes[filename] + print(f" 找到匹配文件: {filename} -> {result}") + break + + if not result: + print(f" 警告:未找到匹配的路径文件") + print(f" 可用文件: {list(available_routes.keys())[:10]}...") # 只显示前10个 + break + return result# 1. 创建主路线到分支路线的连接 + for main_route_num, main_blossom in main_routes.items(): + # 找到下一个路线号,看是否有分支 + next_route_num = main_route_num + 1 + + if next_route_num in branch_routes: + # 连接到下一个路线号的所有分支 + for branch_num, branch_blossom in branch_routes[next_route_num].items(): + route_file = find_route_file(main_blossom["region"], branch_blossom["region"]) + + if route_file: + edge = { + "source": main_blossom["id"], + "target": branch_blossom["id"], + "route": route_file + } + sequential_edges.append(edge) + print(f" 主路线到分支: {main_blossom['region']} → {branch_blossom['region']}") + + # 2. 创建分支到下一个分支的连接(同序号优先) + for route_num, branches in branch_routes.items(): + next_route_num = route_num + 1 + + for branch_num, branch_blossom in branches.items(): + # 优先连接到同序号的下一个分支 + target_found = False + + # 第一优先级:同序号分支 (蒙德2-4-1 → 蒙德2-5-1) + if next_route_num in branch_routes and branch_num in branch_routes[next_route_num]: + target_blossom = branch_routes[next_route_num][branch_num] + route_file = find_route_file(branch_blossom["region"], target_blossom["region"]) + + if route_file: + edge = { + "source": branch_blossom["id"], + "target": target_blossom["id"], + "route": route_file + } + sequential_edges.append(edge) + print(f" 分支到同序号分支: {branch_blossom['region']} → {target_blossom['region']}") + target_found = True + + # 第二优先级:主路线 (蒙德2-4-1 → 蒙德2-5) + if not target_found and next_route_num in main_routes: + target_blossom = main_routes[next_route_num] + route_file = find_route_file(branch_blossom["region"], target_blossom["region"]) + + if route_file: + edge = { + "source": branch_blossom["id"], + "target": target_blossom["id"], + "route": route_file + } + sequential_edges.append(edge) + print(f" 分支到主路线: {branch_blossom['region']} → {target_blossom['region']}") + target_found = True + + # 如果没有找到目标,则为路线终点 + if not target_found: + print(f" 分支终点: {branch_blossom['region']} (无下一个目标)") + + # 3. 创建主路线到主路线的连接(当没有分支时) + sorted_main_routes = sorted(main_routes.keys()) + for i in range(len(sorted_main_routes) - 1): + current_route = sorted_main_routes[i] + next_route = sorted_main_routes[i + 1] + + # 只有在下一个路线没有分支时,才创建主路线到主路线的连接 + if next_route not in branch_routes: + source_blossom = main_routes[current_route] + target_blossom = main_routes[next_route] + route_file = find_route_file(source_blossom["region"], target_blossom["region"]) + + if route_file: + edge = { + "source": source_blossom["id"], + "target": target_blossom["id"], + "route": route_file + } + sequential_edges.append(edge) + print(f" 主路线连接: {source_blossom['region']} → {target_blossom['region']}") + + # 将新的顺序边添加到数据中 + new_data["edges"].extend(sequential_edges) + print(f"\n总共创建了 {len(sequential_edges)} 条顺序边") + + return len(sequential_edges) + +def test_filename_parsing(): + """测试文件名解析功能,确保能正确处理各种格式""" + test_files = [ + "蒙德1-风啸山岭-1.json", # 标准格式 + "璃月3-轻策庄-2.json", # 标准格式 + "蒙德2-清泉镇-4-1.json", # 特殊格式(双连字符数字) + "须弥2-须弥城-3-2.json", # 特殊格式 + "纳塔1-区域-5.5.json" # 小数点路线编号 + ] + + print("测试文件名解析结果:") + for filename in test_files: + result = parse_region_area_number(filename) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + print(f"文件: {filename} (特殊格式)") + print(f" 区域名称: {region_name}") + print(f" 区域编号: {region_num}") + print(f" 地区: {area}") + print(f" 路线编号: {route_num}") + print(f" 路线子编号: {route_sub_num}") + else: # 标准格式 + region_name, region_num, area, route_num = result + print(f"文件: {filename} (标准格式)") + print(f" 区域名称: {region_name}") + print(f" 区域编号: {region_num}") + print(f" 地区: {area}") + print(f" 路线编号: {route_num}") + # 测试格式化逻辑 + if region_name and region_num and route_num: + if len(result) == 5: # 特殊格式 + route_sub_num = result[4] + # 特殊格式显示为: 蒙德2-5-1 (区域名-区域编号-路线编号-路线子编号) + formatted = f"{region_name}{region_num}-{int(route_num)}-{int(route_sub_num)}" + else: # 标准格式 + # 标准格式显示为: 枫丹1-1 (区域名-区域编号-路线编号) + formatted = f"{region_name}{region_num}-{int(route_num)}" + print(f" 格式化区域: {formatted}") + else: + print(f" 解析失败") + print("") + + +if __name__ == "__main__": + # 测试文件名解析 + if len(sys.argv) > 1 and sys.argv[1] == "--test": + test_filename_parsing() + else: + generate_new_data_structure_from_pathing() + diff --git a/repo/js/AutoLeyLineOutcrop/main.js b/repo/js/AutoLeyLineOutcrop/main.js index 500e12f1..09dec817 100644 --- a/repo/js/AutoLeyLineOutcrop/main.js +++ b/repo/js/AutoLeyLineOutcrop/main.js @@ -179,13 +179,72 @@ async function executeMatchingStrategy() { async function loadNodeData() { try { const nodeDataText = await file.readText("LeyLineOutcropData.json"); - return JSON.parse(nodeDataText); + const rawData = JSON.parse(nodeDataText); + + // 适配数据结构:将原始数据转换为代码期望的格式 + return adaptNodeData(rawData); } catch (error) { log.error(`加载节点数据失败: ${error.message}`); throw new Error("无法加载 LeyLineOutcropData.json 文件"); } } +/** + * 适配数据结构:将原始数据转换为代码期望的格式 + * @param {Object} rawData - 原始JSON数据 + * @returns {Object} 适配后的节点数据 + */ +function adaptNodeData(rawData) { + const adaptedData = { + node: [], + indexes: rawData.indexes + }; + + // 添加传送点,设置type为"teleport" + if (rawData.teleports) { + for (const teleport of rawData.teleports) { + adaptedData.node.push({ + ...teleport, + type: "teleport", + next: [], + prev: [] + }); + } + } + + // 添加地脉花节点,设置type为"blossom" + if (rawData.blossoms) { + for (const blossom of rawData.blossoms) { + adaptedData.node.push({ + ...blossom, + type: "blossom", + next: [], + prev: [] + }); + } + } + + // 根据edges构建next和prev关系 + if (rawData.edges) { + for (const edge of rawData.edges) { + const sourceNode = adaptedData.node.find(node => node.id === edge.source); + const targetNode = adaptedData.node.find(node => node.id === edge.target); + + if (sourceNode && targetNode) { + sourceNode.next.push({ + target: edge.target, + route: edge.route + }); + targetNode.prev.push(edge.source); + } + } + } + + log.debug(`适配数据完成:传送点 ${rawData.teleports ? rawData.teleports.length : 0} 个,地脉花 ${rawData.blossoms ? rawData.blossoms.length : 0} 个,边缘 ${rawData.edges ? rawData.edges.length : 0} 个`); + + return adaptedData; +} + /** * 根据位置找到对应的目标节点 * @param {Object} nodeData - 节点数据 @@ -654,7 +713,6 @@ async function adjustViewForReward(boxIconRo, token) { const screenCenterX = 960; const screenCenterY = 540; const maxAngle = 10; // 最大允许偏离角度(度) - for (let i = 0; i < 20; i++) { // 检查是否取消操作 if (token && token.isCancellationRequested) { diff --git a/repo/js/AutoLeyLineOutcrop/orphan_handling.py b/repo/js/AutoLeyLineOutcrop/orphan_handling.py new file mode 100644 index 00000000..0eeaf8f3 --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/orphan_handling.py @@ -0,0 +1,28 @@ + if not region_edges: + print(f" 区域 {region} 没有现有路径,无法连接孤立目标点") + continue + + # 从每条边的路径中提取区域和编号 + route_info = [] + for edge in region_edges: + route = edge["route"] + file_name = os.path.basename(route) + result = parse_region_area_number(file_name) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + else: # 标准格式 + region_name, region_num, area, route_num = result + route_sub_num = None + + if region_name and region_num and area and route_num: + info = { + "edge": edge, + "region_name": region_name, + "region_num": region_num, + "area": area, + "route_num": route_num, + "file_name": file_name + } + if route_sub_num is not None: + info["route_sub_num"] = route_sub_num + route_info.append(info) diff --git a/repo/js/AutoLeyLineOutcrop/output.txt b/repo/js/AutoLeyLineOutcrop/output.txt new file mode 100644 index 00000000..e5f6f6ed --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/output.txt @@ -0,0 +1,1370 @@ +第一遍:读取路径文件并创建节点... + 创建传送点: ID=1, 区域=枫丹, 坐标=(4146.91, 2606.27) + 创建传送点: ID=2, 区域=枫丹, 坐标=(4375.5, 2280.05) + 创建传送点: ID=3, 区域=枫丹, 坐标=(4984.79, 4462.98) + 创建传送点: ID=4, 区域=枫丹, 坐标=(4498.18, 4710.79) + 创建传送点: ID=5, 区域=枫丹, 坐标=(4624.36, 4951.78) + 创建传送点: ID=6, 区域=枫丹, 坐标=(2873.54, 3512.04) + 创建传送点: ID=7, 区域=枫丹, 坐标=(3032.66, 3732.42) + 创建传送点: ID=8, 区域=枫丹, 坐标=(3917.29, 2576.43) + 创建传送点: ID=9, 区域=枫丹, 坐标=(4749.59, 2636.21) + 创建传送点: ID=10, 区域=枫丹, 坐标=(4689.61, 2429.43) + 创建传送点: ID=11, 区域=枫丹, 坐标=(4626.1, 2182.3) + 创建传送点: ID=12, 区域=璃月, 坐标=(207.48, 1573.01) + 创建传送点: ID=13, 区域=璃月, 坐标=(-321.55, 1473.33) + 创建传送点: ID=14, 区域=璃月, 坐标=(897.84, 583.5) + 创建传送点: ID=15, 区域=璃月, 坐标=(1045.53, 950.63) + 创建传送点: ID=16, 区域=璃月, 坐标=(341.33, 548.08) + 创建传送点: ID=17, 区域=璃月, 坐标=(839.82, 1532.39) + 创建传送点: ID=18, 区域=璃月, 坐标=(489.8, 1435.14) + 创建传送点: ID=19, 区域=璃月, 坐标=(253.05, 1284.9) + 创建传送点: ID=20, 区域=璃月, 坐标=(2257.04, 934.92) + 创建传送点: ID=21, 区域=璃月, 坐标=(1433.37, 1288.0) + 创建传送点: ID=22, 区域=璃月, 坐标=(-164.59, 1182.45) + 创建传送点: ID=23, 区域=璃月, 坐标=(-188.52, 972.43) + 创建传送点: ID=24, 区域=璃月, 坐标=(-57.41, 656.93) + 创建传送点: ID=25, 区域=璃月, 坐标=(26.02, -112.29) + 创建传送点: ID=26, 区域=璃月, 坐标=(173.88, 389.47) + 创建传送点: ID=27, 区域=璃月, 坐标=(710.68, -772.49) + 创建传送点: ID=28, 区域=璃月, 坐标=(978.65, -353.56) + 创建传送点: ID=29, 区域=璃月, 坐标=(611.74, -284.65) + 创建传送点: ID=30, 区域=璃月, 坐标=(837.46, 235.15) + 创建传送点: ID=31, 区域=璃月, 坐标=(876.75, 587.25) + 创建传送点: ID=32, 区域=璃月, 坐标=(1665.91, 386.6) + 创建传送点: ID=33, 区域=璃月, 坐标=(1152.67, 141.57) + 创建传送点: ID=34, 区域=璃月, 坐标=(1389.08, 516.44) + 创建传送点: ID=35, 区域=稻妻, 坐标=(-4217.89, -2397.87) + 创建传送点: ID=36, 区域=稻妻, 坐标=(-4408.91, -2395.34) + 创建传送点: ID=37, 区域=稻妻, 坐标=(-3016.79, -3623.7) + 创建传送点: ID=38, 区域=稻妻, 坐标=(-3233.21, -3534.22) + 创建传送点: ID=39, 区域=稻妻, 坐标=(-3393.16, -3555.99) + 创建传送点: ID=40, 区域=稻妻, 坐标=(-3437.06, -3319.78) + 创建传送点: ID=41, 区域=稻妻, 坐标=(-2224.14, -4004.16) + 创建传送点: ID=42, 区域=稻妻, 坐标=(-1058.01, -3948.66) + 创建传送点: ID=43, 区域=稻妻, 坐标=(-1315.93, -3774.25) + 创建传送点: ID=44, 区域=稻妻, 坐标=(-3891.55, -4389.92) + 创建传送点: ID=45, 区域=稻妻, 坐标=(-3684.76, -4278.4) + 创建传送点: ID=46, 区域=纳塔, 坐标=(7796.08, -1873.18) + 创建传送点: ID=47, 区域=纳塔, 坐标=(7857.47, -1751.25) + 创建传送点: ID=48, 区域=纳塔, 坐标=(8291.35, -2922.46) + 创建传送点: ID=49, 区域=纳塔, 坐标=(8744.65, -3009.56) + 创建传送点: ID=50, 区域=纳塔, 坐标=(8706.46, -1575.02) + 创建传送点: ID=51, 区域=纳塔, 坐标=(8670.84, -1269.72) + 创建传送点: ID=52, 区域=纳塔, 坐标=(8201.95, -2288.75) + 创建传送点: ID=53, 区域=纳塔, 坐标=(8372.19, -2196.26) + 创建传送点: ID=54, 区域=纳塔, 坐标=(9038.74, -2429.33) + 创建传送点: ID=55, 区域=纳塔, 坐标=(9812.76, -2852.58) + 创建传送点: ID=56, 区域=纳塔, 坐标=(9282.7, -2163.58) + 创建传送点: ID=57, 区域=纳塔, 坐标=(9989.5, -1607.82) + 创建传送点: ID=58, 区域=纳塔, 坐标=(9548.24, -1116.54) + 创建传送点: ID=59, 区域=纳塔, 坐标=(9719.22, -851.99) + 创建传送点: ID=60, 区域=纳塔, 坐标=(9839.57, -1290.01) + 创建传送点: ID=61, 区域=蒙德, 坐标=(-1166.84, 2132.83) + 创建传送点: ID=62, 区域=蒙德, 坐标=(-1266.59, 1933.52) + 创建传送点: ID=63, 区域=蒙德, 坐标=(-914.82, 1795.51) + 创建传送点: ID=64, 区域=蒙德, 坐标=(-663.61, 1709.65) + 创建传送点: ID=65, 区域=蒙德, 坐标=(-578.76, 1853.42) + 创建传送点: ID=66, 区域=蒙德, 坐标=(-251.66, 2256.55) + 创建传送点: ID=67, 区域=蒙德, 坐标=(-385.84, 2297.22) + 创建传送点: ID=68, 区域=蒙德, 坐标=(-440.09, 2580.75) + 创建传送点: ID=69, 区域=蒙德, 坐标=(177.18, 2647.07) + 创建传送点: ID=70, 区域=蒙德, 坐标=(265.6, 2915.02) + 创建传送点: ID=71, 区域=蒙德, 坐标=(-1505.87, 2296.26) + 创建传送点: ID=72, 区域=蒙德, 坐标=(-1330.15, 2563.86) + 创建传送点: ID=73, 区域=蒙德, 坐标=(-1273.84, 2721.72) + 创建传送点: ID=74, 区域=蒙德, 坐标=(-1629.44, 2834.36) + 创建传送点: ID=75, 区域=蒙德, 坐标=(-1867.21, 1331.21) + 创建传送点: ID=76, 区域=蒙德, 坐标=(-1432.63, 1464.61) + 创建传送点: ID=77, 区域=须弥, 坐标=(2342.31, -4.68) + 创建传送点: ID=78, 区域=须弥, 坐标=(6615.13, 724.95) + 创建传送点: ID=79, 区域=须弥, 坐标=(6339.59, 738.39) + 创建传送点: ID=80, 区域=须弥, 坐标=(2806.54, -1790.45) + 创建传送点: ID=81, 区域=须弥, 坐标=(2980.23, -1758.59) + 创建传送点: ID=82, 区域=须弥, 坐标=(3199.51, -911.7) + 创建传送点: ID=83, 区域=须弥, 坐标=(3252.87, -591.25) + 创建传送点: ID=84, 区域=须弥, 坐标=(3402.18, -1175.26) + 创建传送点: ID=85, 区域=须弥, 坐标=(3473.06, -1573.53) + 创建传送点: ID=86, 区域=须弥, 坐标=(3639.36, -1416.85) + 创建传送点: ID=87, 区域=须弥, 坐标=(4409.72, -1874.67) + 创建传送点: ID=88, 区域=须弥, 坐标=(4470.72, -2915.3) + 创建传送点: ID=89, 区域=须弥, 坐标=(4790.78, -3182.65) + 创建传送点: ID=90, 区域=须弥, 坐标=(4810.42, -2732.88) + 创建传送点: ID=91, 区域=须弥, 坐标=(5759.42, -1307.6) + 创建传送点: ID=92, 区域=须弥, 坐标=(4592.2, -647.56) + +第二遍:读取target文件并创建目标节点... + 创建目标点: ID=1000, 区域=枫丹1-1, 坐标=(4183.27, 2502.37) + 创建目标点: ID=1001, 区域=枫丹1-2, 坐标=(4190.03, 2426.41) + 创建目标点: ID=1002, 区域=枫丹1-3, 坐标=(4246.28, 2374.05) + 创建目标点: ID=1003, 区域=枫丹1-4, 坐标=(4299.75, 2232.59) + 创建目标点: ID=1004, 区域=枫丹1-5, 坐标=(4402.53, 2253.27) + 创建目标点: ID=1005, 区域=枫丹2-1, 坐标=(4962.82, 4395.81) + 创建目标点: ID=1006, 区域=枫丹2-2, 坐标=(4952.04, 4468.84) + 创建目标点: ID=1007, 区域=枫丹2-3, 坐标=(5043.36, 4479.99) + 创建目标点: ID=1008, 区域=枫丹2-4, 坐标=(5087.02, 4573.27) + 创建目标点: ID=1009, 区域=枫丹3-1, 坐标=(4556.1, 4762.42) + 创建目标点: ID=1010, 区域=枫丹3-2, 坐标=(4517.81, 4866.48) + 创建目标点: ID=1011, 区域=枫丹3-3, 坐标=(4578.63, 4913.28) + 创建目标点: ID=1012, 区域=枫丹3-4, 坐标=(4679.47, 4977.83) + 创建目标点: ID=1013, 区域=枫丹4-1, 坐标=(2932.47, 3583.9) + 创建目标点: ID=1014, 区域=枫丹4-2, 坐标=(3008.4, 3602.59) + 创建目标点: ID=1015, 区域=枫丹4-3, 坐标=(3077.19, 3602.84) + 创建目标点: ID=1016, 区域=枫丹4-4, 坐标=(3091.8, 3654.75) + 创建目标点: ID=1017, 区域=枫丹5-1, 坐标=(4098.63, 2584.16) + 创建目标点: ID=1018, 区域=枫丹5-2, 坐标=(4063.52, 2564.29) + 创建目标点: ID=1019, 区域=枫丹5-3, 坐标=(3999.66, 2613.18) + 创建目标点: ID=1020, 区域=枫丹5-4, 坐标=(3921.35, 2617.81) + 创建目标点: ID=1021, 区域=枫丹6-1, 坐标=(4760.8, 2574.52) + 创建目标点: ID=1022, 区域=枫丹6-2, 坐标=(4653.67, 2531.89) + 创建目标点: ID=1023, 区域=枫丹6-3, 坐标=(4568.49, 2433.23) + 创建目标点: ID=1024, 区域=枫丹6-4, 坐标=(4553.51, 2358.49) + 创建目标点: ID=1025, 区域=枫丹6-5, 坐标=(4607.46, 2316.58) + 创建目标点: ID=1026, 区域=枫丹6-6, 坐标=(4700.14, 2393.35) + 创建目标点: ID=1027, 区域=璃月1-1, 坐标=(73.73, 1496.59) + 创建目标点: ID=1028, 区域=璃月1-2, 坐标=(-12.62, 1566.51) + 创建目标点: ID=1029, 区域=璃月1-3, 坐标=(-81.76, 1534.73) + 创建目标点: ID=1030, 区域=璃月1-4, 坐标=(-28.76, 1417.37) + 创建目标点: ID=1031, 区域=璃月10-1, 坐标=(1046.34, 662.76) + 创建目标点: ID=1032, 区域=璃月10-2, 坐标=(892.5, 748.02) + 创建目标点: ID=1033, 区域=璃月10-3, 坐标=(594.3, 437.83) + 创建目标点: ID=1034, 区域=璃月10-4, 坐标=(683.19, 529.0) + 创建目标点: ID=1035, 区域=璃月10-5, 坐标=(455.4, 546.56) + 创建目标点: ID=1036, 区域=璃月11-1, 坐标=(802.19, 1634.03) + 创建目标点: ID=1037, 区域=璃月11-2, 坐标=(697.31, 1551.84) + 创建目标点: ID=1038, 区域=璃月11-3, 坐标=(646.5, 1421.98) + 创建目标点: ID=1039, 区域=璃月11-4, 坐标=(632.03, 1331.15) + 创建目标点: ID=1040, 区域=璃月11-5, 坐标=(558.31, 1437.82) + 创建目标点: ID=1041, 区域=璃月11-6, 坐标=(285.79, 1457.93) + 创建目标点: ID=1042, 区域=璃月13-1, 坐标=(2254.49, 970.92) + 创建目标点: ID=1043, 区域=璃月13-2, 坐标=(2252.54, 898.21) + 创建目标点: ID=1044, 区域=璃月13-3, 坐标=(2226.91, 863.09) + 创建目标点: ID=1045, 区域=璃月13-4, 坐标=(2028.69, 830.67) + 创建目标点: ID=1046, 区域=璃月14-1, 坐标=(1614.21, 1382.09) + 创建目标点: ID=1047, 区域=璃月14-2, 坐标=(1581.57, 1437.1) + 创建目标点: ID=1048, 区域=璃月14-3, 坐标=(1563.45, 1487.35) + 创建目标点: ID=1049, 区域=璃月14-4, 坐标=(1525.0, 1549.17) + 创建目标点: ID=1050, 区域=璃月2-1, 坐标=(-194.85, 1163.89) + 创建目标点: ID=1051, 区域=璃月2-2, 坐标=(32.81, 1118.31) + 创建目标点: ID=1052, 区域=璃月2-3, 坐标=(-24.14, 931.71) + 创建目标点: ID=1053, 区域=璃月2-4, 坐标=(-10.67, 683.67) + 创建目标点: ID=1054, 区域=璃月3-1, 坐标=(-55.27, 603.84) + 创建目标点: ID=1055, 区域=璃月3-2, 坐标=(139.9, 685.26) + 创建目标点: ID=1056, 区域=璃月3-3, 坐标=(284.12, 620.66) + 创建目标点: ID=1057, 区域=璃月3-4, 坐标=(276.12, 542.51) + 注意: 坐标 (456.0, 546.29) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1058, 区域=璃月3-5, 坐标=(456.0, 546.29) + 创建目标点: ID=1059, 区域=璃月4-1, 坐标=(-7.16, -48.77) + 创建目标点: ID=1060, 区域=璃月4-2, 坐标=(101.14, -2.97) + 创建目标点: ID=1061, 区域=璃月4-3, 坐标=(127.05, 113.87) + 创建目标点: ID=1062, 区域=璃月4-4, 坐标=(146.03, 220.07) + 创建目标点: ID=1063, 区域=璃月4-5, 坐标=(262.65, 357.85) + 注意: 坐标 (276.55, 543.11) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1064, 区域=璃月4-6, 坐标=(276.55, 543.11) + 注意: 坐标 (456.44, 546.35) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (456.44, 546.35) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1065, 区域=璃月4-7, 坐标=(456.44, 546.35) + 创建目标点: ID=1066, 区域=璃月5-1, 坐标=(773.08, -928.68) + 创建目标点: ID=1067, 区域=璃月5-2, 坐标=(885.79, -780.15) + 创建目标点: ID=1068, 区域=璃月5-3, 坐标=(1063.54, -727.34) + 创建目标点: ID=1069, 区域=璃月5-4-1, 坐标=(936.52, -489.9) + 创建目标点: ID=1070, 区域=璃月7-1, 坐标=(824.28, -325.68) + 创建目标点: ID=1071, 区域=璃月7-2, 坐标=(721.94, -106.43) + 创建目标点: ID=1072, 区域=璃月7-3, 坐标=(752.42, 3.88) + 创建目标点: ID=1073, 区域=璃月7-4, 坐标=(815.03, 136.35) + 注意: 坐标 (681.46, 528.76) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1074, 区域=璃月7-5, 坐标=(681.46, 528.76) + 注意: 坐标 (455.4, 546.56) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.4, 546.56) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.4, 546.56) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1075, 区域=璃月7-6, 坐标=(455.4, 546.56) + 创建目标点: ID=1076, 区域=璃月8-1, 坐标=(1627.15, 303.83) + 创建目标点: ID=1077, 区域=璃月8-2, 坐标=(1333.25, 266.26) + 创建目标点: ID=1078, 区域=璃月8-3, 坐标=(1160.17, 86.75) + 创建目标点: ID=1079, 区域=璃月8-4, 坐标=(972.68, 98.66) + 注意: 坐标 (815.31, 137.31) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1080, 区域=璃月8-5, 坐标=(815.31, 137.31) + 注意: 坐标 (683.33, 529.05) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (683.33, 529.05) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1081, 区域=璃月8-6, 坐标=(683.33, 529.05) + 注意: 坐标 (455.84, 546.39) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.84, 546.39) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.84, 546.39) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1082, 区域=璃月8-7, 坐标=(455.84, 546.39) + 创建目标点: ID=1083, 区域=璃月9-1, 坐标=(1484.37, 458.69) + 创建目标点: ID=1084, 区域=璃月9-2, 坐标=(1445.77, 577.83) + 创建目标点: ID=1085, 区域=璃月9-3-1, 坐标=(1561.48, 483.03) + 注意: 坐标 (1561.71, 483.58) 与已存在节点 '璃月9-3-1' 区域基本部分相同,视为同一节点 + 创建目标点: ID=1086, 区域=璃月9-4, 坐标=(1686.66, 567.55) + 创建目标点: ID=1087, 区域=稻妻1-1, 坐标=(-4309.58, -2288.5) + 创建目标点: ID=1088, 区域=稻妻1-2, 坐标=(-4401.19, -2226.96) + 创建目标点: ID=1089, 区域=稻妻1-3, 坐标=(-4509.57, -2332.11) + 创建目标点: ID=1090, 区域=稻妻1-4, 坐标=(-4549.96, -2399.98) + 创建目标点: ID=1091, 区域=稻妻2-1, 坐标=(-3007.64, -3515.28) + 创建目标点: ID=1092, 区域=稻妻2-2, 坐标=(-3153.03, -3485.5) + 创建目标点: ID=1093, 区域=稻妻2-3, 坐标=(-3328.99, -3561.28) + 创建目标点: ID=1094, 区域=稻妻2-4, 坐标=(-3429.72, -3419.55) + 创建目标点: ID=1095, 区域=稻妻2-5, 坐标=(-3340.38, -3237.16) + 创建目标点: ID=1096, 区域=稻妻3-1, 坐标=(-2270.07, -4068.21) + 创建目标点: ID=1097, 区域=稻妻3-2, 坐标=(-2280.61, -4171.18) + 创建目标点: ID=1098, 区域=稻妻3-3, 坐标=(-2169.62, -4076.36) + 创建目标点: ID=1099, 区域=稻妻3-4, 坐标=(-2211.44, -4033.62) + 创建目标点: ID=1100, 区域=稻妻4-1, 坐标=(-1120.06, -3962.66) + 创建目标点: ID=1101, 区域=稻妻4-2, 坐标=(-1190.51, -3902.08) + 创建目标点: ID=1102, 区域=稻妻4-3, 坐标=(-1254.7, -3839.91) + 创建目标点: ID=1103, 区域=稻妻4-4, 坐标=(-1322.41, -3815.69) + 创建目标点: ID=1104, 区域=稻妻5-1, 坐标=(-3908.27, -4290.55) + 创建目标点: ID=1105, 区域=稻妻5-2, 坐标=(-3850.61, -4241.9) + 创建目标点: ID=1106, 区域=稻妻5-3, 坐标=(-3763.54, -4259.14) + 创建目标点: ID=1107, 区域=稻妻5-4, 坐标=(-3703.34, -4343.16) + 创建目标点: ID=1108, 区域=稻妻5-5, 坐标=(-3671.61, -4414.03) + 创建目标点: ID=1109, 区域=纳塔1-1, 坐标=(7864.95, -1823.96) + 创建目标点: ID=1110, 区域=纳塔1-2, 坐标=(7945.72, -1744.08) + 创建目标点: ID=1111, 区域=纳塔1-3, 坐标=(7932.2, -1616.37) + 创建目标点: ID=1112, 区域=纳塔1-4, 坐标=(7853.72, -1554.26) + 创建目标点: ID=1113, 区域=纳塔10-1, 坐标=(8361.82, -2993.79) + 创建目标点: ID=1114, 区域=纳塔10-2, 坐标=(8496.07, -3018.4) + 创建目标点: ID=1115, 区域=纳塔10-3, 坐标=(8587.99, -3022.4) + 创建目标点: ID=1116, 区域=纳塔10-4, 坐标=(8879.8, -3059.26) + 创建目标点: ID=1117, 区域=纳塔2-1, 坐标=(8604.22, -1635.22) + 创建目标点: ID=1118, 区域=纳塔2-2, 坐标=(8657.57, -1501.26) + 创建目标点: ID=1119, 区域=纳塔2-3, 坐标=(8733.62, -1528.95) + 创建目标点: ID=1120, 区域=纳塔2-4, 坐标=(8588.9, -1373.62) + 创建目标点: ID=1121, 区域=纳塔3-1, 坐标=(8312.07, -2344.44) + 创建目标点: ID=1122, 区域=纳塔3-2, 坐标=(8429.86, -2328.47) + 创建目标点: ID=1123, 区域=纳塔3-3, 坐标=(8291.29, -2096.67) + 创建目标点: ID=1124, 区域=纳塔3-4, 坐标=(8088.21, -2053.56) + 创建目标点: ID=1125, 区域=纳塔4-1, 坐标=(9028.67, -2342.6) + 创建目标点: ID=1126, 区域=纳塔4-2, 坐标=(9090.71, -2407.11) + 创建目标点: ID=1127, 区域=纳塔5-1, 坐标=(9687.15, -2898.19) + 创建目标点: ID=1128, 区域=纳塔5-2, 坐标=(9754.7, -2904.43) + 创建目标点: ID=1129, 区域=纳塔5-3, 坐标=(9778.7, -2856.31) + 创建目标点: ID=1130, 区域=纳塔6-1, 坐标=(9231.08, -2154.74) + 创建目标点: ID=1131, 区域=纳塔6-2, 坐标=(9110.86, -2222.48) + 创建目标点: ID=1132, 区域=纳塔6-3, 坐标=(8945.55, -2138.43) + 创建目标点: ID=1133, 区域=纳塔6-4, 坐标=(8810.08, -2077.83) + 创建目标点: ID=1134, 区域=纳塔7-1, 坐标=(9999.51, -1570.23) + 创建目标点: ID=1135, 区域=纳塔7-2, 坐标=(9963.8, -1511.61) + 创建目标点: ID=1136, 区域=纳塔7-3, 坐标=(9907.78, -1424.0) + 创建目标点: ID=1137, 区域=纳塔8-1, 坐标=(9636.29, -1038.41) + 创建目标点: ID=1138, 区域=纳塔8-2, 坐标=(9517.92, -1029.8) + 创建目标点: ID=1139, 区域=纳塔8-3, 坐标=(9472.28, -771.8) + 创建目标点: ID=1140, 区域=纳塔9-1, 坐标=(9920.8, -1196.25) + 创建目标点: ID=1141, 区域=纳塔9-2, 坐标=(9888.22, -1046.55) + 创建目标点: ID=1142, 区域=纳塔9-3, 坐标=(9938.82, -933.87) + 创建目标点: ID=1143, 区域=纳塔9-4, 坐标=(9984.24, -876.43) + 创建目标点: ID=1144, 区域=蒙德1-1, 坐标=(-1298.03, 2172.37) + 创建目标点: ID=1145, 区域=蒙德1-2, 坐标=(-1223.18, 2032.04) + 创建目标点: ID=1146, 区域=蒙德1-3, 坐标=(-1113.87, 1971.9) + 创建目标点: ID=1147, 区域=蒙德1-4, 坐标=(-1041.91, 1927.07) + 创建目标点: ID=1148, 区域=蒙德1-5, 坐标=(-895.08, 1833.84) + 创建目标点: ID=1149, 区域=蒙德2-1, 坐标=(-717.83, 1802.77) + 创建目标点: ID=1150, 区域=蒙德2-2, 坐标=(-523.76, 1813.84) + 创建目标点: ID=1151, 区域=蒙德2-3, 坐标=(-420.36, 1998.11) + 创建目标点: ID=1152, 区域=蒙德2-4-1, 坐标=(-347.95, 1902.51) + 创建目标点: ID=1153, 区域=蒙德2-4-2, 坐标=(-319.46, 2156.93) + 注意: 坐标 (-319.46, 2156.93) 与已存在节点 '蒙德2-4-2' 区域基本部分相同,视为同一节点 + 注意: 坐标 (-319.57, 2156.48) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1154, 区域=蒙德2-5-1, 坐标=(-319.57, 2156.48) + 创建目标点: ID=1155, 区域=蒙德3-1, 坐标=(-281.79, 2310.78) + 创建目标点: ID=1156, 区域=蒙德3-2, 坐标=(-205.49, 2429.07) + 创建目标点: ID=1157, 区域=蒙德3-3, 坐标=(-327.03, 2410.43) + 创建目标点: ID=1158, 区域=蒙德3-4, 坐标=(-336.15, 2562.91) + 创建目标点: ID=1159, 区域=蒙德4-1, 坐标=(241.41, 2703.08) + 创建目标点: ID=1160, 区域=蒙德4-2, 坐标=(124.61, 2817.24) + 创建目标点: ID=1161, 区域=蒙德4-3, 坐标=(152.71, 2963.33) + 创建目标点: ID=1162, 区域=蒙德4-4, 坐标=(-27.99, 2919.59) + 创建目标点: ID=1163, 区域=蒙德5-1, 坐标=(-1453.46, 2282.88) + 创建目标点: ID=1164, 区域=蒙德5-2, 坐标=(-1367.78, 2411.31) + 创建目标点: ID=1165, 区域=蒙德5-3, 坐标=(-1474.91, 2520.0) + 创建目标点: ID=1166, 区域=蒙德5-4, 坐标=(-1394.83, 2569.65) + 创建目标点: ID=1167, 区域=蒙德5-5, 坐标=(-1316.21, 2734.67) + 创建目标点: ID=1168, 区域=蒙德6-1, 坐标=(-1512.81, 2774.26) + 创建目标点: ID=1169, 区域=蒙德6-2, 坐标=(-1518.71, 2877.4) + 创建目标点: ID=1170, 区域=蒙德6-3, 坐标=(-1603.95, 2865.65) + 创建目标点: ID=1171, 区域=蒙德6-4, 坐标=(-1710.73, 2983.29) + 创建目标点: ID=1172, 区域=蒙德7-1, 坐标=(-1660.63, 1392.87) + 创建目标点: ID=1173, 区域=蒙德7-2, 坐标=(-1517.07, 1513.97) + 创建目标点: ID=1174, 区域=蒙德7-3, 坐标=(-1331.96, 1560.15) + 创建目标点: ID=1175, 区域=蒙德7-4, 坐标=(-1318.63, 1692.63) + 创建目标点: ID=1176, 区域=蒙德7-5, 坐标=(-1138.22, 1789.79) + 注意: 坐标 (-895.08, 1833.84) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1177, 区域=蒙德7-6, 坐标=(-895.08, 1833.84) + 创建目标点: ID=1178, 区域=须弥1-1, 坐标=(2368.79, -92.11) + 创建目标点: ID=1179, 区域=须弥1-2, 坐标=(2317.29, -115.35) + 创建目标点: ID=1180, 区域=须弥1-3, 坐标=(2212.83, -83.02) + 创建目标点: ID=1181, 区域=须弥1-4, 坐标=(2233.8, -160.88) + 创建目标点: ID=1182, 区域=须弥1-5, 坐标=(2269.0, -251.14) + 创建目标点: ID=1183, 区域=须弥10-1, 坐标=(6501.08, 904.25) + 创建目标点: ID=1184, 区域=须弥10-2, 坐标=(6613.41, 784.42) + 创建目标点: ID=1185, 区域=须弥10-3, 坐标=(6692.66, 625.4) + 创建目标点: ID=1186, 区域=须弥10-4, 坐标=(6280.81, 616.8) + 创建目标点: ID=1187, 区域=须弥2-1, 坐标=(2910.46, -1818.57) + 创建目标点: ID=1188, 区域=须弥2-2, 坐标=(2980.38, -1758.57) + 创建目标点: ID=1189, 区域=须弥2-3, 坐标=(3013.06, -1700.54) + 创建目标点: ID=1190, 区域=须弥2-4, 坐标=(2981.92, -1641.54) + 创建目标点: ID=1191, 区域=须弥2-5, 坐标=(2963.07, -1586.92) + 创建目标点: ID=1192, 区域=须弥3-1, 坐标=(3195.78, -806.97) + 创建目标点: ID=1193, 区域=须弥3-2, 坐标=(3233.51, -740.65) + 创建目标点: ID=1194, 区域=须弥3-3, 坐标=(3324.5, -659.02) + 创建目标点: ID=1195, 区域=须弥3-4, 坐标=(3387.39, -664.21) + 创建目标点: ID=1196, 区域=须弥4-1, 坐标=(3381.91, -1231.97) + 创建目标点: ID=1197, 区域=须弥4-2, 坐标=(3355.82, -1318.18) + 创建目标点: ID=1198, 区域=须弥4-3, 坐标=(3466.17, -1318.08) + 创建目标点: ID=1199, 区域=须弥4-4, 坐标=(3504.37, -1500.13) + 创建目标点: ID=1200, 区域=须弥4-5, 坐标=(3721.99, -1507.71) + 创建目标点: ID=1201, 区域=须弥5-1, 坐标=(4345.77, -1793.67) + 创建目标点: ID=1202, 区域=须弥5-2, 坐标=(4257.86, -1903.31) + 创建目标点: ID=1203, 区域=须弥5-3, 坐标=(4144.29, -2014.19) + 注意: 坐标 (4144.18, -2014.48) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1204, 区域=须弥5-4, 坐标=(4144.18, -2014.48) + 创建目标点: ID=1205, 区域=须弥5-5, 坐标=(4211.01, -2165.65) + 创建目标点: ID=1206, 区域=须弥6-1, 坐标=(4552.75, -2945.07) + 创建目标点: ID=1207, 区域=须弥6-2, 坐标=(4696.5, -3055.9) + 创建目标点: ID=1208, 区域=须弥6-3, 坐标=(4886.54, -2940.45) + 创建目标点: ID=1209, 区域=须弥6-4, 坐标=(4756.03, -2742.32) + 创建目标点: ID=1210, 区域=须弥8-1, 坐标=(5758.76, -1154.57) + 创建目标点: ID=1211, 区域=须弥8-2, 坐标=(5887.09, -1120.65) + 创建目标点: ID=1212, 区域=须弥8-3, 坐标=(5902.11, -1008.25) + 创建目标点: ID=1213, 区域=须弥8-4, 坐标=(5928.09, -922.46) + 创建目标点: ID=1214, 区域=须弥9-1, 坐标=(4555.52, -569.96) + 创建目标点: ID=1215, 区域=须弥9-2, 坐标=(4573.81, -408.86) + 创建目标点: ID=1216, 区域=须弥9-3, 坐标=(4756.13, -221.43) + 创建目标点: ID=1217, 区域=须弥9-4, 坐标=(4862.07, -150.71) + +第三遍:创建边和索引... + 创建边: 1 -> 1000, 路径=assets/pathing/枫丹1-秋分山西侧-1.json + 创建边: 1 -> 1001, 路径=assets/pathing/枫丹1-秋分山西侧-2.json + 创建边: 2 -> 1002, 路径=assets/pathing/枫丹1-秋分山西侧-3.json + 创建边: 2 -> 1003, 路径=assets/pathing/枫丹1-秋分山西侧-4.json + 创建边: 2 -> 1004, 路径=assets/pathing/枫丹1-秋分山西侧-5.json + 创建边: 3 -> 1005, 路径=assets/pathing/枫丹2-芒索斯山东麓-1.json + 创建边: 3 -> 1006, 路径=assets/pathing/枫丹2-芒索斯山东麓-2.json + 创建边: 3 -> 1007, 路径=assets/pathing/枫丹2-芒索斯山东麓-3.json + 创建边: 3 -> 1008, 路径=assets/pathing/枫丹2-芒索斯山东麓-4.json + 创建边: 4 -> 1009, 路径=assets/pathing/枫丹3-新枫丹科学院-1.json + 创建边: 4 -> 1010, 路径=assets/pathing/枫丹3-新枫丹科学院-2.json + 创建边: 5 -> 1011, 路径=assets/pathing/枫丹3-新枫丹科学院-3.json + 创建边: 5 -> 1012, 路径=assets/pathing/枫丹3-新枫丹科学院-4.json + 创建边: 6 -> 1013, 路径=assets/pathing/枫丹4-柔灯港-1.json + 创建边: 7 -> 1014, 路径=assets/pathing/枫丹4-柔灯港-2.json + 创建边: 7 -> 1015, 路径=assets/pathing/枫丹4-柔灯港-3.json + 创建边: 7 -> 1016, 路径=assets/pathing/枫丹4-柔灯港-4.json + 创建边: 1 -> 1017, 路径=assets/pathing/枫丹5-秋分山东侧-1.json + 创建边: 1 -> 1018, 路径=assets/pathing/枫丹5-秋分山东侧-2.json + 创建边: 8 -> 1019, 路径=assets/pathing/枫丹5-秋分山东侧-3.json + 创建边: 8 -> 1020, 路径=assets/pathing/枫丹5-秋分山东侧-4.json + 创建边: 9 -> 1021, 路径=assets/pathing/枫丹6-厄里那斯-1.json + 创建边: 10 -> 1022, 路径=assets/pathing/枫丹6-厄里那斯-2.json + 创建边: 10 -> 1023, 路径=assets/pathing/枫丹6-厄里那斯-3.json + 创建边: 10 -> 1024, 路径=assets/pathing/枫丹6-厄里那斯-4.json + 创建边: 11 -> 1025, 路径=assets/pathing/枫丹6-厄里那斯-5.json + 创建边: 10 -> 1026, 路径=assets/pathing/枫丹6-厄里那斯-6.json + 创建边: 12 -> 1027, 路径=assets/pathing/璃月1-石门-1.json + 创建边: 13 -> 1028, 路径=assets/pathing/璃月1-石门-2.json + 创建边: 14 -> 1031, 路径=assets/pathing/璃月10-绝云间-1.json + 创建边: 15 -> 1032, 路径=assets/pathing/璃月10-绝云间-2.json + 创建边: 16 -> 1033, 路径=assets/pathing/璃月10-绝云间-3.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月10-绝云间-5.json + 创建边: 17 -> 1036, 路径=assets/pathing/璃月11-轻策庄-1.json + 创建边: 18 -> 1040, 路径=assets/pathing/璃月11-轻策庄-5.json + 创建边: 19 -> 1041, 路径=assets/pathing/璃月11-轻策庄-6.json + 创建边: 20 -> 1042, 路径=assets/pathing/璃月13-悬练山-1.json + 创建边: 20 -> 1043, 路径=assets/pathing/璃月13-悬练山-2.json + 创建边: 21 -> 1046, 路径=assets/pathing/璃月14-药蝶谷-1.json + 创建边: 22 -> 1050, 路径=assets/pathing/璃月2-地中之盐-1.json + 创建边: 22 -> 1051, 路径=assets/pathing/璃月2-地中之盐-2.json + 创建边: 23 -> 1052, 路径=assets/pathing/璃月2-地中之盐-3.json + 创建边: 24 -> 1053, 路径=assets/pathing/璃月2-地中之盐-4.json + 创建边: 24 -> 1054, 路径=assets/pathing/璃月3-瑶光滩-1.json + 创建边: 24 -> 1055, 路径=assets/pathing/璃月3-瑶光滩-2.json + 创建边: 16 -> 1056, 路径=assets/pathing/璃月3-瑶光滩-3.json + 创建边: 16 -> 1057, 路径=assets/pathing/璃月3-瑶光滩-4.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月3-瑶光滩-5.json + 创建边: 25 -> 1059, 路径=assets/pathing/璃月4-璃月港-1.json + 创建边: 26 -> 1063, 路径=assets/pathing/璃月4-璃月港-5.json + 创建边: 16 -> 1057, 路径=assets/pathing/璃月4-璃月港-6.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月4-璃月港-7.json + 创建边: 27 -> 1066, 路径=assets/pathing/璃月5-天衡山-1.json + 创建边: 27 -> 1067, 路径=assets/pathing/璃月5-天衡山-2.json + 创建边: 28 -> 1069, 路径=assets/pathing/璃月5-天衡山-4-1.json + 创建边: 28 -> 1070, 路径=assets/pathing/璃月7-遁玉陵-1.json + 创建边: 29 -> 1071, 路径=assets/pathing/璃月7-遁玉陵-2.json + 创建边: 30 -> 1073, 路径=assets/pathing/璃月7-遁玉陵-4.json + 创建边: 31 -> 1034, 路径=assets/pathing/璃月7-遁玉陵-5.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月7-遁玉陵-6.json + 创建边: 32 -> 1076, 路径=assets/pathing/璃月8-南天门南-1.json + 创建边: 33 -> 1077, 路径=assets/pathing/璃月8-南天门南-2.json + 创建边: 33 -> 1078, 路径=assets/pathing/璃月8-南天门南-3.json + 创建边: 33 -> 1079, 路径=assets/pathing/璃月8-南天门南-4.json + 创建边: 30 -> 1073, 路径=assets/pathing/璃月8-南天门南-5.json + 创建边: 14 -> 1034, 路径=assets/pathing/璃月8-南天门南-6.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月8-南天门南-7.json + 创建边: 34 -> 1083, 路径=assets/pathing/璃月9-南天门东-1.json + 创建边: 34 -> 1085, 路径=assets/pathing/璃月9-南天门东-3-1.json + 创建边: 34 -> 1085, 路径=assets/pathing/璃月9-南天门东-3-2.json + 创建边: 32 -> 1086, 路径=assets/pathing/璃月9-南天门东-4.json + 创建边: 35 -> 1087, 路径=assets/pathing/稻妻1-鸣神岛-1.json + 创建边: 35 -> 1088, 路径=assets/pathing/稻妻1-鸣神岛-2.json + 创建边: 36 -> 1089, 路径=assets/pathing/稻妻1-鸣神岛-3.json + 创建边: 36 -> 1090, 路径=assets/pathing/稻妻1-鸣神岛-4.json + 创建边: 37 -> 1091, 路径=assets/pathing/稻妻2-踏鞴砂-1.json + 创建边: 38 -> 1092, 路径=assets/pathing/稻妻2-踏鞴砂-2.json + 创建边: 39 -> 1093, 路径=assets/pathing/稻妻2-踏鞴砂-3.json + 创建边: 40 -> 1094, 路径=assets/pathing/稻妻2-踏鞴砂-4.json + 创建边: 40 -> 1095, 路径=assets/pathing/稻妻2-踏鞴砂-5.json + 创建边: 41 -> 1096, 路径=assets/pathing/稻妻3-八酝岛-1.json + 创建边: 41 -> 1098, 路径=assets/pathing/稻妻3-八酝岛-3.json + 创建边: 41 -> 1099, 路径=assets/pathing/稻妻3-八酝岛-4.json + 创建边: 42 -> 1100, 路径=assets/pathing/稻妻4-海祇岛-1.json + 创建边: 43 -> 1103, 路径=assets/pathing/稻妻4-海祇岛-4.json + 创建边: 44 -> 1104, 路径=assets/pathing/稻妻5-清籁岛-1.json + 创建边: 45 -> 1107, 路径=assets/pathing/稻妻5-清籁岛-4.json + 创建边: 46 -> 1109, 路径=assets/pathing/纳塔1-隆崛坡-1.json + 创建边: 47 -> 1110, 路径=assets/pathing/纳塔1-隆崛坡-2.json + 创建边: 47 -> 1111, 路径=assets/pathing/纳塔1-隆崛坡-3.json + 创建边: 48 -> 1113, 路径=assets/pathing/纳塔10-溶水域-1.json + 创建边: 49 -> 1116, 路径=assets/pathing/纳塔10-溶水域-4.json + 创建边: 50 -> 1117, 路径=assets/pathing/纳塔2-硫晶支脉-1.json + 创建边: 50 -> 1118, 路径=assets/pathing/纳塔2-硫晶支脉-2.json + 创建边: 50 -> 1119, 路径=assets/pathing/纳塔2-硫晶支脉-3.json + 创建边: 51 -> 1120, 路径=assets/pathing/纳塔2-硫晶支脉-4.json + 创建边: 52 -> 1121, 路径=assets/pathing/纳塔3-彩石顶-1.json + 创建边: 53 -> 1122, 路径=assets/pathing/纳塔3-彩石顶-2.json + 创建边: 53 -> 1123, 路径=assets/pathing/纳塔3-彩石顶-3.json + 创建边: 54 -> 1125, 路径=assets/pathing/纳塔4-溶水域-1.json + 创建边: 55 -> 1127, 路径=assets/pathing/纳塔5-安饶之野-1.json + 创建边: 55 -> 1128, 路径=assets/pathing/纳塔5-安饶之野-2.json + 创建边: 55 -> 1129, 路径=assets/pathing/纳塔5-安饶之野-3.json + 创建边: 56 -> 1130, 路径=assets/pathing/纳塔6-圣火竞技场-1.json + 创建边: 56 -> 1131, 路径=assets/pathing/纳塔6-圣火竞技场-2.json + 创建边: 57 -> 1134, 路径=assets/pathing/纳塔7-烟谜主-1.json + 创建边: 58 -> 1137, 路径=assets/pathing/纳塔8-花羽会-1.json + 创建边: 58 -> 1138, 路径=assets/pathing/纳塔8-花羽会-2.json + 创建边: 59 -> 1139, 路径=assets/pathing/纳塔8-花羽会-3.json + 创建边: 60 -> 1140, 路径=assets/pathing/纳塔9-翘枝崖-1.json + 创建边: 61 -> 1144, 路径=assets/pathing/蒙德1-风起地-1.json + 创建边: 62 -> 1145, 路径=assets/pathing/蒙德1-风起地-2.json + 创建边: 63 -> 1177, 路径=assets/pathing/蒙德1-风起地-5.json + 创建边: 64 -> 1149, 路径=assets/pathing/蒙德2-清泉镇-1.json + 创建边: 65 -> 1150, 路径=assets/pathing/蒙德2-清泉镇-2.json + 创建边: 66 -> 1153, 路径=assets/pathing/蒙德2-清泉镇-5-1.json + 创建边: 67 -> 1155, 路径=assets/pathing/蒙德3-奔狼领-1.json + 创建边: 68 -> 1158, 路径=assets/pathing/蒙德3-奔狼领-4.json + 创建边: 69 -> 1159, 路径=assets/pathing/蒙德4-风龙废墟-1.json + 创建边: 70 -> 1161, 路径=assets/pathing/蒙德4-风龙废墟-3.json + 创建边: 71 -> 1163, 路径=assets/pathing/蒙德5-千风神殿-1.json + 创建边: 72 -> 1166, 路径=assets/pathing/蒙德5-千风神殿-4.json + 创建边: 73 -> 1167, 路径=assets/pathing/蒙德5-千风神殿-5.json + 创建边: 73 -> 1168, 路径=assets/pathing/蒙德6-望风山地-1.json + 创建边: 74 -> 1170, 路径=assets/pathing/蒙德6-望风山地-3.json + 创建边: 75 -> 1172, 路径=assets/pathing/蒙德7-达达乌帕谷-1.json + 创建边: 76 -> 1173, 路径=assets/pathing/蒙德7-达达乌帕谷-2.json + 创建边: 76 -> 1174, 路径=assets/pathing/蒙德7-达达乌帕谷-3.json + 创建边: 63 -> 1177, 路径=assets/pathing/蒙德7-达达乌帕谷-6.json + 创建边: 77 -> 1178, 路径=assets/pathing/须弥1-无郁稠林-1.json + 创建边: 78 -> 1183, 路径=assets/pathing/须弥10-荼泥黑渊-1.json + 创建边: 78 -> 1184, 路径=assets/pathing/须弥10-荼泥黑渊-2.json + 创建边: 78 -> 1185, 路径=assets/pathing/须弥10-荼泥黑渊-3.json + 创建边: 79 -> 1186, 路径=assets/pathing/须弥10-荼泥黑渊-4.json + 创建边: 80 -> 1187, 路径=assets/pathing/须弥2-奥摩斯港西-1.json + 创建边: 81 -> 1189, 路径=assets/pathing/须弥2-奥摩斯港西-3.json + 创建边: 82 -> 1192, 路径=assets/pathing/须弥3-禅那园-1.json + 创建边: 83 -> 1194, 路径=assets/pathing/须弥3-禅那园-3.json + 创建边: 84 -> 1196, 路径=assets/pathing/须弥4-水天丛林-1.json + 创建边: 85 -> 1199, 路径=assets/pathing/须弥4-水天丛林-4.json + 创建边: 86 -> 1200, 路径=assets/pathing/须弥4-水天丛林-5.json + 创建边: 87 -> 1201, 路径=assets/pathing/须弥5-阿如村-1.json + 创建边: 88 -> 1206, 路径=assets/pathing/须弥6-荼诃落谷-1.json + 创建边: 89 -> 1207, 路径=assets/pathing/须弥6-荼诃落谷-2.json + 创建边: 90 -> 1209, 路径=assets/pathing/须弥6-荼诃落谷-4.json + 创建边: 91 -> 1210, 路径=assets/pathing/须弥8-折胫谷-1.json + 创建边: 92 -> 1214, 路径=assets/pathing/须弥9-镔铁沙丘-1.json + +检查目标点的连通性... + 警告: 目标点 ID=1029, 区域=璃月1-3, 坐标=(-81.76, 1534.73) 没有入边 + 警告: 目标点 ID=1030, 区域=璃月1-4, 坐标=(-28.76, 1417.37) 没有入边 + 警告: 目标点 ID=1035, 区域=璃月10-5, 坐标=(455.4, 546.56) 没有入边 + 警告: 目标点 ID=1037, 区域=璃月11-2, 坐标=(697.31, 1551.84) 没有入边 + 警告: 目标点 ID=1038, 区域=璃月11-3, 坐标=(646.5, 1421.98) 没有入边 + 警告: 目标点 ID=1039, 区域=璃月11-4, 坐标=(632.03, 1331.15) 没有入边 + 警告: 目标点 ID=1044, 区域=璃月13-3, 坐标=(2226.91, 863.09) 没有入边 + 警告: 目标点 ID=1045, 区域=璃月13-4, 坐标=(2028.69, 830.67) 没有入边 + 警告: 目标点 ID=1047, 区域=璃月14-2, 坐标=(1581.57, 1437.1) 没有入边 + 警告: 目标点 ID=1048, 区域=璃月14-3, 坐标=(1563.45, 1487.35) 没有入边 + 警告: 目标点 ID=1049, 区域=璃月14-4, 坐标=(1525.0, 1549.17) 没有入边 + 警告: 目标点 ID=1058, 区域=璃月3-5, 坐标=(456.0, 546.29) 没有入边 + 警告: 目标点 ID=1060, 区域=璃月4-2, 坐标=(101.14, -2.97) 没有入边 + 警告: 目标点 ID=1061, 区域=璃月4-3, 坐标=(127.05, 113.87) 没有入边 + 警告: 目标点 ID=1062, 区域=璃月4-4, 坐标=(146.03, 220.07) 没有入边 + 警告: 目标点 ID=1064, 区域=璃月4-6, 坐标=(276.55, 543.11) 没有入边 + 警告: 目标点 ID=1065, 区域=璃月4-7, 坐标=(456.44, 546.35) 没有入边 + 警告: 目标点 ID=1068, 区域=璃月5-3, 坐标=(1063.54, -727.34) 没有入边 + 警告: 目标点 ID=1072, 区域=璃月7-3, 坐标=(752.42, 3.88) 没有入边 + 警告: 目标点 ID=1074, 区域=璃月7-5, 坐标=(681.46, 528.76) 没有入边 + 警告: 目标点 ID=1080, 区域=璃月8-5, 坐标=(815.31, 137.31) 没有入边 + 警告: 目标点 ID=1081, 区域=璃月8-6, 坐标=(683.33, 529.05) 没有入边 + 警告: 目标点 ID=1082, 区域=璃月8-7, 坐标=(455.84, 546.39) 没有入边 + 警告: 目标点 ID=1084, 区域=璃月9-2, 坐标=(1445.77, 577.83) 没有入边 + 警告: 目标点 ID=1097, 区域=稻妻3-2, 坐标=(-2280.61, -4171.18) 没有入边 + 警告: 目标点 ID=1101, 区域=稻妻4-2, 坐标=(-1190.51, -3902.08) 没有入边 + 警告: 目标点 ID=1102, 区域=稻妻4-3, 坐标=(-1254.7, -3839.91) 没有入边 + 警告: 目标点 ID=1105, 区域=稻妻5-2, 坐标=(-3850.61, -4241.9) 没有入边 + 警告: 目标点 ID=1106, 区域=稻妻5-3, 坐标=(-3763.54, -4259.14) 没有入边 + 警告: 目标点 ID=1108, 区域=稻妻5-5, 坐标=(-3671.61, -4414.03) 没有入边 + 警告: 目标点 ID=1112, 区域=纳塔1-4, 坐标=(7853.72, -1554.26) 没有入边 + 警告: 目标点 ID=1114, 区域=纳塔10-2, 坐标=(8496.07, -3018.4) 没有入边 + 警告: 目标点 ID=1115, 区域=纳塔10-3, 坐标=(8587.99, -3022.4) 没有入边 + 警告: 目标点 ID=1124, 区域=纳塔3-4, 坐标=(8088.21, -2053.56) 没有入边 + 警告: 目标点 ID=1126, 区域=纳塔4-2, 坐标=(9090.71, -2407.11) 没有入边 + 警告: 目标点 ID=1132, 区域=纳塔6-3, 坐标=(8945.55, -2138.43) 没有入边 + 警告: 目标点 ID=1133, 区域=纳塔6-4, 坐标=(8810.08, -2077.83) 没有入边 + 警告: 目标点 ID=1135, 区域=纳塔7-2, 坐标=(9963.8, -1511.61) 没有入边 + 警告: 目标点 ID=1136, 区域=纳塔7-3, 坐标=(9907.78, -1424.0) 没有入边 + 警告: 目标点 ID=1141, 区域=纳塔9-2, 坐标=(9888.22, -1046.55) 没有入边 + 警告: 目标点 ID=1142, 区域=纳塔9-3, 坐标=(9938.82, -933.87) 没有入边 + 警告: 目标点 ID=1143, 区域=纳塔9-4, 坐标=(9984.24, -876.43) 没有入边 + 警告: 目标点 ID=1146, 区域=蒙德1-3, 坐标=(-1113.87, 1971.9) 没有入边 + 警告: 目标点 ID=1147, 区域=蒙德1-4, 坐标=(-1041.91, 1927.07) 没有入边 + 警告: 目标点 ID=1148, 区域=蒙德1-5, 坐标=(-895.08, 1833.84) 没有入边 + 警告: 目标点 ID=1151, 区域=蒙德2-3, 坐标=(-420.36, 1998.11) 没有入边 + 警告: 目标点 ID=1152, 区域=蒙德2-4-1, 坐标=(-347.95, 1902.51) 没有入边 + 警告: 目标点 ID=1154, 区域=蒙德2-5-1, 坐标=(-319.57, 2156.48) 没有入边 + 警告: 目标点 ID=1156, 区域=蒙德3-2, 坐标=(-205.49, 2429.07) 没有入边 + 警告: 目标点 ID=1157, 区域=蒙德3-3, 坐标=(-327.03, 2410.43) 没有入边 + 警告: 目标点 ID=1160, 区域=蒙德4-2, 坐标=(124.61, 2817.24) 没有入边 + 警告: 目标点 ID=1162, 区域=蒙德4-4, 坐标=(-27.99, 2919.59) 没有入边 + 警告: 目标点 ID=1164, 区域=蒙德5-2, 坐标=(-1367.78, 2411.31) 没有入边 + 警告: 目标点 ID=1165, 区域=蒙德5-3, 坐标=(-1474.91, 2520.0) 没有入边 + 警告: 目标点 ID=1169, 区域=蒙德6-2, 坐标=(-1518.71, 2877.4) 没有入边 + 警告: 目标点 ID=1171, 区域=蒙德6-4, 坐标=(-1710.73, 2983.29) 没有入边 + 警告: 目标点 ID=1175, 区域=蒙德7-4, 坐标=(-1318.63, 1692.63) 没有入边 + 警告: 目标点 ID=1176, 区域=蒙德7-5, 坐标=(-1138.22, 1789.79) 没有入边 + 警告: 目标点 ID=1179, 区域=须弥1-2, 坐标=(2317.29, -115.35) 没有入边 + 警告: 目标点 ID=1180, 区域=须弥1-3, 坐标=(2212.83, -83.02) 没有入边 + 警告: 目标点 ID=1181, 区域=须弥1-4, 坐标=(2233.8, -160.88) 没有入边 + 警告: 目标点 ID=1182, 区域=须弥1-5, 坐标=(2269.0, -251.14) 没有入边 + 警告: 目标点 ID=1188, 区域=须弥2-2, 坐标=(2980.38, -1758.57) 没有入边 + 警告: 目标点 ID=1190, 区域=须弥2-4, 坐标=(2981.92, -1641.54) 没有入边 + 警告: 目标点 ID=1191, 区域=须弥2-5, 坐标=(2963.07, -1586.92) 没有入边 + 警告: 目标点 ID=1193, 区域=须弥3-2, 坐标=(3233.51, -740.65) 没有入边 + 警告: 目标点 ID=1195, 区域=须弥3-4, 坐标=(3387.39, -664.21) 没有入边 + 警告: 目标点 ID=1197, 区域=须弥4-2, 坐标=(3355.82, -1318.18) 没有入边 + 警告: 目标点 ID=1198, 区域=须弥4-3, 坐标=(3466.17, -1318.08) 没有入边 + 警告: 目标点 ID=1202, 区域=须弥5-2, 坐标=(4257.86, -1903.31) 没有入边 + 警告: 目标点 ID=1203, 区域=须弥5-3, 坐标=(4144.29, -2014.19) 没有入边 + 警告: 目标点 ID=1204, 区域=须弥5-4, 坐标=(4144.18, -2014.48) 没有入边 + 警告: 目标点 ID=1205, 区域=须弥5-5, 坐标=(4211.01, -2165.65) 没有入边 + 警告: 目标点 ID=1208, 区域=须弥6-3, 坐标=(4886.54, -2940.45) 没有入边 + 警告: 目标点 ID=1211, 区域=须弥8-2, 坐标=(5887.09, -1120.65) 没有入边 + 警告: 目标点 ID=1212, 区域=须弥8-3, 坐标=(5902.11, -1008.25) 没有入边 + 警告: 目标点 ID=1213, 区域=须弥8-4, 坐标=(5928.09, -922.46) 没有入边 + 警告: 目标点 ID=1215, 区域=须弥9-2, 坐标=(4573.81, -408.86) 没有入边 + 警告: 目标点 ID=1216, 区域=须弥9-3, 坐标=(4756.13, -221.43) 没有入边 + 警告: 目标点 ID=1217, 区域=须弥9-4, 坐标=(4862.07, -150.71) 没有入边 + +尝试为 80 个孤立目标点寻找连续路径... + +处理区域 璃月1-3 的 1 个孤立目标点... + 区域 璃月1-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月1-4 的 1 个孤立目标点... + 区域 璃月1-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月10-5 的 1 个孤立目标点... + 区域 璃月10-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月11-2 的 1 个孤立目标点... + 区域 璃月11-2 没有现有路径,无法连接孤立目标点 + +处理区域 璃月11-3 的 1 个孤立目标点... + 区域 璃月11-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月11-4 的 1 个孤立目标点... + 区域 璃月11-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月13-3 的 1 个孤立目标点... + 区域 璃月13-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月13-4 的 1 个孤立目标点... + 区域 璃月13-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月14-2 的 1 个孤立目标点... + 区域 璃月14-2 没有现有路径,无法连接孤立目标点 + +处理区域 璃月14-3 的 1 个孤立目标点... + 区域 璃月14-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月14-4 的 1 个孤立目标点... + 区域 璃月14-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月3-5 的 1 个孤立目标点... + 区域 璃月3-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-2 的 1 个孤立目标点... + 区域 璃月4-2 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-3 的 1 个孤立目标点... + 区域 璃月4-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-4 的 1 个孤立目标点... + 区域 璃月4-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-6 的 1 个孤立目标点... + 区域 璃月4-6 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-7 的 1 个孤立目标点... + 区域 璃月4-7 没有现有路径,无法连接孤立目标点 + +处理区域 璃月5-3 的 1 个孤立目标点... + 区域 璃月5-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月7-3 的 1 个孤立目标点... + 区域 璃月7-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月7-5 的 1 个孤立目标点... + 区域 璃月7-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月8-5 的 1 个孤立目标点... + 区域 璃月8-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月8-6 的 1 个孤立目标点... + 区域 璃月8-6 没有现有路径,无法连接孤立目标点 + +处理区域 璃月8-7 的 1 个孤立目标点... + 区域 璃月8-7 没有现有路径,无法连接孤立目标点 + +处理区域 璃月9-2 的 1 个孤立目标点... + 区域 璃月9-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻3-2 的 1 个孤立目标点... + 区域 稻妻3-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻4-2 的 1 个孤立目标点... + 区域 稻妻4-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻4-3 的 1 个孤立目标点... + 区域 稻妻4-3 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻5-2 的 1 个孤立目标点... + 区域 稻妻5-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻5-3 的 1 个孤立目标点... + 区域 稻妻5-3 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻5-5 的 1 个孤立目标点... + 区域 稻妻5-5 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔1-4 的 1 个孤立目标点... + 区域 纳塔1-4 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔10-2 的 1 个孤立目标点... + 区域 纳塔10-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔10-3 的 1 个孤立目标点... + 区域 纳塔10-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔3-4 的 1 个孤立目标点... + 区域 纳塔3-4 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔4-2 的 1 个孤立目标点... + 区域 纳塔4-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔6-3 的 1 个孤立目标点... + 区域 纳塔6-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔6-4 的 1 个孤立目标点... + 区域 纳塔6-4 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔7-2 的 1 个孤立目标点... + 区域 纳塔7-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔7-3 的 1 个孤立目标点... + 区域 纳塔7-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔9-2 的 1 个孤立目标点... + 区域 纳塔9-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔9-3 的 1 个孤立目标点... + 区域 纳塔9-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔9-4 的 1 个孤立目标点... + 区域 纳塔9-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德1-3 的 1 个孤立目标点... + 区域 蒙德1-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德1-4 的 1 个孤立目标点... + 区域 蒙德1-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德1-5 的 1 个孤立目标点... + 区域 蒙德1-5 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德2-3 的 1 个孤立目标点... + 区域 蒙德2-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德2-4-1 的 1 个孤立目标点... + 区域 蒙德2-4-1 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德2-5-1 的 1 个孤立目标点... + 区域 蒙德2-5-1 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德3-2 的 1 个孤立目标点... + 区域 蒙德3-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德3-3 的 1 个孤立目标点... + 区域 蒙德3-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德4-2 的 1 个孤立目标点... + 区域 蒙德4-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德4-4 的 1 个孤立目标点... + 区域 蒙德4-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德5-2 的 1 个孤立目标点... + 区域 蒙德5-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德5-3 的 1 个孤立目标点... + 区域 蒙德5-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德6-2 的 1 个孤立目标点... + 区域 蒙德6-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德6-4 的 1 个孤立目标点... + 区域 蒙德6-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德7-4 的 1 个孤立目标点... + 区域 蒙德7-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德7-5 的 1 个孤立目标点... + 区域 蒙德7-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-2 的 1 个孤立目标点... + 区域 须弥1-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-3 的 1 个孤立目标点... + 区域 须弥1-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-4 的 1 个孤立目标点... + 区域 须弥1-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-5 的 1 个孤立目标点... + 区域 须弥1-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥2-2 的 1 个孤立目标点... + 区域 须弥2-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥2-4 的 1 个孤立目标点... + 区域 须弥2-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥2-5 的 1 个孤立目标点... + 区域 须弥2-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥3-2 的 1 个孤立目标点... + 区域 须弥3-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥3-4 的 1 个孤立目标点... + 区域 须弥3-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥4-2 的 1 个孤立目标点... + 区域 须弥4-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥4-3 的 1 个孤立目标点... + 区域 须弥4-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-2 的 1 个孤立目标点... + 区域 须弥5-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-3 的 1 个孤立目标点... + 区域 须弥5-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-4 的 1 个孤立目标点... + 区域 须弥5-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-5 的 1 个孤立目标点... + 区域 须弥5-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥6-3 的 1 个孤立目标点... + 区域 须弥6-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥8-2 的 1 个孤立目标点... + 区域 须弥8-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥8-3 的 1 个孤立目标点... + 区域 须弥8-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥8-4 的 1 个孤立目标点... + 区域 须弥8-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥9-2 的 1 个孤立目标点... + 区域 须弥9-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥9-3 的 1 个孤立目标点... + 区域 须弥9-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥9-4 的 1 个孤立目标点... + 区域 须弥9-4 没有现有路径,无法连接孤立目标点 + +按区域对节点进行排序... + +删除边数据中的位置信息... + +按照目标节点(target)的顺序排列边... + +创建节点到节点的顺序边... + +处理区域: 蒙德1 + 主路线: 蒙德1-1 (路线1) + 主路线: 蒙德1-2 (路线2) + 主路线: 蒙德1-3 (路线3) + 主路线: 蒙德1-4 (路线4) + 主路线: 蒙德1-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 蒙德1-1 → 蒙德1-2 + 主路线连接: 蒙德1-2 → 蒙德1-3 + 主路线连接: 蒙德1-3 → 蒙德1-4 + 主路线连接: 蒙德1-4 → 蒙德1-5 + +处理区域: 蒙德2 + 主路线: 蒙德2-1 (路线1) + 主路线: 蒙德2-2 (路线2) + 主路线: 蒙德2-3 (路线3) + 分支路线: 蒙德2-4-1 (路线4, 分支1) + 分支路线: 蒙德2-4-2 (路线4, 分支2) + 分支路线: 蒙德2-5-1 (路线5, 分支1) + 找到 3 个主路线,2 个分支组 + 主路线到分支: 蒙德2-3 → 蒙德2-4-1 + 主路线到分支: 蒙德2-3 → 蒙德2-5-1 + 分支内部连接: 蒙德2-4-1 → 蒙德2-4-2 + 分支到分支: 蒙德2-4-2 → 蒙德2-5-1 + 主路线连接: 蒙德2-1 → 蒙德2-2 + 主路线连接: 蒙德2-2 → 蒙德2-3 + +处理区域: 蒙德3 + 主路线: 蒙德3-1 (路线1) + 主路线: 蒙德3-2 (路线2) + 主路线: 蒙德3-3 (路线3) + 主路线: 蒙德3-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 蒙德3-1 → 蒙德3-2 + 主路线连接: 蒙德3-2 → 蒙德3-3 + 主路线连接: 蒙德3-3 → 蒙德3-4 + +处理区域: 蒙德4 + 主路线: 蒙德4-1 (路线1) + 主路线: 蒙德4-2 (路线2) + 主路线: 蒙德4-3 (路线3) + 主路线: 蒙德4-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 蒙德4-1 → 蒙德4-2 + 主路线连接: 蒙德4-2 → 蒙德4-3 + 主路线连接: 蒙德4-3 → 蒙德4-4 + +处理区域: 蒙德5 + 主路线: 蒙德5-1 (路线1) + 主路线: 蒙德5-2 (路线2) + 主路线: 蒙德5-3 (路线3) + 主路线: 蒙德5-4 (路线4) + 主路线: 蒙德5-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 蒙德5-1 → 蒙德5-2 + 主路线连接: 蒙德5-2 → 蒙德5-3 + 主路线连接: 蒙德5-3 → 蒙德5-4 + 主路线连接: 蒙德5-4 → 蒙德5-5 + +处理区域: 蒙德6 + 主路线: 蒙德6-1 (路线1) + 主路线: 蒙德6-2 (路线2) + 主路线: 蒙德6-3 (路线3) + 主路线: 蒙德6-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 蒙德6-1 → 蒙德6-2 + 主路线连接: 蒙德6-2 → 蒙德6-3 + 主路线连接: 蒙德6-3 → 蒙德6-4 + +处理区域: 蒙德7 + 主路线: 蒙德7-1 (路线1) + 主路线: 蒙德7-2 (路线2) + 主路线: 蒙德7-3 (路线3) + 主路线: 蒙德7-4 (路线4) + 主路线: 蒙德7-5 (路线5) + 主路线: 蒙德7-6 (路线6) + 找到 6 个主路线,0 个分支组 + 主路线连接: 蒙德7-1 → 蒙德7-2 + 主路线连接: 蒙德7-2 → 蒙德7-3 + 主路线连接: 蒙德7-3 → 蒙德7-4 + 主路线连接: 蒙德7-4 → 蒙德7-5 + 主路线连接: 蒙德7-5 → 蒙德7-6 + +处理区域: 璃月1 + 主路线: 璃月1-1 (路线1) + 主路线: 璃月1-2 (路线2) + 主路线: 璃月1-3 (路线3) + 主路线: 璃月1-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 璃月1-1 → 璃月1-2 + 主路线连接: 璃月1-2 → 璃月1-3 + 主路线连接: 璃月1-3 → 璃月1-4 + +处理区域: 璃月10 + 主路线: 璃月10-1 (路线1) + 主路线: 璃月10-2 (路线2) + 主路线: 璃月10-3 (路线3) + 主路线: 璃月10-4 (路线4) + 主路线: 璃月10-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 璃月10-1 → 璃月10-2 + 主路线连接: 璃月10-2 → 璃月10-3 + 主路线连接: 璃月10-3 → 璃月10-4 + 主路线连接: 璃月10-4 → 璃月10-5 + +处理区域: 璃月11 + 主路线: 璃月11-1 (路线1) + 主路线: 璃月11-2 (路线2) + 主路线: 璃月11-3 (路线3) + 主路线: 璃月11-4 (路线4) + 主路线: 璃月11-5 (路线5) + 主路线: 璃月11-6 (路线6) + 找到 6 个主路线,0 个分支组 + 主路线连接: 璃月11-1 → 璃月11-2 + 主路线连接: 璃月11-2 → 璃月11-3 + 主路线连接: 璃月11-3 → 璃月11-4 + 主路线连接: 璃月11-4 → 璃月11-5 + 主路线连接: 璃月11-5 → 璃月11-6 + +处理区域: 璃月13 + 主路线: 璃月13-1 (路线1) + 主路线: 璃月13-2 (路线2) + 主路线: 璃月13-3 (路线3) + 主路线: 璃月13-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 璃月13-1 → 璃月13-2 + 主路线连接: 璃月13-2 → 璃月13-3 + 主路线连接: 璃月13-3 → 璃月13-4 + +处理区域: 璃月14 + 主路线: 璃月14-1 (路线1) + 主路线: 璃月14-2 (路线2) + 主路线: 璃月14-3 (路线3) + 主路线: 璃月14-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 璃月14-1 → 璃月14-2 + 主路线连接: 璃月14-2 → 璃月14-3 + 主路线连接: 璃月14-3 → 璃月14-4 + +处理区域: 璃月2 + 主路线: 璃月2-1 (路线1) + 主路线: 璃月2-2 (路线2) + 主路线: 璃月2-3 (路线3) + 主路线: 璃月2-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 璃月2-1 → 璃月2-2 + 主路线连接: 璃月2-2 → 璃月2-3 + 主路线连接: 璃月2-3 → 璃月2-4 + +处理区域: 璃月3 + 主路线: 璃月3-1 (路线1) + 主路线: 璃月3-2 (路线2) + 主路线: 璃月3-3 (路线3) + 主路线: 璃月3-4 (路线4) + 主路线: 璃月3-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 璃月3-1 → 璃月3-2 + 主路线连接: 璃月3-2 → 璃月3-3 + 主路线连接: 璃月3-3 → 璃月3-4 + 主路线连接: 璃月3-4 → 璃月3-5 + +处理区域: 璃月4 + 主路线: 璃月4-1 (路线1) + 主路线: 璃月4-2 (路线2) + 主路线: 璃月4-3 (路线3) + 主路线: 璃月4-4 (路线4) + 主路线: 璃月4-5 (路线5) + 主路线: 璃月4-6 (路线6) + 主路线: 璃月4-7 (路线7) + 找到 7 个主路线,0 个分支组 + 主路线连接: 璃月4-1 → 璃月4-2 + 主路线连接: 璃月4-2 → 璃月4-3 + 主路线连接: 璃月4-3 → 璃月4-4 + 主路线连接: 璃月4-4 → 璃月4-5 + 主路线连接: 璃月4-5 → 璃月4-6 + 主路线连接: 璃月4-6 → 璃月4-7 + +处理区域: 璃月5 + 主路线: 璃月5-1 (路线1) + 主路线: 璃月5-2 (路线2) + 主路线: 璃月5-3 (路线3) + 分支路线: 璃月5-4-1 (路线4, 分支1) + 找到 3 个主路线,1 个分支组 + 主路线到分支: 璃月5-3 → 璃月5-4-1 + 主路线连接: 璃月5-1 → 璃月5-2 + 主路线连接: 璃月5-2 → 璃月5-3 + +处理区域: 璃月7 + 主路线: 璃月7-1 (路线1) + 主路线: 璃月7-2 (路线2) + 主路线: 璃月7-3 (路线3) + 主路线: 璃月7-4 (路线4) + 主路线: 璃月7-5 (路线5) + 主路线: 璃月7-6 (路线6) + 找到 6 个主路线,0 个分支组 + 主路线连接: 璃月7-1 → 璃月7-2 + 主路线连接: 璃月7-2 → 璃月7-3 + 主路线连接: 璃月7-3 → 璃月7-4 + 主路线连接: 璃月7-4 → 璃月7-5 + 主路线连接: 璃月7-5 → 璃月7-6 + +处理区域: 璃月8 + 主路线: 璃月8-1 (路线1) + 主路线: 璃月8-2 (路线2) + 主路线: 璃月8-3 (路线3) + 主路线: 璃月8-4 (路线4) + 主路线: 璃月8-5 (路线5) + 主路线: 璃月8-6 (路线6) + 主路线: 璃月8-7 (路线7) + 找到 7 个主路线,0 个分支组 + 主路线连接: 璃月8-1 → 璃月8-2 + 主路线连接: 璃月8-2 → 璃月8-3 + 主路线连接: 璃月8-3 → 璃月8-4 + 主路线连接: 璃月8-4 → 璃月8-5 + 主路线连接: 璃月8-5 → 璃月8-6 + 主路线连接: 璃月8-6 → 璃月8-7 + +处理区域: 璃月9 + 主路线: 璃月9-1 (路线1) + 主路线: 璃月9-2 (路线2) + 分支路线: 璃月9-3-1 (路线3, 分支1) + 主路线: 璃月9-4 (路线4) + 找到 3 个主路线,1 个分支组 + 主路线到分支: 璃月9-2 → 璃月9-3-1 + 分支到主路线: 璃月9-3-1 → 璃月9-4 + 主路线连接: 璃月9-1 → 璃月9-2 + 主路线连接: 璃月9-2 → 璃月9-4 + +处理区域: 稻妻1 + 主路线: 稻妻1-1 (路线1) + 主路线: 稻妻1-2 (路线2) + 主路线: 稻妻1-3 (路线3) + 主路线: 稻妻1-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 稻妻1-1 → 稻妻1-2 + 主路线连接: 稻妻1-2 → 稻妻1-3 + 主路线连接: 稻妻1-3 → 稻妻1-4 + +处理区域: 稻妻2 + 主路线: 稻妻2-1 (路线1) + 主路线: 稻妻2-2 (路线2) + 主路线: 稻妻2-3 (路线3) + 主路线: 稻妻2-4 (路线4) + 主路线: 稻妻2-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 稻妻2-1 → 稻妻2-2 + 主路线连接: 稻妻2-2 → 稻妻2-3 + 主路线连接: 稻妻2-3 → 稻妻2-4 + 主路线连接: 稻妻2-4 → 稻妻2-5 + +处理区域: 稻妻3 + 主路线: 稻妻3-1 (路线1) + 主路线: 稻妻3-2 (路线2) + 主路线: 稻妻3-3 (路线3) + 主路线: 稻妻3-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 稻妻3-1 → 稻妻3-2 + 主路线连接: 稻妻3-2 → 稻妻3-3 + 主路线连接: 稻妻3-3 → 稻妻3-4 + +处理区域: 稻妻4 + 主路线: 稻妻4-1 (路线1) + 主路线: 稻妻4-2 (路线2) + 主路线: 稻妻4-3 (路线3) + 主路线: 稻妻4-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 稻妻4-1 → 稻妻4-2 + 主路线连接: 稻妻4-2 → 稻妻4-3 + 主路线连接: 稻妻4-3 → 稻妻4-4 + +处理区域: 稻妻5 + 主路线: 稻妻5-1 (路线1) + 主路线: 稻妻5-2 (路线2) + 主路线: 稻妻5-3 (路线3) + 主路线: 稻妻5-4 (路线4) + 主路线: 稻妻5-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 稻妻5-1 → 稻妻5-2 + 主路线连接: 稻妻5-2 → 稻妻5-3 + 主路线连接: 稻妻5-3 → 稻妻5-4 + 主路线连接: 稻妻5-4 → 稻妻5-5 + +处理区域: 须弥1 + 主路线: 须弥1-1 (路线1) + 主路线: 须弥1-2 (路线2) + 主路线: 须弥1-3 (路线3) + 主路线: 须弥1-4 (路线4) + 主路线: 须弥1-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 须弥1-1 → 须弥1-2 + 主路线连接: 须弥1-2 → 须弥1-3 + 主路线连接: 须弥1-3 → 须弥1-4 + 主路线连接: 须弥1-4 → 须弥1-5 + +处理区域: 须弥10 + 主路线: 须弥10-1 (路线1) + 主路线: 须弥10-2 (路线2) + 主路线: 须弥10-3 (路线3) + 主路线: 须弥10-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 须弥10-1 → 须弥10-2 + 主路线连接: 须弥10-2 → 须弥10-3 + 主路线连接: 须弥10-3 → 须弥10-4 + +处理区域: 须弥2 + 主路线: 须弥2-1 (路线1) + 主路线: 须弥2-2 (路线2) + 主路线: 须弥2-3 (路线3) + 主路线: 须弥2-4 (路线4) + 主路线: 须弥2-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 须弥2-1 → 须弥2-2 + 主路线连接: 须弥2-2 → 须弥2-3 + 主路线连接: 须弥2-3 → 须弥2-4 + 主路线连接: 须弥2-4 → 须弥2-5 + +处理区域: 须弥3 + 主路线: 须弥3-1 (路线1) + 主路线: 须弥3-2 (路线2) + 主路线: 须弥3-3 (路线3) + 主路线: 须弥3-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 须弥3-1 → 须弥3-2 + 主路线连接: 须弥3-2 → 须弥3-3 + 主路线连接: 须弥3-3 → 须弥3-4 + +处理区域: 须弥4 + 主路线: 须弥4-1 (路线1) + 主路线: 须弥4-2 (路线2) + 主路线: 须弥4-3 (路线3) + 主路线: 须弥4-4 (路线4) + 主路线: 须弥4-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 须弥4-1 → 须弥4-2 + 主路线连接: 须弥4-2 → 须弥4-3 + 主路线连接: 须弥4-3 → 须弥4-4 + 主路线连接: 须弥4-4 → 须弥4-5 + +处理区域: 须弥5 + 主路线: 须弥5-1 (路线1) + 主路线: 须弥5-2 (路线2) + 主路线: 须弥5-3 (路线3) + 主路线: 须弥5-4 (路线4) + 主路线: 须弥5-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 须弥5-1 → 须弥5-2 + 主路线连接: 须弥5-2 → 须弥5-3 + 主路线连接: 须弥5-3 → 须弥5-4 + 主路线连接: 须弥5-4 → 须弥5-5 + +处理区域: 须弥6 + 主路线: 须弥6-1 (路线1) + 主路线: 须弥6-2 (路线2) + 主路线: 须弥6-3 (路线3) + 主路线: 须弥6-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 须弥6-1 → 须弥6-2 + 主路线连接: 须弥6-2 → 须弥6-3 + 主路线连接: 须弥6-3 → 须弥6-4 + +处理区域: 须弥8 + 主路线: 须弥8-1 (路线1) + 主路线: 须弥8-2 (路线2) + 主路线: 须弥8-3 (路线3) + 主路线: 须弥8-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 须弥8-1 → 须弥8-2 + 主路线连接: 须弥8-2 → 须弥8-3 + 主路线连接: 须弥8-3 → 须弥8-4 + +处理区域: 须弥9 + 主路线: 须弥9-1 (路线1) + 主路线: 须弥9-2 (路线2) + 主路线: 须弥9-3 (路线3) + 主路线: 须弥9-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 须弥9-1 → 须弥9-2 + 主路线连接: 须弥9-2 → 须弥9-3 + 主路线连接: 须弥9-3 → 须弥9-4 + +处理区域: 枫丹1 + 主路线: 枫丹1-1 (路线1) + 主路线: 枫丹1-2 (路线2) + 主路线: 枫丹1-3 (路线3) + 主路线: 枫丹1-4 (路线4) + 主路线: 枫丹1-5 (路线5) + 找到 5 个主路线,0 个分支组 + 主路线连接: 枫丹1-1 → 枫丹1-2 + 主路线连接: 枫丹1-2 → 枫丹1-3 + 主路线连接: 枫丹1-3 → 枫丹1-4 + 主路线连接: 枫丹1-4 → 枫丹1-5 + +处理区域: 枫丹2 + 主路线: 枫丹2-1 (路线1) + 主路线: 枫丹2-2 (路线2) + 主路线: 枫丹2-3 (路线3) + 主路线: 枫丹2-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 枫丹2-1 → 枫丹2-2 + 主路线连接: 枫丹2-2 → 枫丹2-3 + 主路线连接: 枫丹2-3 → 枫丹2-4 + +处理区域: 枫丹3 + 主路线: 枫丹3-1 (路线1) + 主路线: 枫丹3-2 (路线2) + 主路线: 枫丹3-3 (路线3) + 主路线: 枫丹3-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 枫丹3-1 → 枫丹3-2 + 主路线连接: 枫丹3-2 → 枫丹3-3 + 主路线连接: 枫丹3-3 → 枫丹3-4 + +处理区域: 枫丹4 + 主路线: 枫丹4-1 (路线1) + 主路线: 枫丹4-2 (路线2) + 主路线: 枫丹4-3 (路线3) + 主路线: 枫丹4-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 枫丹4-1 → 枫丹4-2 + 主路线连接: 枫丹4-2 → 枫丹4-3 + 主路线连接: 枫丹4-3 → 枫丹4-4 + +处理区域: 枫丹5 + 主路线: 枫丹5-1 (路线1) + 主路线: 枫丹5-2 (路线2) + 主路线: 枫丹5-3 (路线3) + 主路线: 枫丹5-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 枫丹5-1 → 枫丹5-2 + 主路线连接: 枫丹5-2 → 枫丹5-3 + 主路线连接: 枫丹5-3 → 枫丹5-4 + +处理区域: 枫丹6 + 主路线: 枫丹6-1 (路线1) + 主路线: 枫丹6-2 (路线2) + 主路线: 枫丹6-3 (路线3) + 主路线: 枫丹6-4 (路线4) + 主路线: 枫丹6-5 (路线5) + 主路线: 枫丹6-6 (路线6) + 找到 6 个主路线,0 个分支组 + 主路线连接: 枫丹6-1 → 枫丹6-2 + 主路线连接: 枫丹6-2 → 枫丹6-3 + 主路线连接: 枫丹6-3 → 枫丹6-4 + 主路线连接: 枫丹6-4 → 枫丹6-5 + 主路线连接: 枫丹6-5 → 枫丹6-6 + +处理区域: 纳塔1 + 主路线: 纳塔1-1 (路线1) + 主路线: 纳塔1-2 (路线2) + 主路线: 纳塔1-3 (路线3) + 主路线: 纳塔1-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 纳塔1-1 → 纳塔1-2 + 主路线连接: 纳塔1-2 → 纳塔1-3 + 主路线连接: 纳塔1-3 → 纳塔1-4 + +处理区域: 纳塔10 + 主路线: 纳塔10-1 (路线1) + 主路线: 纳塔10-2 (路线2) + 主路线: 纳塔10-3 (路线3) + 主路线: 纳塔10-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 纳塔10-1 → 纳塔10-2 + 主路线连接: 纳塔10-2 → 纳塔10-3 + 主路线连接: 纳塔10-3 → 纳塔10-4 + +处理区域: 纳塔2 + 主路线: 纳塔2-1 (路线1) + 主路线: 纳塔2-2 (路线2) + 主路线: 纳塔2-3 (路线3) + 主路线: 纳塔2-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 纳塔2-1 → 纳塔2-2 + 主路线连接: 纳塔2-2 → 纳塔2-3 + 主路线连接: 纳塔2-3 → 纳塔2-4 + +处理区域: 纳塔3 + 主路线: 纳塔3-1 (路线1) + 主路线: 纳塔3-2 (路线2) + 主路线: 纳塔3-3 (路线3) + 主路线: 纳塔3-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 纳塔3-1 → 纳塔3-2 + 主路线连接: 纳塔3-2 → 纳塔3-3 + 主路线连接: 纳塔3-3 → 纳塔3-4 + +处理区域: 纳塔4 + 主路线: 纳塔4-1 (路线1) + 主路线: 纳塔4-2 (路线2) + 找到 2 个主路线,0 个分支组 + 主路线连接: 纳塔4-1 → 纳塔4-2 + +处理区域: 纳塔5 + 主路线: 纳塔5-1 (路线1) + 主路线: 纳塔5-2 (路线2) + 主路线: 纳塔5-3 (路线3) + 找到 3 个主路线,0 个分支组 + 主路线连接: 纳塔5-1 → 纳塔5-2 + 主路线连接: 纳塔5-2 → 纳塔5-3 + +处理区域: 纳塔6 + 主路线: 纳塔6-1 (路线1) + 主路线: 纳塔6-2 (路线2) + 主路线: 纳塔6-3 (路线3) + 主路线: 纳塔6-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 纳塔6-1 → 纳塔6-2 + 主路线连接: 纳塔6-2 → 纳塔6-3 + 主路线连接: 纳塔6-3 → 纳塔6-4 + +处理区域: 纳塔7 + 主路线: 纳塔7-1 (路线1) + 主路线: 纳塔7-2 (路线2) + 主路线: 纳塔7-3 (路线3) + 找到 3 个主路线,0 个分支组 + 主路线连接: 纳塔7-1 → 纳塔7-2 + 主路线连接: 纳塔7-2 → 纳塔7-3 + +处理区域: 纳塔8 + 主路线: 纳塔8-1 (路线1) + 主路线: 纳塔8-2 (路线2) + 主路线: 纳塔8-3 (路线3) + 找到 3 个主路线,0 个分支组 + 主路线连接: 纳塔8-1 → 纳塔8-2 + 主路线连接: 纳塔8-2 → 纳塔8-3 + +处理区域: 纳塔9 + 主路线: 纳塔9-1 (路线1) + 主路线: 纳塔9-2 (路线2) + 主路线: 纳塔9-3 (路线3) + 主路线: 纳塔9-4 (路线4) + 找到 4 个主路线,0 个分支组 + 主路线连接: 纳塔9-1 → 纳塔9-2 + 主路线连接: 纳塔9-2 → 纳塔9-3 + 主路线连接: 纳塔9-3 → 纳塔9-4 + +总共创建了 171 条顺序边 + +重新排序所有边... + +已生成新的数据结构: C:\Users\root\Documents\BetterGI\bettergi-scripts-list\repo\js\AutoLeyLineOutcrop\LeyLineOutcropData.json +传送点数量: 92 +地脉花数量: 218 +总节点数量: 310 +传送点到地脉花边数量: 318 +节点间顺序边数量: 171 +总边数量: 318 +区域排序顺序: 蒙德, 璃月, 稻妻, 须弥, 枫丹, 纳塔 +Traceback (most recent call last): + File "C:\Users\root\Documents\BetterGI\bettergi-scripts-list\repo\js\AutoLeyLineOutcrop\generate_data_format.py", line 883, in + generate_new_data_structure_from_pathing() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\root\Documents\BetterGI\bettergi-scripts-list\repo\js\AutoLeyLineOutcrop\generate_data_format.py", line 597, in generate_new_data_structure_from_pathing + print("\n\u2713 所有目标点都至少有一条入边") + ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UnicodeEncodeError: 'gbk' codec can't encode character '\u2713' in position 2: illegal multibyte sequence diff --git a/repo/js/AutoLeyLineOutcrop/output_new.txt b/repo/js/AutoLeyLineOutcrop/output_new.txt new file mode 100644 index 00000000..bf0f450f --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/output_new.txt @@ -0,0 +1,1001 @@ +第一遍:读取路径文件并创建节点... + 创建传送点: ID=1, 区域=枫丹, 坐标=(4146.91, 2606.27) + 创建传送点: ID=2, 区域=枫丹, 坐标=(4375.5, 2280.05) + 创建传送点: ID=3, 区域=枫丹, 坐标=(4984.79, 4462.98) + 创建传送点: ID=4, 区域=枫丹, 坐标=(4498.18, 4710.79) + 创建传送点: ID=5, 区域=枫丹, 坐标=(4624.36, 4951.78) + 创建传送点: ID=6, 区域=枫丹, 坐标=(2873.54, 3512.04) + 创建传送点: ID=7, 区域=枫丹, 坐标=(3032.66, 3732.42) + 创建传送点: ID=8, 区域=枫丹, 坐标=(3917.29, 2576.43) + 创建传送点: ID=9, 区域=枫丹, 坐标=(4749.59, 2636.21) + 创建传送点: ID=10, 区域=枫丹, 坐标=(4689.61, 2429.43) + 创建传送点: ID=11, 区域=枫丹, 坐标=(4626.1, 2182.3) + 创建传送点: ID=12, 区域=璃月, 坐标=(207.48, 1573.01) + 创建传送点: ID=13, 区域=璃月, 坐标=(-321.55, 1473.33) + 创建传送点: ID=14, 区域=璃月, 坐标=(897.84, 583.5) + 创建传送点: ID=15, 区域=璃月, 坐标=(1045.53, 950.63) + 创建传送点: ID=16, 区域=璃月, 坐标=(341.33, 548.08) + 创建传送点: ID=17, 区域=璃月, 坐标=(839.82, 1532.39) + 创建传送点: ID=18, 区域=璃月, 坐标=(489.8, 1435.14) + 创建传送点: ID=19, 区域=璃月, 坐标=(253.05, 1284.9) + 创建传送点: ID=20, 区域=璃月, 坐标=(2257.04, 934.92) + 创建传送点: ID=21, 区域=璃月, 坐标=(1433.37, 1288.0) + 创建传送点: ID=22, 区域=璃月, 坐标=(-164.59, 1182.45) + 创建传送点: ID=23, 区域=璃月, 坐标=(-188.52, 972.43) + 创建传送点: ID=24, 区域=璃月, 坐标=(-57.41, 656.93) + 创建传送点: ID=25, 区域=璃月, 坐标=(26.02, -112.29) + 创建传送点: ID=26, 区域=璃月, 坐标=(173.88, 389.47) + 创建传送点: ID=27, 区域=璃月, 坐标=(710.68, -772.49) + 创建传送点: ID=28, 区域=璃月, 坐标=(978.65, -353.56) + 创建传送点: ID=29, 区域=璃月, 坐标=(611.74, -284.65) + 创建传送点: ID=30, 区域=璃月, 坐标=(837.46, 235.15) + 创建传送点: ID=31, 区域=璃月, 坐标=(876.75, 587.25) + 创建传送点: ID=32, 区域=璃月, 坐标=(1665.91, 386.6) + 创建传送点: ID=33, 区域=璃月, 坐标=(1152.67, 141.57) + 创建传送点: ID=34, 区域=璃月, 坐标=(1389.08, 516.44) + 创建传送点: ID=35, 区域=稻妻, 坐标=(-4217.89, -2397.87) + 创建传送点: ID=36, 区域=稻妻, 坐标=(-4408.91, -2395.34) + 创建传送点: ID=37, 区域=稻妻, 坐标=(-3016.79, -3623.7) + 创建传送点: ID=38, 区域=稻妻, 坐标=(-3233.21, -3534.22) + 创建传送点: ID=39, 区域=稻妻, 坐标=(-3393.16, -3555.99) + 创建传送点: ID=40, 区域=稻妻, 坐标=(-3437.06, -3319.78) + 创建传送点: ID=41, 区域=稻妻, 坐标=(-2224.14, -4004.16) + 创建传送点: ID=42, 区域=稻妻, 坐标=(-1058.01, -3948.66) + 创建传送点: ID=43, 区域=稻妻, 坐标=(-1315.93, -3774.25) + 创建传送点: ID=44, 区域=稻妻, 坐标=(-3891.55, -4389.92) + 创建传送点: ID=45, 区域=稻妻, 坐标=(-3684.76, -4278.4) + 创建传送点: ID=46, 区域=纳塔, 坐标=(7796.08, -1873.18) + 创建传送点: ID=47, 区域=纳塔, 坐标=(7857.47, -1751.25) + 创建传送点: ID=48, 区域=纳塔, 坐标=(8291.35, -2922.46) + 创建传送点: ID=49, 区域=纳塔, 坐标=(8744.65, -3009.56) + 创建传送点: ID=50, 区域=纳塔, 坐标=(8706.46, -1575.02) + 创建传送点: ID=51, 区域=纳塔, 坐标=(8670.84, -1269.72) + 创建传送点: ID=52, 区域=纳塔, 坐标=(8201.95, -2288.75) + 创建传送点: ID=53, 区域=纳塔, 坐标=(8372.19, -2196.26) + 创建传送点: ID=54, 区域=纳塔, 坐标=(9038.74, -2429.33) + 创建传送点: ID=55, 区域=纳塔, 坐标=(9812.76, -2852.58) + 创建传送点: ID=56, 区域=纳塔, 坐标=(9282.7, -2163.58) + 创建传送点: ID=57, 区域=纳塔, 坐标=(9989.5, -1607.82) + 创建传送点: ID=58, 区域=纳塔, 坐标=(9548.24, -1116.54) + 创建传送点: ID=59, 区域=纳塔, 坐标=(9719.22, -851.99) + 创建传送点: ID=60, 区域=纳塔, 坐标=(9839.57, -1290.01) + 创建传送点: ID=61, 区域=蒙德, 坐标=(-1166.84, 2132.83) + 创建传送点: ID=62, 区域=蒙德, 坐标=(-1266.59, 1933.52) + 创建传送点: ID=63, 区域=蒙德, 坐标=(-914.82, 1795.51) + 创建传送点: ID=64, 区域=蒙德, 坐标=(-663.61, 1709.65) + 创建传送点: ID=65, 区域=蒙德, 坐标=(-578.76, 1853.42) + 创建传送点: ID=66, 区域=蒙德, 坐标=(-251.66, 2256.55) + 创建传送点: ID=67, 区域=蒙德, 坐标=(-385.84, 2297.22) + 创建传送点: ID=68, 区域=蒙德, 坐标=(-440.09, 2580.75) + 创建传送点: ID=69, 区域=蒙德, 坐标=(177.18, 2647.07) + 创建传送点: ID=70, 区域=蒙德, 坐标=(265.6, 2915.02) + 创建传送点: ID=71, 区域=蒙德, 坐标=(-1505.87, 2296.26) + 创建传送点: ID=72, 区域=蒙德, 坐标=(-1330.15, 2563.86) + 创建传送点: ID=73, 区域=蒙德, 坐标=(-1273.84, 2721.72) + 创建传送点: ID=74, 区域=蒙德, 坐标=(-1629.44, 2834.36) + 创建传送点: ID=75, 区域=蒙德, 坐标=(-1867.21, 1331.21) + 创建传送点: ID=76, 区域=蒙德, 坐标=(-1432.63, 1464.61) + 创建传送点: ID=77, 区域=须弥, 坐标=(2342.31, -4.68) + 创建传送点: ID=78, 区域=须弥, 坐标=(6615.13, 724.95) + 创建传送点: ID=79, 区域=须弥, 坐标=(6339.59, 738.39) + 创建传送点: ID=80, 区域=须弥, 坐标=(2806.54, -1790.45) + 创建传送点: ID=81, 区域=须弥, 坐标=(2980.23, -1758.59) + 创建传送点: ID=82, 区域=须弥, 坐标=(3199.51, -911.7) + 创建传送点: ID=83, 区域=须弥, 坐标=(3252.87, -591.25) + 创建传送点: ID=84, 区域=须弥, 坐标=(3402.18, -1175.26) + 创建传送点: ID=85, 区域=须弥, 坐标=(3473.06, -1573.53) + 创建传送点: ID=86, 区域=须弥, 坐标=(3639.36, -1416.85) + 创建传送点: ID=87, 区域=须弥, 坐标=(4409.72, -1874.67) + 创建传送点: ID=88, 区域=须弥, 坐标=(4470.72, -2915.3) + 创建传送点: ID=89, 区域=须弥, 坐标=(4790.78, -3182.65) + 创建传送点: ID=90, 区域=须弥, 坐标=(4810.42, -2732.88) + 创建传送点: ID=91, 区域=须弥, 坐标=(5759.42, -1307.6) + 创建传送点: ID=92, 区域=须弥, 坐标=(4592.2, -647.56) + +第二遍:读取target文件并创建目标节点... + 创建目标点: ID=1000, 区域=枫丹1-1, 坐标=(4183.27, 2502.37) + 创建目标点: ID=1001, 区域=枫丹1-2, 坐标=(4190.03, 2426.41) + 创建目标点: ID=1002, 区域=枫丹1-3, 坐标=(4246.28, 2374.05) + 创建目标点: ID=1003, 区域=枫丹1-4, 坐标=(4299.75, 2232.59) + 创建目标点: ID=1004, 区域=枫丹1-5, 坐标=(4402.53, 2253.27) + 创建目标点: ID=1005, 区域=枫丹2-1, 坐标=(4962.82, 4395.81) + 创建目标点: ID=1006, 区域=枫丹2-2, 坐标=(4952.04, 4468.84) + 创建目标点: ID=1007, 区域=枫丹2-3, 坐标=(5043.36, 4479.99) + 创建目标点: ID=1008, 区域=枫丹2-4, 坐标=(5087.02, 4573.27) + 创建目标点: ID=1009, 区域=枫丹3-1, 坐标=(4556.1, 4762.42) + 创建目标点: ID=1010, 区域=枫丹3-2, 坐标=(4517.81, 4866.48) + 创建目标点: ID=1011, 区域=枫丹3-3, 坐标=(4578.63, 4913.28) + 创建目标点: ID=1012, 区域=枫丹3-4, 坐标=(4679.47, 4977.83) + 创建目标点: ID=1013, 区域=枫丹4-1, 坐标=(2932.47, 3583.9) + 创建目标点: ID=1014, 区域=枫丹4-2, 坐标=(3008.4, 3602.59) + 创建目标点: ID=1015, 区域=枫丹4-3, 坐标=(3077.19, 3602.84) + 创建目标点: ID=1016, 区域=枫丹4-4, 坐标=(3091.8, 3654.75) + 创建目标点: ID=1017, 区域=枫丹5-1, 坐标=(4098.63, 2584.16) + 创建目标点: ID=1018, 区域=枫丹5-2, 坐标=(4063.52, 2564.29) + 创建目标点: ID=1019, 区域=枫丹5-3, 坐标=(3999.66, 2613.18) + 创建目标点: ID=1020, 区域=枫丹5-4, 坐标=(3921.35, 2617.81) + 创建目标点: ID=1021, 区域=枫丹6-1, 坐标=(4760.8, 2574.52) + 创建目标点: ID=1022, 区域=枫丹6-2, 坐标=(4653.67, 2531.89) + 创建目标点: ID=1023, 区域=枫丹6-3, 坐标=(4568.49, 2433.23) + 创建目标点: ID=1024, 区域=枫丹6-4, 坐标=(4553.51, 2358.49) + 创建目标点: ID=1025, 区域=枫丹6-5, 坐标=(4607.46, 2316.58) + 创建目标点: ID=1026, 区域=枫丹6-6, 坐标=(4700.14, 2393.35) + 创建目标点: ID=1027, 区域=璃月1-1, 坐标=(73.73, 1496.59) + 创建目标点: ID=1028, 区域=璃月1-2, 坐标=(-12.62, 1566.51) + 创建目标点: ID=1029, 区域=璃月1-3, 坐标=(-81.76, 1534.73) + 创建目标点: ID=1030, 区域=璃月1-4, 坐标=(-28.76, 1417.37) + 创建目标点: ID=1031, 区域=璃月10-1, 坐标=(1046.34, 662.76) + 创建目标点: ID=1032, 区域=璃月10-2, 坐标=(892.5, 748.02) + 创建目标点: ID=1033, 区域=璃月10-3, 坐标=(594.3, 437.83) + 创建目标点: ID=1034, 区域=璃月10-4, 坐标=(683.19, 529.0) + 创建目标点: ID=1035, 区域=璃月10-5, 坐标=(455.4, 546.56) + 创建目标点: ID=1036, 区域=璃月11-1, 坐标=(802.19, 1634.03) + 创建目标点: ID=1037, 区域=璃月11-2, 坐标=(697.31, 1551.84) + 创建目标点: ID=1038, 区域=璃月11-3, 坐标=(646.5, 1421.98) + 创建目标点: ID=1039, 区域=璃月11-4, 坐标=(632.03, 1331.15) + 创建目标点: ID=1040, 区域=璃月11-5, 坐标=(558.31, 1437.82) + 创建目标点: ID=1041, 区域=璃月11-6, 坐标=(285.79, 1457.93) + 创建目标点: ID=1042, 区域=璃月13-1, 坐标=(2254.49, 970.92) + 创建目标点: ID=1043, 区域=璃月13-2, 坐标=(2252.54, 898.21) + 创建目标点: ID=1044, 区域=璃月13-3, 坐标=(2226.91, 863.09) + 创建目标点: ID=1045, 区域=璃月13-4, 坐标=(2028.69, 830.67) + 创建目标点: ID=1046, 区域=璃月14-1, 坐标=(1614.21, 1382.09) + 创建目标点: ID=1047, 区域=璃月14-2, 坐标=(1581.57, 1437.1) + 创建目标点: ID=1048, 区域=璃月14-3, 坐标=(1563.45, 1487.35) + 创建目标点: ID=1049, 区域=璃月14-4, 坐标=(1525.0, 1549.17) + 创建目标点: ID=1050, 区域=璃月2-1, 坐标=(-194.85, 1163.89) + 创建目标点: ID=1051, 区域=璃月2-2, 坐标=(32.81, 1118.31) + 创建目标点: ID=1052, 区域=璃月2-3, 坐标=(-24.14, 931.71) + 创建目标点: ID=1053, 区域=璃月2-4, 坐标=(-10.67, 683.67) + 创建目标点: ID=1054, 区域=璃月3-1, 坐标=(-55.27, 603.84) + 创建目标点: ID=1055, 区域=璃月3-2, 坐标=(139.9, 685.26) + 创建目标点: ID=1056, 区域=璃月3-3, 坐标=(284.12, 620.66) + 创建目标点: ID=1057, 区域=璃月3-4, 坐标=(276.12, 542.51) + 注意: 坐标 (456.0, 546.29) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1058, 区域=璃月3-5, 坐标=(456.0, 546.29) + 创建目标点: ID=1059, 区域=璃月4-1, 坐标=(-7.16, -48.77) + 创建目标点: ID=1060, 区域=璃月4-2, 坐标=(101.14, -2.97) + 创建目标点: ID=1061, 区域=璃月4-3, 坐标=(127.05, 113.87) + 创建目标点: ID=1062, 区域=璃月4-4, 坐标=(146.03, 220.07) + 创建目标点: ID=1063, 区域=璃月4-5, 坐标=(262.65, 357.85) + 注意: 坐标 (276.55, 543.11) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1064, 区域=璃月4-6, 坐标=(276.55, 543.11) + 注意: 坐标 (456.44, 546.35) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (456.44, 546.35) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1065, 区域=璃月4-7, 坐标=(456.44, 546.35) + 创建目标点: ID=1066, 区域=璃月5-1, 坐标=(773.08, -928.68) + 创建目标点: ID=1067, 区域=璃月5-2, 坐标=(885.79, -780.15) + 创建目标点: ID=1068, 区域=璃月5-3, 坐标=(1063.54, -727.34) + 创建目标点: ID=1069, 区域=璃月5-4-1, 坐标=(936.52, -489.9) + 创建目标点: ID=1070, 区域=璃月7-1, 坐标=(824.28, -325.68) + 创建目标点: ID=1071, 区域=璃月7-2, 坐标=(721.94, -106.43) + 创建目标点: ID=1072, 区域=璃月7-3, 坐标=(752.42, 3.88) + 创建目标点: ID=1073, 区域=璃月7-4, 坐标=(815.03, 136.35) + 注意: 坐标 (681.46, 528.76) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1074, 区域=璃月7-5, 坐标=(681.46, 528.76) + 注意: 坐标 (455.4, 546.56) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.4, 546.56) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.4, 546.56) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1075, 区域=璃月7-6, 坐标=(455.4, 546.56) + 创建目标点: ID=1076, 区域=璃月8-1, 坐标=(1627.15, 303.83) + 创建目标点: ID=1077, 区域=璃月8-2, 坐标=(1333.25, 266.26) + 创建目标点: ID=1078, 区域=璃月8-3, 坐标=(1160.17, 86.75) + 创建目标点: ID=1079, 区域=璃月8-4, 坐标=(972.68, 98.66) + 注意: 坐标 (815.31, 137.31) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1080, 区域=璃月8-5, 坐标=(815.31, 137.31) + 注意: 坐标 (683.33, 529.05) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (683.33, 529.05) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1081, 区域=璃月8-6, 坐标=(683.33, 529.05) + 注意: 坐标 (455.84, 546.39) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.84, 546.39) 附近有另一个区域的节点,但将创建新节点 + 注意: 坐标 (455.84, 546.39) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1082, 区域=璃月8-7, 坐标=(455.84, 546.39) + 创建目标点: ID=1083, 区域=璃月9-1, 坐标=(1484.37, 458.69) + 创建目标点: ID=1084, 区域=璃月9-2, 坐标=(1445.77, 577.83) + 创建目标点: ID=1085, 区域=璃月9-3-1, 坐标=(1561.48, 483.03) + 注意: 坐标 (1561.71, 483.58) 与已存在节点 '璃月9-3-1' 区域基本部分相同,视为同一节点 + 创建目标点: ID=1086, 区域=璃月9-4, 坐标=(1686.66, 567.55) + 创建目标点: ID=1087, 区域=稻妻1-1, 坐标=(-4309.58, -2288.5) + 创建目标点: ID=1088, 区域=稻妻1-2, 坐标=(-4401.19, -2226.96) + 创建目标点: ID=1089, 区域=稻妻1-3, 坐标=(-4509.57, -2332.11) + 创建目标点: ID=1090, 区域=稻妻1-4, 坐标=(-4549.96, -2399.98) + 创建目标点: ID=1091, 区域=稻妻2-1, 坐标=(-3007.64, -3515.28) + 创建目标点: ID=1092, 区域=稻妻2-2, 坐标=(-3153.03, -3485.5) + 创建目标点: ID=1093, 区域=稻妻2-3, 坐标=(-3328.99, -3561.28) + 创建目标点: ID=1094, 区域=稻妻2-4, 坐标=(-3429.72, -3419.55) + 创建目标点: ID=1095, 区域=稻妻2-5, 坐标=(-3340.38, -3237.16) + 创建目标点: ID=1096, 区域=稻妻3-1, 坐标=(-2270.07, -4068.21) + 创建目标点: ID=1097, 区域=稻妻3-2, 坐标=(-2280.61, -4171.18) + 创建目标点: ID=1098, 区域=稻妻3-3, 坐标=(-2169.62, -4076.36) + 创建目标点: ID=1099, 区域=稻妻3-4, 坐标=(-2211.44, -4033.62) + 创建目标点: ID=1100, 区域=稻妻4-1, 坐标=(-1120.06, -3962.66) + 创建目标点: ID=1101, 区域=稻妻4-2, 坐标=(-1190.51, -3902.08) + 创建目标点: ID=1102, 区域=稻妻4-3, 坐标=(-1254.7, -3839.91) + 创建目标点: ID=1103, 区域=稻妻4-4, 坐标=(-1322.41, -3815.69) + 创建目标点: ID=1104, 区域=稻妻5-1, 坐标=(-3908.27, -4290.55) + 创建目标点: ID=1105, 区域=稻妻5-2, 坐标=(-3850.61, -4241.9) + 创建目标点: ID=1106, 区域=稻妻5-3, 坐标=(-3763.54, -4259.14) + 创建目标点: ID=1107, 区域=稻妻5-4, 坐标=(-3703.34, -4343.16) + 创建目标点: ID=1108, 区域=稻妻5-5, 坐标=(-3671.61, -4414.03) + 创建目标点: ID=1109, 区域=纳塔1-1, 坐标=(7864.95, -1823.96) + 创建目标点: ID=1110, 区域=纳塔1-2, 坐标=(7945.72, -1744.08) + 创建目标点: ID=1111, 区域=纳塔1-3, 坐标=(7932.2, -1616.37) + 创建目标点: ID=1112, 区域=纳塔1-4, 坐标=(7853.72, -1554.26) + 创建目标点: ID=1113, 区域=纳塔10-1, 坐标=(8361.82, -2993.79) + 创建目标点: ID=1114, 区域=纳塔10-2, 坐标=(8496.07, -3018.4) + 创建目标点: ID=1115, 区域=纳塔10-3, 坐标=(8587.99, -3022.4) + 创建目标点: ID=1116, 区域=纳塔10-4, 坐标=(8879.8, -3059.26) + 创建目标点: ID=1117, 区域=纳塔2-1, 坐标=(8604.22, -1635.22) + 创建目标点: ID=1118, 区域=纳塔2-2, 坐标=(8657.57, -1501.26) + 创建目标点: ID=1119, 区域=纳塔2-3, 坐标=(8733.62, -1528.95) + 创建目标点: ID=1120, 区域=纳塔2-4, 坐标=(8588.9, -1373.62) + 创建目标点: ID=1121, 区域=纳塔3-1, 坐标=(8312.07, -2344.44) + 创建目标点: ID=1122, 区域=纳塔3-2, 坐标=(8429.86, -2328.47) + 创建目标点: ID=1123, 区域=纳塔3-3, 坐标=(8291.29, -2096.67) + 创建目标点: ID=1124, 区域=纳塔3-4, 坐标=(8088.21, -2053.56) + 创建目标点: ID=1125, 区域=纳塔4-1, 坐标=(9028.67, -2342.6) + 创建目标点: ID=1126, 区域=纳塔4-2, 坐标=(9090.71, -2407.11) + 创建目标点: ID=1127, 区域=纳塔5-1, 坐标=(9687.15, -2898.19) + 创建目标点: ID=1128, 区域=纳塔5-2, 坐标=(9754.7, -2904.43) + 创建目标点: ID=1129, 区域=纳塔5-3, 坐标=(9778.7, -2856.31) + 创建目标点: ID=1130, 区域=纳塔6-1, 坐标=(9231.08, -2154.74) + 创建目标点: ID=1131, 区域=纳塔6-2, 坐标=(9110.86, -2222.48) + 创建目标点: ID=1132, 区域=纳塔6-3, 坐标=(8945.55, -2138.43) + 创建目标点: ID=1133, 区域=纳塔6-4, 坐标=(8810.08, -2077.83) + 创建目标点: ID=1134, 区域=纳塔7-1, 坐标=(9999.51, -1570.23) + 创建目标点: ID=1135, 区域=纳塔7-2, 坐标=(9963.8, -1511.61) + 创建目标点: ID=1136, 区域=纳塔7-3, 坐标=(9907.78, -1424.0) + 创建目标点: ID=1137, 区域=纳塔8-1, 坐标=(9636.29, -1038.41) + 创建目标点: ID=1138, 区域=纳塔8-2, 坐标=(9517.92, -1029.8) + 创建目标点: ID=1139, 区域=纳塔8-3, 坐标=(9472.28, -771.8) + 创建目标点: ID=1140, 区域=纳塔9-1, 坐标=(9920.8, -1196.25) + 创建目标点: ID=1141, 区域=纳塔9-2, 坐标=(9888.22, -1046.55) + 创建目标点: ID=1142, 区域=纳塔9-3, 坐标=(9938.82, -933.87) + 创建目标点: ID=1143, 区域=纳塔9-4, 坐标=(9984.24, -876.43) + 创建目标点: ID=1144, 区域=蒙德1-1, 坐标=(-1298.03, 2172.37) + 创建目标点: ID=1145, 区域=蒙德1-2, 坐标=(-1223.18, 2032.04) + 创建目标点: ID=1146, 区域=蒙德1-3, 坐标=(-1113.87, 1971.9) + 创建目标点: ID=1147, 区域=蒙德1-4, 坐标=(-1041.91, 1927.07) + 创建目标点: ID=1148, 区域=蒙德1-5, 坐标=(-895.08, 1833.84) + 创建目标点: ID=1149, 区域=蒙德2-1, 坐标=(-717.83, 1802.77) + 创建目标点: ID=1150, 区域=蒙德2-2, 坐标=(-523.76, 1813.84) + 创建目标点: ID=1151, 区域=蒙德2-3, 坐标=(-420.36, 1998.11) + 创建目标点: ID=1152, 区域=蒙德2-4-1, 坐标=(-347.95, 1902.51) + 创建目标点: ID=1153, 区域=蒙德2-4-2, 坐标=(-319.46, 2156.93) + 注意: 坐标 (-319.46, 2156.93) 与已存在节点 '蒙德2-4-2' 区域基本部分相同,视为同一节点 + 注意: 坐标 (-319.57, 2156.48) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1154, 区域=蒙德2-5-1, 坐标=(-319.57, 2156.48) + 创建目标点: ID=1155, 区域=蒙德3-1, 坐标=(-281.79, 2310.78) + 创建目标点: ID=1156, 区域=蒙德3-2, 坐标=(-205.49, 2429.07) + 创建目标点: ID=1157, 区域=蒙德3-3, 坐标=(-327.03, 2410.43) + 创建目标点: ID=1158, 区域=蒙德3-4, 坐标=(-336.15, 2562.91) + 创建目标点: ID=1159, 区域=蒙德4-1, 坐标=(241.41, 2703.08) + 创建目标点: ID=1160, 区域=蒙德4-2, 坐标=(124.61, 2817.24) + 创建目标点: ID=1161, 区域=蒙德4-3, 坐标=(152.71, 2963.33) + 创建目标点: ID=1162, 区域=蒙德4-4, 坐标=(-27.99, 2919.59) + 创建目标点: ID=1163, 区域=蒙德5-1, 坐标=(-1453.46, 2282.88) + 创建目标点: ID=1164, 区域=蒙德5-2, 坐标=(-1367.78, 2411.31) + 创建目标点: ID=1165, 区域=蒙德5-3, 坐标=(-1474.91, 2520.0) + 创建目标点: ID=1166, 区域=蒙德5-4, 坐标=(-1394.83, 2569.65) + 创建目标点: ID=1167, 区域=蒙德5-5, 坐标=(-1316.21, 2734.67) + 创建目标点: ID=1168, 区域=蒙德6-1, 坐标=(-1512.81, 2774.26) + 创建目标点: ID=1169, 区域=蒙德6-2, 坐标=(-1518.71, 2877.4) + 创建目标点: ID=1170, 区域=蒙德6-3, 坐标=(-1603.95, 2865.65) + 创建目标点: ID=1171, 区域=蒙德6-4, 坐标=(-1710.73, 2983.29) + 创建目标点: ID=1172, 区域=蒙德7-1, 坐标=(-1660.63, 1392.87) + 创建目标点: ID=1173, 区域=蒙德7-2, 坐标=(-1517.07, 1513.97) + 创建目标点: ID=1174, 区域=蒙德7-3, 坐标=(-1331.96, 1560.15) + 创建目标点: ID=1175, 区域=蒙德7-4, 坐标=(-1318.63, 1692.63) + 创建目标点: ID=1176, 区域=蒙德7-5, 坐标=(-1138.22, 1789.79) + 注意: 坐标 (-895.08, 1833.84) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1177, 区域=蒙德7-6, 坐标=(-895.08, 1833.84) + 创建目标点: ID=1178, 区域=须弥1-1, 坐标=(2368.79, -92.11) + 创建目标点: ID=1179, 区域=须弥1-2, 坐标=(2317.29, -115.35) + 创建目标点: ID=1180, 区域=须弥1-3, 坐标=(2212.83, -83.02) + 创建目标点: ID=1181, 区域=须弥1-4, 坐标=(2233.8, -160.88) + 创建目标点: ID=1182, 区域=须弥1-5, 坐标=(2269.0, -251.14) + 创建目标点: ID=1183, 区域=须弥10-1, 坐标=(6501.08, 904.25) + 创建目标点: ID=1184, 区域=须弥10-2, 坐标=(6613.41, 784.42) + 创建目标点: ID=1185, 区域=须弥10-3, 坐标=(6692.66, 625.4) + 创建目标点: ID=1186, 区域=须弥10-4, 坐标=(6280.81, 616.8) + 创建目标点: ID=1187, 区域=须弥2-1, 坐标=(2910.46, -1818.57) + 创建目标点: ID=1188, 区域=须弥2-2, 坐标=(2980.38, -1758.57) + 创建目标点: ID=1189, 区域=须弥2-3, 坐标=(3013.06, -1700.54) + 创建目标点: ID=1190, 区域=须弥2-4, 坐标=(2981.92, -1641.54) + 创建目标点: ID=1191, 区域=须弥2-5, 坐标=(2963.07, -1586.92) + 创建目标点: ID=1192, 区域=须弥3-1, 坐标=(3195.78, -806.97) + 创建目标点: ID=1193, 区域=须弥3-2, 坐标=(3233.51, -740.65) + 创建目标点: ID=1194, 区域=须弥3-3, 坐标=(3324.5, -659.02) + 创建目标点: ID=1195, 区域=须弥3-4, 坐标=(3387.39, -664.21) + 创建目标点: ID=1196, 区域=须弥4-1, 坐标=(3381.91, -1231.97) + 创建目标点: ID=1197, 区域=须弥4-2, 坐标=(3355.82, -1318.18) + 创建目标点: ID=1198, 区域=须弥4-3, 坐标=(3466.17, -1318.08) + 创建目标点: ID=1199, 区域=须弥4-4, 坐标=(3504.37, -1500.13) + 创建目标点: ID=1200, 区域=须弥4-5, 坐标=(3721.99, -1507.71) + 创建目标点: ID=1201, 区域=须弥5-1, 坐标=(4345.77, -1793.67) + 创建目标点: ID=1202, 区域=须弥5-2, 坐标=(4257.86, -1903.31) + 创建目标点: ID=1203, 区域=须弥5-3, 坐标=(4144.29, -2014.19) + 注意: 坐标 (4144.18, -2014.48) 附近有另一个区域的节点,但将创建新节点 + 创建目标点: ID=1204, 区域=须弥5-4, 坐标=(4144.18, -2014.48) + 创建目标点: ID=1205, 区域=须弥5-5, 坐标=(4211.01, -2165.65) + 创建目标点: ID=1206, 区域=须弥6-1, 坐标=(4552.75, -2945.07) + 创建目标点: ID=1207, 区域=须弥6-2, 坐标=(4696.5, -3055.9) + 创建目标点: ID=1208, 区域=须弥6-3, 坐标=(4886.54, -2940.45) + 创建目标点: ID=1209, 区域=须弥6-4, 坐标=(4756.03, -2742.32) + 创建目标点: ID=1210, 区域=须弥8-1, 坐标=(5758.76, -1154.57) + 创建目标点: ID=1211, 区域=须弥8-2, 坐标=(5887.09, -1120.65) + 创建目标点: ID=1212, 区域=须弥8-3, 坐标=(5902.11, -1008.25) + 创建目标点: ID=1213, 区域=须弥8-4, 坐标=(5928.09, -922.46) + 创建目标点: ID=1214, 区域=须弥9-1, 坐标=(4555.52, -569.96) + 创建目标点: ID=1215, 区域=须弥9-2, 坐标=(4573.81, -408.86) + 创建目标点: ID=1216, 区域=须弥9-3, 坐标=(4756.13, -221.43) + 创建目标点: ID=1217, 区域=须弥9-4, 坐标=(4862.07, -150.71) + +第三遍:创建边和索引... + 创建边: 1 -> 1000, 路径=assets/pathing/枫丹1-秋分山西侧-1.json + 创建边: 1 -> 1001, 路径=assets/pathing/枫丹1-秋分山西侧-2.json + 创建边: 2 -> 1002, 路径=assets/pathing/枫丹1-秋分山西侧-3.json + 创建边: 2 -> 1003, 路径=assets/pathing/枫丹1-秋分山西侧-4.json + 创建边: 2 -> 1004, 路径=assets/pathing/枫丹1-秋分山西侧-5.json + 创建边: 3 -> 1005, 路径=assets/pathing/枫丹2-芒索斯山东麓-1.json + 创建边: 3 -> 1006, 路径=assets/pathing/枫丹2-芒索斯山东麓-2.json + 创建边: 3 -> 1007, 路径=assets/pathing/枫丹2-芒索斯山东麓-3.json + 创建边: 3 -> 1008, 路径=assets/pathing/枫丹2-芒索斯山东麓-4.json + 创建边: 4 -> 1009, 路径=assets/pathing/枫丹3-新枫丹科学院-1.json + 创建边: 4 -> 1010, 路径=assets/pathing/枫丹3-新枫丹科学院-2.json + 创建边: 5 -> 1011, 路径=assets/pathing/枫丹3-新枫丹科学院-3.json + 创建边: 5 -> 1012, 路径=assets/pathing/枫丹3-新枫丹科学院-4.json + 创建边: 6 -> 1013, 路径=assets/pathing/枫丹4-柔灯港-1.json + 创建边: 7 -> 1014, 路径=assets/pathing/枫丹4-柔灯港-2.json + 创建边: 7 -> 1015, 路径=assets/pathing/枫丹4-柔灯港-3.json + 创建边: 7 -> 1016, 路径=assets/pathing/枫丹4-柔灯港-4.json + 创建边: 1 -> 1017, 路径=assets/pathing/枫丹5-秋分山东侧-1.json + 创建边: 1 -> 1018, 路径=assets/pathing/枫丹5-秋分山东侧-2.json + 创建边: 8 -> 1019, 路径=assets/pathing/枫丹5-秋分山东侧-3.json + 创建边: 8 -> 1020, 路径=assets/pathing/枫丹5-秋分山东侧-4.json + 创建边: 9 -> 1021, 路径=assets/pathing/枫丹6-厄里那斯-1.json + 创建边: 10 -> 1022, 路径=assets/pathing/枫丹6-厄里那斯-2.json + 创建边: 10 -> 1023, 路径=assets/pathing/枫丹6-厄里那斯-3.json + 创建边: 10 -> 1024, 路径=assets/pathing/枫丹6-厄里那斯-4.json + 创建边: 11 -> 1025, 路径=assets/pathing/枫丹6-厄里那斯-5.json + 创建边: 10 -> 1026, 路径=assets/pathing/枫丹6-厄里那斯-6.json + 创建边: 12 -> 1027, 路径=assets/pathing/璃月1-石门-1.json + 创建边: 13 -> 1028, 路径=assets/pathing/璃月1-石门-2.json + 创建边: 14 -> 1031, 路径=assets/pathing/璃月10-绝云间-1.json + 创建边: 15 -> 1032, 路径=assets/pathing/璃月10-绝云间-2.json + 创建边: 16 -> 1033, 路径=assets/pathing/璃月10-绝云间-3.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月10-绝云间-5.json + 创建边: 17 -> 1036, 路径=assets/pathing/璃月11-轻策庄-1.json + 创建边: 18 -> 1040, 路径=assets/pathing/璃月11-轻策庄-5.json + 创建边: 19 -> 1041, 路径=assets/pathing/璃月11-轻策庄-6.json + 创建边: 20 -> 1042, 路径=assets/pathing/璃月13-悬练山-1.json + 创建边: 20 -> 1043, 路径=assets/pathing/璃月13-悬练山-2.json + 创建边: 21 -> 1046, 路径=assets/pathing/璃月14-药蝶谷-1.json + 创建边: 22 -> 1050, 路径=assets/pathing/璃月2-地中之盐-1.json + 创建边: 22 -> 1051, 路径=assets/pathing/璃月2-地中之盐-2.json + 创建边: 23 -> 1052, 路径=assets/pathing/璃月2-地中之盐-3.json + 创建边: 24 -> 1053, 路径=assets/pathing/璃月2-地中之盐-4.json + 创建边: 24 -> 1054, 路径=assets/pathing/璃月3-瑶光滩-1.json + 创建边: 24 -> 1055, 路径=assets/pathing/璃月3-瑶光滩-2.json + 创建边: 16 -> 1056, 路径=assets/pathing/璃月3-瑶光滩-3.json + 创建边: 16 -> 1057, 路径=assets/pathing/璃月3-瑶光滩-4.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月3-瑶光滩-5.json + 创建边: 25 -> 1059, 路径=assets/pathing/璃月4-璃月港-1.json + 创建边: 26 -> 1063, 路径=assets/pathing/璃月4-璃月港-5.json + 创建边: 16 -> 1057, 路径=assets/pathing/璃月4-璃月港-6.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月4-璃月港-7.json + 创建边: 27 -> 1066, 路径=assets/pathing/璃月5-天衡山-1.json + 创建边: 27 -> 1067, 路径=assets/pathing/璃月5-天衡山-2.json + 创建边: 28 -> 1069, 路径=assets/pathing/璃月5-天衡山-4-1.json + 创建边: 28 -> 1070, 路径=assets/pathing/璃月7-遁玉陵-1.json + 创建边: 29 -> 1071, 路径=assets/pathing/璃月7-遁玉陵-2.json + 创建边: 30 -> 1073, 路径=assets/pathing/璃月7-遁玉陵-4.json + 创建边: 31 -> 1034, 路径=assets/pathing/璃月7-遁玉陵-5.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月7-遁玉陵-6.json + 创建边: 32 -> 1076, 路径=assets/pathing/璃月8-南天门南-1.json + 创建边: 33 -> 1077, 路径=assets/pathing/璃月8-南天门南-2.json + 创建边: 33 -> 1078, 路径=assets/pathing/璃月8-南天门南-3.json + 创建边: 33 -> 1079, 路径=assets/pathing/璃月8-南天门南-4.json + 创建边: 30 -> 1073, 路径=assets/pathing/璃月8-南天门南-5.json + 创建边: 14 -> 1034, 路径=assets/pathing/璃月8-南天门南-6.json + 创建边: 16 -> 1075, 路径=assets/pathing/璃月8-南天门南-7.json + 创建边: 34 -> 1083, 路径=assets/pathing/璃月9-南天门东-1.json + 创建边: 34 -> 1085, 路径=assets/pathing/璃月9-南天门东-3-1.json + 创建边: 34 -> 1085, 路径=assets/pathing/璃月9-南天门东-3-2.json + 创建边: 32 -> 1086, 路径=assets/pathing/璃月9-南天门东-4.json + 创建边: 35 -> 1087, 路径=assets/pathing/稻妻1-鸣神岛-1.json + 创建边: 35 -> 1088, 路径=assets/pathing/稻妻1-鸣神岛-2.json + 创建边: 36 -> 1089, 路径=assets/pathing/稻妻1-鸣神岛-3.json + 创建边: 36 -> 1090, 路径=assets/pathing/稻妻1-鸣神岛-4.json + 创建边: 37 -> 1091, 路径=assets/pathing/稻妻2-踏鞴砂-1.json + 创建边: 38 -> 1092, 路径=assets/pathing/稻妻2-踏鞴砂-2.json + 创建边: 39 -> 1093, 路径=assets/pathing/稻妻2-踏鞴砂-3.json + 创建边: 40 -> 1094, 路径=assets/pathing/稻妻2-踏鞴砂-4.json + 创建边: 40 -> 1095, 路径=assets/pathing/稻妻2-踏鞴砂-5.json + 创建边: 41 -> 1096, 路径=assets/pathing/稻妻3-八酝岛-1.json + 创建边: 41 -> 1098, 路径=assets/pathing/稻妻3-八酝岛-3.json + 创建边: 41 -> 1099, 路径=assets/pathing/稻妻3-八酝岛-4.json + 创建边: 42 -> 1100, 路径=assets/pathing/稻妻4-海祇岛-1.json + 创建边: 43 -> 1103, 路径=assets/pathing/稻妻4-海祇岛-4.json + 创建边: 44 -> 1104, 路径=assets/pathing/稻妻5-清籁岛-1.json + 创建边: 45 -> 1107, 路径=assets/pathing/稻妻5-清籁岛-4.json + 创建边: 46 -> 1109, 路径=assets/pathing/纳塔1-隆崛坡-1.json + 创建边: 47 -> 1110, 路径=assets/pathing/纳塔1-隆崛坡-2.json + 创建边: 47 -> 1111, 路径=assets/pathing/纳塔1-隆崛坡-3.json + 创建边: 48 -> 1113, 路径=assets/pathing/纳塔10-溶水域-1.json + 创建边: 49 -> 1116, 路径=assets/pathing/纳塔10-溶水域-4.json + 创建边: 50 -> 1117, 路径=assets/pathing/纳塔2-硫晶支脉-1.json + 创建边: 50 -> 1118, 路径=assets/pathing/纳塔2-硫晶支脉-2.json + 创建边: 50 -> 1119, 路径=assets/pathing/纳塔2-硫晶支脉-3.json + 创建边: 51 -> 1120, 路径=assets/pathing/纳塔2-硫晶支脉-4.json + 创建边: 52 -> 1121, 路径=assets/pathing/纳塔3-彩石顶-1.json + 创建边: 53 -> 1122, 路径=assets/pathing/纳塔3-彩石顶-2.json + 创建边: 53 -> 1123, 路径=assets/pathing/纳塔3-彩石顶-3.json + 创建边: 54 -> 1125, 路径=assets/pathing/纳塔4-溶水域-1.json + 创建边: 55 -> 1127, 路径=assets/pathing/纳塔5-安饶之野-1.json + 创建边: 55 -> 1128, 路径=assets/pathing/纳塔5-安饶之野-2.json + 创建边: 55 -> 1129, 路径=assets/pathing/纳塔5-安饶之野-3.json + 创建边: 56 -> 1130, 路径=assets/pathing/纳塔6-圣火竞技场-1.json + 创建边: 56 -> 1131, 路径=assets/pathing/纳塔6-圣火竞技场-2.json + 创建边: 57 -> 1134, 路径=assets/pathing/纳塔7-烟谜主-1.json + 创建边: 58 -> 1137, 路径=assets/pathing/纳塔8-花羽会-1.json + 创建边: 58 -> 1138, 路径=assets/pathing/纳塔8-花羽会-2.json + 创建边: 59 -> 1139, 路径=assets/pathing/纳塔8-花羽会-3.json + 创建边: 60 -> 1140, 路径=assets/pathing/纳塔9-翘枝崖-1.json + 创建边: 61 -> 1144, 路径=assets/pathing/蒙德1-风起地-1.json + 创建边: 62 -> 1145, 路径=assets/pathing/蒙德1-风起地-2.json + 创建边: 63 -> 1177, 路径=assets/pathing/蒙德1-风起地-5.json + 创建边: 64 -> 1149, 路径=assets/pathing/蒙德2-清泉镇-1.json + 创建边: 65 -> 1150, 路径=assets/pathing/蒙德2-清泉镇-2.json + 创建边: 66 -> 1153, 路径=assets/pathing/蒙德2-清泉镇-5-1.json + 创建边: 67 -> 1155, 路径=assets/pathing/蒙德3-奔狼领-1.json + 创建边: 68 -> 1158, 路径=assets/pathing/蒙德3-奔狼领-4.json + 创建边: 69 -> 1159, 路径=assets/pathing/蒙德4-风龙废墟-1.json + 创建边: 70 -> 1161, 路径=assets/pathing/蒙德4-风龙废墟-3.json + 创建边: 71 -> 1163, 路径=assets/pathing/蒙德5-千风神殿-1.json + 创建边: 72 -> 1166, 路径=assets/pathing/蒙德5-千风神殿-4.json + 创建边: 73 -> 1167, 路径=assets/pathing/蒙德5-千风神殿-5.json + 创建边: 73 -> 1168, 路径=assets/pathing/蒙德6-望风山地-1.json + 创建边: 74 -> 1170, 路径=assets/pathing/蒙德6-望风山地-3.json + 创建边: 75 -> 1172, 路径=assets/pathing/蒙德7-达达乌帕谷-1.json + 创建边: 76 -> 1173, 路径=assets/pathing/蒙德7-达达乌帕谷-2.json + 创建边: 76 -> 1174, 路径=assets/pathing/蒙德7-达达乌帕谷-3.json + 创建边: 63 -> 1177, 路径=assets/pathing/蒙德7-达达乌帕谷-6.json + 创建边: 77 -> 1178, 路径=assets/pathing/须弥1-无郁稠林-1.json + 创建边: 78 -> 1183, 路径=assets/pathing/须弥10-荼泥黑渊-1.json + 创建边: 78 -> 1184, 路径=assets/pathing/须弥10-荼泥黑渊-2.json + 创建边: 78 -> 1185, 路径=assets/pathing/须弥10-荼泥黑渊-3.json + 创建边: 79 -> 1186, 路径=assets/pathing/须弥10-荼泥黑渊-4.json + 创建边: 80 -> 1187, 路径=assets/pathing/须弥2-奥摩斯港西-1.json + 创建边: 81 -> 1189, 路径=assets/pathing/须弥2-奥摩斯港西-3.json + 创建边: 82 -> 1192, 路径=assets/pathing/须弥3-禅那园-1.json + 创建边: 83 -> 1194, 路径=assets/pathing/须弥3-禅那园-3.json + 创建边: 84 -> 1196, 路径=assets/pathing/须弥4-水天丛林-1.json + 创建边: 85 -> 1199, 路径=assets/pathing/须弥4-水天丛林-4.json + 创建边: 86 -> 1200, 路径=assets/pathing/须弥4-水天丛林-5.json + 创建边: 87 -> 1201, 路径=assets/pathing/须弥5-阿如村-1.json + 创建边: 88 -> 1206, 路径=assets/pathing/须弥6-荼诃落谷-1.json + 创建边: 89 -> 1207, 路径=assets/pathing/须弥6-荼诃落谷-2.json + 创建边: 90 -> 1209, 路径=assets/pathing/须弥6-荼诃落谷-4.json + 创建边: 91 -> 1210, 路径=assets/pathing/须弥8-折胫谷-1.json + 创建边: 92 -> 1214, 路径=assets/pathing/须弥9-镔铁沙丘-1.json + +检查目标点的连通性... + 警告: 目标点 ID=1029, 区域=璃月1-3, 坐标=(-81.76, 1534.73) 没有入边 + 警告: 目标点 ID=1030, 区域=璃月1-4, 坐标=(-28.76, 1417.37) 没有入边 + 警告: 目标点 ID=1035, 区域=璃月10-5, 坐标=(455.4, 546.56) 没有入边 + 警告: 目标点 ID=1037, 区域=璃月11-2, 坐标=(697.31, 1551.84) 没有入边 + 警告: 目标点 ID=1038, 区域=璃月11-3, 坐标=(646.5, 1421.98) 没有入边 + 警告: 目标点 ID=1039, 区域=璃月11-4, 坐标=(632.03, 1331.15) 没有入边 + 警告: 目标点 ID=1044, 区域=璃月13-3, 坐标=(2226.91, 863.09) 没有入边 + 警告: 目标点 ID=1045, 区域=璃月13-4, 坐标=(2028.69, 830.67) 没有入边 + 警告: 目标点 ID=1047, 区域=璃月14-2, 坐标=(1581.57, 1437.1) 没有入边 + 警告: 目标点 ID=1048, 区域=璃月14-3, 坐标=(1563.45, 1487.35) 没有入边 + 警告: 目标点 ID=1049, 区域=璃月14-4, 坐标=(1525.0, 1549.17) 没有入边 + 警告: 目标点 ID=1058, 区域=璃月3-5, 坐标=(456.0, 546.29) 没有入边 + 警告: 目标点 ID=1060, 区域=璃月4-2, 坐标=(101.14, -2.97) 没有入边 + 警告: 目标点 ID=1061, 区域=璃月4-3, 坐标=(127.05, 113.87) 没有入边 + 警告: 目标点 ID=1062, 区域=璃月4-4, 坐标=(146.03, 220.07) 没有入边 + 警告: 目标点 ID=1064, 区域=璃月4-6, 坐标=(276.55, 543.11) 没有入边 + 警告: 目标点 ID=1065, 区域=璃月4-7, 坐标=(456.44, 546.35) 没有入边 + 警告: 目标点 ID=1068, 区域=璃月5-3, 坐标=(1063.54, -727.34) 没有入边 + 警告: 目标点 ID=1072, 区域=璃月7-3, 坐标=(752.42, 3.88) 没有入边 + 警告: 目标点 ID=1074, 区域=璃月7-5, 坐标=(681.46, 528.76) 没有入边 + 警告: 目标点 ID=1080, 区域=璃月8-5, 坐标=(815.31, 137.31) 没有入边 + 警告: 目标点 ID=1081, 区域=璃月8-6, 坐标=(683.33, 529.05) 没有入边 + 警告: 目标点 ID=1082, 区域=璃月8-7, 坐标=(455.84, 546.39) 没有入边 + 警告: 目标点 ID=1084, 区域=璃月9-2, 坐标=(1445.77, 577.83) 没有入边 + 警告: 目标点 ID=1097, 区域=稻妻3-2, 坐标=(-2280.61, -4171.18) 没有入边 + 警告: 目标点 ID=1101, 区域=稻妻4-2, 坐标=(-1190.51, -3902.08) 没有入边 + 警告: 目标点 ID=1102, 区域=稻妻4-3, 坐标=(-1254.7, -3839.91) 没有入边 + 警告: 目标点 ID=1105, 区域=稻妻5-2, 坐标=(-3850.61, -4241.9) 没有入边 + 警告: 目标点 ID=1106, 区域=稻妻5-3, 坐标=(-3763.54, -4259.14) 没有入边 + 警告: 目标点 ID=1108, 区域=稻妻5-5, 坐标=(-3671.61, -4414.03) 没有入边 + 警告: 目标点 ID=1112, 区域=纳塔1-4, 坐标=(7853.72, -1554.26) 没有入边 + 警告: 目标点 ID=1114, 区域=纳塔10-2, 坐标=(8496.07, -3018.4) 没有入边 + 警告: 目标点 ID=1115, 区域=纳塔10-3, 坐标=(8587.99, -3022.4) 没有入边 + 警告: 目标点 ID=1124, 区域=纳塔3-4, 坐标=(8088.21, -2053.56) 没有入边 + 警告: 目标点 ID=1126, 区域=纳塔4-2, 坐标=(9090.71, -2407.11) 没有入边 + 警告: 目标点 ID=1132, 区域=纳塔6-3, 坐标=(8945.55, -2138.43) 没有入边 + 警告: 目标点 ID=1133, 区域=纳塔6-4, 坐标=(8810.08, -2077.83) 没有入边 + 警告: 目标点 ID=1135, 区域=纳塔7-2, 坐标=(9963.8, -1511.61) 没有入边 + 警告: 目标点 ID=1136, 区域=纳塔7-3, 坐标=(9907.78, -1424.0) 没有入边 + 警告: 目标点 ID=1141, 区域=纳塔9-2, 坐标=(9888.22, -1046.55) 没有入边 + 警告: 目标点 ID=1142, 区域=纳塔9-3, 坐标=(9938.82, -933.87) 没有入边 + 警告: 目标点 ID=1143, 区域=纳塔9-4, 坐标=(9984.24, -876.43) 没有入边 + 警告: 目标点 ID=1146, 区域=蒙德1-3, 坐标=(-1113.87, 1971.9) 没有入边 + 警告: 目标点 ID=1147, 区域=蒙德1-4, 坐标=(-1041.91, 1927.07) 没有入边 + 警告: 目标点 ID=1148, 区域=蒙德1-5, 坐标=(-895.08, 1833.84) 没有入边 + 警告: 目标点 ID=1151, 区域=蒙德2-3, 坐标=(-420.36, 1998.11) 没有入边 + 警告: 目标点 ID=1152, 区域=蒙德2-4-1, 坐标=(-347.95, 1902.51) 没有入边 + 警告: 目标点 ID=1154, 区域=蒙德2-5-1, 坐标=(-319.57, 2156.48) 没有入边 + 警告: 目标点 ID=1156, 区域=蒙德3-2, 坐标=(-205.49, 2429.07) 没有入边 + 警告: 目标点 ID=1157, 区域=蒙德3-3, 坐标=(-327.03, 2410.43) 没有入边 + 警告: 目标点 ID=1160, 区域=蒙德4-2, 坐标=(124.61, 2817.24) 没有入边 + 警告: 目标点 ID=1162, 区域=蒙德4-4, 坐标=(-27.99, 2919.59) 没有入边 + 警告: 目标点 ID=1164, 区域=蒙德5-2, 坐标=(-1367.78, 2411.31) 没有入边 + 警告: 目标点 ID=1165, 区域=蒙德5-3, 坐标=(-1474.91, 2520.0) 没有入边 + 警告: 目标点 ID=1169, 区域=蒙德6-2, 坐标=(-1518.71, 2877.4) 没有入边 + 警告: 目标点 ID=1171, 区域=蒙德6-4, 坐标=(-1710.73, 2983.29) 没有入边 + 警告: 目标点 ID=1175, 区域=蒙德7-4, 坐标=(-1318.63, 1692.63) 没有入边 + 警告: 目标点 ID=1176, 区域=蒙德7-5, 坐标=(-1138.22, 1789.79) 没有入边 + 警告: 目标点 ID=1179, 区域=须弥1-2, 坐标=(2317.29, -115.35) 没有入边 + 警告: 目标点 ID=1180, 区域=须弥1-3, 坐标=(2212.83, -83.02) 没有入边 + 警告: 目标点 ID=1181, 区域=须弥1-4, 坐标=(2233.8, -160.88) 没有入边 + 警告: 目标点 ID=1182, 区域=须弥1-5, 坐标=(2269.0, -251.14) 没有入边 + 警告: 目标点 ID=1188, 区域=须弥2-2, 坐标=(2980.38, -1758.57) 没有入边 + 警告: 目标点 ID=1190, 区域=须弥2-4, 坐标=(2981.92, -1641.54) 没有入边 + 警告: 目标点 ID=1191, 区域=须弥2-5, 坐标=(2963.07, -1586.92) 没有入边 + 警告: 目标点 ID=1193, 区域=须弥3-2, 坐标=(3233.51, -740.65) 没有入边 + 警告: 目标点 ID=1195, 区域=须弥3-4, 坐标=(3387.39, -664.21) 没有入边 + 警告: 目标点 ID=1197, 区域=须弥4-2, 坐标=(3355.82, -1318.18) 没有入边 + 警告: 目标点 ID=1198, 区域=须弥4-3, 坐标=(3466.17, -1318.08) 没有入边 + 警告: 目标点 ID=1202, 区域=须弥5-2, 坐标=(4257.86, -1903.31) 没有入边 + 警告: 目标点 ID=1203, 区域=须弥5-3, 坐标=(4144.29, -2014.19) 没有入边 + 警告: 目标点 ID=1204, 区域=须弥5-4, 坐标=(4144.18, -2014.48) 没有入边 + 警告: 目标点 ID=1205, 区域=须弥5-5, 坐标=(4211.01, -2165.65) 没有入边 + 警告: 目标点 ID=1208, 区域=须弥6-3, 坐标=(4886.54, -2940.45) 没有入边 + 警告: 目标点 ID=1211, 区域=须弥8-2, 坐标=(5887.09, -1120.65) 没有入边 + 警告: 目标点 ID=1212, 区域=须弥8-3, 坐标=(5902.11, -1008.25) 没有入边 + 警告: 目标点 ID=1213, 区域=须弥8-4, 坐标=(5928.09, -922.46) 没有入边 + 警告: 目标点 ID=1215, 区域=须弥9-2, 坐标=(4573.81, -408.86) 没有入边 + 警告: 目标点 ID=1216, 区域=须弥9-3, 坐标=(4756.13, -221.43) 没有入边 + 警告: 目标点 ID=1217, 区域=须弥9-4, 坐标=(4862.07, -150.71) 没有入边 + +尝试为 80 个孤立目标点寻找连续路径... + +处理区域 璃月1-3 的 1 个孤立目标点... + 区域 璃月1-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月1-4 的 1 个孤立目标点... + 区域 璃月1-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月10-5 的 1 个孤立目标点... + 区域 璃月10-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月11-2 的 1 个孤立目标点... + 区域 璃月11-2 没有现有路径,无法连接孤立目标点 + +处理区域 璃月11-3 的 1 个孤立目标点... + 区域 璃月11-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月11-4 的 1 个孤立目标点... + 区域 璃月11-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月13-3 的 1 个孤立目标点... + 区域 璃月13-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月13-4 的 1 个孤立目标点... + 区域 璃月13-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月14-2 的 1 个孤立目标点... + 区域 璃月14-2 没有现有路径,无法连接孤立目标点 + +处理区域 璃月14-3 的 1 个孤立目标点... + 区域 璃月14-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月14-4 的 1 个孤立目标点... + 区域 璃月14-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月3-5 的 1 个孤立目标点... + 区域 璃月3-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-2 的 1 个孤立目标点... + 区域 璃月4-2 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-3 的 1 个孤立目标点... + 区域 璃月4-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-4 的 1 个孤立目标点... + 区域 璃月4-4 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-6 的 1 个孤立目标点... + 区域 璃月4-6 没有现有路径,无法连接孤立目标点 + +处理区域 璃月4-7 的 1 个孤立目标点... + 区域 璃月4-7 没有现有路径,无法连接孤立目标点 + +处理区域 璃月5-3 的 1 个孤立目标点... + 区域 璃月5-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月7-3 的 1 个孤立目标点... + 区域 璃月7-3 没有现有路径,无法连接孤立目标点 + +处理区域 璃月7-5 的 1 个孤立目标点... + 区域 璃月7-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月8-5 的 1 个孤立目标点... + 区域 璃月8-5 没有现有路径,无法连接孤立目标点 + +处理区域 璃月8-6 的 1 个孤立目标点... + 区域 璃月8-6 没有现有路径,无法连接孤立目标点 + +处理区域 璃月8-7 的 1 个孤立目标点... + 区域 璃月8-7 没有现有路径,无法连接孤立目标点 + +处理区域 璃月9-2 的 1 个孤立目标点... + 区域 璃月9-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻3-2 的 1 个孤立目标点... + 区域 稻妻3-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻4-2 的 1 个孤立目标点... + 区域 稻妻4-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻4-3 的 1 个孤立目标点... + 区域 稻妻4-3 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻5-2 的 1 个孤立目标点... + 区域 稻妻5-2 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻5-3 的 1 个孤立目标点... + 区域 稻妻5-3 没有现有路径,无法连接孤立目标点 + +处理区域 稻妻5-5 的 1 个孤立目标点... + 区域 稻妻5-5 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔1-4 的 1 个孤立目标点... + 区域 纳塔1-4 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔10-2 的 1 个孤立目标点... + 区域 纳塔10-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔10-3 的 1 个孤立目标点... + 区域 纳塔10-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔3-4 的 1 个孤立目标点... + 区域 纳塔3-4 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔4-2 的 1 个孤立目标点... + 区域 纳塔4-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔6-3 的 1 个孤立目标点... + 区域 纳塔6-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔6-4 的 1 个孤立目标点... + 区域 纳塔6-4 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔7-2 的 1 个孤立目标点... + 区域 纳塔7-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔7-3 的 1 个孤立目标点... + 区域 纳塔7-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔9-2 的 1 个孤立目标点... + 区域 纳塔9-2 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔9-3 的 1 个孤立目标点... + 区域 纳塔9-3 没有现有路径,无法连接孤立目标点 + +处理区域 纳塔9-4 的 1 个孤立目标点... + 区域 纳塔9-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德1-3 的 1 个孤立目标点... + 区域 蒙德1-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德1-4 的 1 个孤立目标点... + 区域 蒙德1-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德1-5 的 1 个孤立目标点... + 区域 蒙德1-5 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德2-3 的 1 个孤立目标点... + 区域 蒙德2-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德2-4-1 的 1 个孤立目标点... + 区域 蒙德2-4-1 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德2-5-1 的 1 个孤立目标点... + 区域 蒙德2-5-1 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德3-2 的 1 个孤立目标点... + 区域 蒙德3-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德3-3 的 1 个孤立目标点... + 区域 蒙德3-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德4-2 的 1 个孤立目标点... + 区域 蒙德4-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德4-4 的 1 个孤立目标点... + 区域 蒙德4-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德5-2 的 1 个孤立目标点... + 区域 蒙德5-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德5-3 的 1 个孤立目标点... + 区域 蒙德5-3 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德6-2 的 1 个孤立目标点... + 区域 蒙德6-2 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德6-4 的 1 个孤立目标点... + 区域 蒙德6-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德7-4 的 1 个孤立目标点... + 区域 蒙德7-4 没有现有路径,无法连接孤立目标点 + +处理区域 蒙德7-5 的 1 个孤立目标点... + 区域 蒙德7-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-2 的 1 个孤立目标点... + 区域 须弥1-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-3 的 1 个孤立目标点... + 区域 须弥1-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-4 的 1 个孤立目标点... + 区域 须弥1-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥1-5 的 1 个孤立目标点... + 区域 须弥1-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥2-2 的 1 个孤立目标点... + 区域 须弥2-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥2-4 的 1 个孤立目标点... + 区域 须弥2-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥2-5 的 1 个孤立目标点... + 区域 须弥2-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥3-2 的 1 个孤立目标点... + 区域 须弥3-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥3-4 的 1 个孤立目标点... + 区域 须弥3-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥4-2 的 1 个孤立目标点... + 区域 须弥4-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥4-3 的 1 个孤立目标点... + 区域 须弥4-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-2 的 1 个孤立目标点... + 区域 须弥5-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-3 的 1 个孤立目标点... + 区域 须弥5-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-4 的 1 个孤立目标点... + 区域 须弥5-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥5-5 的 1 个孤立目标点... + 区域 须弥5-5 没有现有路径,无法连接孤立目标点 + +处理区域 须弥6-3 的 1 个孤立目标点... + 区域 须弥6-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥8-2 的 1 个孤立目标点... + 区域 须弥8-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥8-3 的 1 个孤立目标点... + 区域 须弥8-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥8-4 的 1 个孤立目标点... + 区域 须弥8-4 没有现有路径,无法连接孤立目标点 + +处理区域 须弥9-2 的 1 个孤立目标点... + 区域 须弥9-2 没有现有路径,无法连接孤立目标点 + +处理区域 须弥9-3 的 1 个孤立目标点... + 区域 须弥9-3 没有现有路径,无法连接孤立目标点 + +处理区域 须弥9-4 的 1 个孤立目标点... + 区域 须弥9-4 没有现有路径,无法连接孤立目标点 + +按区域对节点进行排序... + +删除边数据中的位置信息... + +按照目标节点(target)的顺序排列边... + +创建节点到节点的顺序边... + 创建顺序边: 枫丹1-1 → 枫丹1-2, 路径=assets/pathing/枫丹1-秋分山西侧-2.json + 创建顺序边: 枫丹1-2 → 枫丹1-3, 路径=assets/pathing/枫丹1-秋分山西侧-3.json + 创建顺序边: 枫丹1-3 → 枫丹1-4, 路径=assets/pathing/枫丹1-秋分山西侧-4.json + 创建顺序边: 枫丹1-4 → 枫丹1-5, 路径=assets/pathing/枫丹1-秋分山西侧-5.json + 创建顺序边: 枫丹2-1 → 枫丹2-2, 路径=assets/pathing/枫丹2-芒索斯山东麓-2.json + 创建顺序边: 枫丹2-2 → 枫丹2-3, 路径=assets/pathing/枫丹2-芒索斯山东麓-3.json + 创建顺序边: 枫丹2-3 → 枫丹2-4, 路径=assets/pathing/枫丹2-芒索斯山东麓-4.json + 创建顺序边: 枫丹3-1 → 枫丹3-2, 路径=assets/pathing/枫丹3-新枫丹科学院-2.json + 创建顺序边: 枫丹3-2 → 枫丹3-3, 路径=assets/pathing/枫丹3-新枫丹科学院-3.json + 创建顺序边: 枫丹3-3 → 枫丹3-4, 路径=assets/pathing/枫丹3-新枫丹科学院-4.json + 创建顺序边: 枫丹4-1 → 枫丹4-2, 路径=assets/pathing/枫丹4-柔灯港-2.json + 创建顺序边: 枫丹4-2 → 枫丹4-3, 路径=assets/pathing/枫丹4-柔灯港-3.json + 创建顺序边: 枫丹4-3 → 枫丹4-4, 路径=assets/pathing/枫丹4-柔灯港-4.json + 创建顺序边: 枫丹5-1 → 枫丹5-2, 路径=assets/pathing/枫丹5-秋分山东侧-2.json + 创建顺序边: 枫丹5-2 → 枫丹5-3, 路径=assets/pathing/枫丹5-秋分山东侧-3.json + 创建顺序边: 枫丹5-3 → 枫丹5-4, 路径=assets/pathing/枫丹5-秋分山东侧-4.json + 创建顺序边: 枫丹6-1 → 枫丹6-2, 路径=assets/pathing/枫丹6-厄里那斯-2.json + 创建顺序边: 枫丹6-2 → 枫丹6-3, 路径=assets/pathing/枫丹6-厄里那斯-3.json + 创建顺序边: 枫丹6-3 → 枫丹6-4, 路径=assets/pathing/枫丹6-厄里那斯-4.json + 创建顺序边: 枫丹6-4 → 枫丹6-5, 路径=assets/pathing/枫丹6-厄里那斯-5.json + 创建顺序边: 枫丹6-5 → 枫丹6-6, 路径=assets/pathing/枫丹6-厄里那斯-6.json + 创建顺序边: 璃月1-1 → 璃月1-2, 路径=assets/pathing/璃月1-石门-2.json + 创建顺序边: 璃月1-2 → 璃月1-3, 路径=assets/pathing/璃月1-石门-3.json + 创建顺序边: 璃月1-3 → 璃月1-4, 路径=assets/pathing/璃月1-石门-4.json + 创建顺序边: 璃月10-1 → 璃月10-2, 路径=assets/pathing/璃月10-绝云间-2.json + 创建顺序边: 璃月10-2 → 璃月10-3, 路径=assets/pathing/璃月10-绝云间-3.json + 创建顺序边: 璃月10-3 → 璃月10-4, 路径=assets/pathing/璃月10-绝云间-4.json + 创建顺序边: 璃月10-4 → 璃月10-5, 路径=assets/pathing/璃月10-绝云间-5.json + 创建顺序边: 璃月11-1 → 璃月11-2, 路径=assets/pathing/璃月11-轻策庄-2.json + 创建顺序边: 璃月11-2 → 璃月11-3, 路径=assets/pathing/璃月11-轻策庄-3.json + 创建顺序边: 璃月11-3 → 璃月11-4, 路径=assets/pathing/璃月11-轻策庄-4.json + 创建顺序边: 璃月11-4 → 璃月11-5, 路径=assets/pathing/璃月11-轻策庄-5.json + 创建顺序边: 璃月11-5 → 璃月11-6, 路径=assets/pathing/璃月11-轻策庄-6.json + 创建顺序边: 璃月13-1 → 璃月13-2, 路径=assets/pathing/璃月13-悬练山-2.json + 创建顺序边: 璃月13-2 → 璃月13-3, 路径=assets/pathing/璃月13-悬练山-3.json + 创建顺序边: 璃月13-3 → 璃月13-4, 路径=assets/pathing/璃月13-悬练山-4.json + 创建顺序边: 璃月14-1 → 璃月14-2, 路径=assets/pathing/璃月14-药蝶谷-2.json + 创建顺序边: 璃月14-2 → 璃月14-3, 路径=assets/pathing/璃月14-药蝶谷-3.json + 创建顺序边: 璃月14-3 → 璃月14-4, 路径=assets/pathing/璃月14-药蝶谷-4.json + 创建顺序边: 璃月2-1 → 璃月2-2, 路径=assets/pathing/璃月2-地中之盐-2.json + 创建顺序边: 璃月2-2 → 璃月2-3, 路径=assets/pathing/璃月2-地中之盐-3.json + 创建顺序边: 璃月2-3 → 璃月2-4, 路径=assets/pathing/璃月2-地中之盐-4.json + 创建顺序边: 璃月3-1 → 璃月3-2, 路径=assets/pathing/璃月3-瑶光滩-2.json + 创建顺序边: 璃月3-2 → 璃月3-3, 路径=assets/pathing/璃月3-瑶光滩-3.json + 创建顺序边: 璃月3-3 → 璃月3-4, 路径=assets/pathing/璃月3-瑶光滩-4.json + 创建顺序边: 璃月3-4 → 璃月3-5, 路径=assets/pathing/璃月3-瑶光滩-5.json + 创建顺序边: 璃月4-1 → 璃月4-2, 路径=assets/pathing/璃月4-璃月港-2.json + 创建顺序边: 璃月4-2 → 璃月4-3, 路径=assets/pathing/璃月4-璃月港-3.json + 创建顺序边: 璃月4-3 → 璃月4-4, 路径=assets/pathing/璃月4-璃月港-4.json + 创建顺序边: 璃月4-4 → 璃月4-5, 路径=assets/pathing/璃月4-璃月港-5.json + 创建顺序边: 璃月4-5 → 璃月4-6, 路径=assets/pathing/璃月4-璃月港-6.json + 创建顺序边: 璃月4-6 → 璃月4-7, 路径=assets/pathing/璃月4-璃月港-7.json + 创建顺序边: 璃月5-1 → 璃月5-2, 路径=assets/pathing/璃月5-天衡山-2.json + 创建顺序边: 璃月5-2 → 璃月5-3, 路径=assets/pathing/璃月5-天衡山-3.json + 创建顺序边: 璃月5-3 → 璃月5-4-1, 路径=assets/pathing/璃月5-天衡山-4-1.json + 创建顺序边: 璃月7-1 → 璃月7-2, 路径=assets/pathing/璃月7-遁玉陵-2.json + 创建顺序边: 璃月7-2 → 璃月7-3, 路径=assets/pathing/璃月7-遁玉陵-3.json + 创建顺序边: 璃月7-3 → 璃月7-4, 路径=assets/pathing/璃月7-遁玉陵-4.json + 创建顺序边: 璃月7-4 → 璃月7-5, 路径=assets/pathing/璃月7-遁玉陵-5.json + 创建顺序边: 璃月7-5 → 璃月7-6, 路径=assets/pathing/璃月7-遁玉陵-6.json + 创建顺序边: 璃月8-1 → 璃月8-2, 路径=assets/pathing/璃月8-南天门南-2.json + 创建顺序边: 璃月8-2 → 璃月8-3, 路径=assets/pathing/璃月8-南天门南-3.json + 创建顺序边: 璃月8-3 → 璃月8-4, 路径=assets/pathing/璃月8-南天门南-4.json + 创建顺序边: 璃月8-4 → 璃月8-5, 路径=assets/pathing/璃月8-南天门南-5.json + 创建顺序边: 璃月8-5 → 璃月8-6, 路径=assets/pathing/璃月8-南天门南-6.json + 创建顺序边: 璃月8-6 → 璃月8-7, 路径=assets/pathing/璃月8-南天门南-7.json + 创建顺序边: 璃月9-1 → 璃月9-2, 路径=assets/pathing/璃月9-南天门东-2.json + 创建顺序边: 璃月9-2 → 璃月9-3-1, 路径=assets/pathing/璃月9-南天门东-3-1.json + 创建顺序边: 稻妻1-1 → 稻妻1-2, 路径=assets/pathing/稻妻1-鸣神岛-2.json + 创建顺序边: 稻妻1-2 → 稻妻1-3, 路径=assets/pathing/稻妻1-鸣神岛-3.json + 创建顺序边: 稻妻1-3 → 稻妻1-4, 路径=assets/pathing/稻妻1-鸣神岛-4.json + 创建顺序边: 稻妻2-1 → 稻妻2-2, 路径=assets/pathing/稻妻2-踏鞴砂-2.json + 创建顺序边: 稻妻2-2 → 稻妻2-3, 路径=assets/pathing/稻妻2-踏鞴砂-3.json + 创建顺序边: 稻妻2-3 → 稻妻2-4, 路径=assets/pathing/稻妻2-踏鞴砂-4.json + 创建顺序边: 稻妻2-4 → 稻妻2-5, 路径=assets/pathing/稻妻2-踏鞴砂-5.json + 创建顺序边: 稻妻3-1 → 稻妻3-2, 路径=assets/pathing/稻妻3-八酝岛-2.json + 创建顺序边: 稻妻3-2 → 稻妻3-3, 路径=assets/pathing/稻妻3-八酝岛-3.json + 创建顺序边: 稻妻3-3 → 稻妻3-4, 路径=assets/pathing/稻妻3-八酝岛-4.json + 创建顺序边: 稻妻4-1 → 稻妻4-2, 路径=assets/pathing/稻妻4-海祇岛-2.json + 创建顺序边: 稻妻4-2 → 稻妻4-3, 路径=assets/pathing/稻妻4-海祇岛-3.json + 创建顺序边: 稻妻4-3 → 稻妻4-4, 路径=assets/pathing/稻妻4-海祇岛-4.json + 创建顺序边: 稻妻5-1 → 稻妻5-2, 路径=assets/pathing/稻妻5-清籁岛-2.json + 创建顺序边: 稻妻5-2 → 稻妻5-3, 路径=assets/pathing/稻妻5-清籁岛-3.json + 创建顺序边: 稻妻5-3 → 稻妻5-4, 路径=assets/pathing/稻妻5-清籁岛-4.json + 创建顺序边: 稻妻5-4 → 稻妻5-5, 路径=assets/pathing/稻妻5-清籁岛-5.json + 创建顺序边: 纳塔1-1 → 纳塔1-2, 路径=assets/pathing/纳塔1-隆崛坡-2.json + 创建顺序边: 纳塔1-2 → 纳塔1-3, 路径=assets/pathing/纳塔1-隆崛坡-3.json + 创建顺序边: 纳塔1-3 → 纳塔1-4, 路径=assets/pathing/纳塔1-隆崛坡-4.json + 创建顺序边: 纳塔10-1 → 纳塔10-2, 路径=assets/pathing/纳塔10-溶水域-2.json + 创建顺序边: 纳塔10-2 → 纳塔10-3, 路径=assets/pathing/纳塔10-溶水域-3.json + 创建顺序边: 纳塔10-3 → 纳塔10-4, 路径=assets/pathing/纳塔10-溶水域-4.json + 创建顺序边: 纳塔2-1 → 纳塔2-2, 路径=assets/pathing/纳塔2-硫晶支脉-2.json + 创建顺序边: 纳塔2-2 → 纳塔2-3, 路径=assets/pathing/纳塔2-硫晶支脉-3.json + 创建顺序边: 纳塔2-3 → 纳塔2-4, 路径=assets/pathing/纳塔2-硫晶支脉-4.json + 创建顺序边: 纳塔3-1 → 纳塔3-2, 路径=assets/pathing/纳塔3-彩石顶-2.json + 创建顺序边: 纳塔3-2 → 纳塔3-3, 路径=assets/pathing/纳塔3-彩石顶-3.json + 创建顺序边: 纳塔3-3 → 纳塔3-4, 路径=assets/pathing/纳塔3-彩石顶-4.json + 创建顺序边: 纳塔4-1 → 纳塔4-2, 路径=assets/pathing/纳塔4-溶水域-2.json + 创建顺序边: 纳塔5-1 → 纳塔5-2, 路径=assets/pathing/纳塔5-安饶之野-2.json + 创建顺序边: 纳塔5-2 → 纳塔5-3, 路径=assets/pathing/纳塔5-安饶之野-3.json + 创建顺序边: 纳塔6-1 → 纳塔6-2, 路径=assets/pathing/纳塔6-圣火竞技场-2.json + 创建顺序边: 纳塔6-2 → 纳塔6-3, 路径=assets/pathing/纳塔6-圣火竞技场-3.json + 创建顺序边: 纳塔6-3 → 纳塔6-4, 路径=assets/pathing/纳塔6-圣火竞技场-4.json + 创建顺序边: 纳塔7-1 → 纳塔7-2, 路径=assets/pathing/纳塔7-烟谜主-2.json + 创建顺序边: 纳塔7-2 → 纳塔7-3, 路径=assets/pathing/纳塔7-烟谜主-3.json + 创建顺序边: 纳塔8-1 → 纳塔8-2, 路径=assets/pathing/纳塔8-花羽会-2.json + 创建顺序边: 纳塔8-2 → 纳塔8-3, 路径=assets/pathing/纳塔8-花羽会-3.json + 创建顺序边: 纳塔9-1 → 纳塔9-2, 路径=assets/pathing/纳塔9-翘枝崖-2.json + 创建顺序边: 纳塔9-2 → 纳塔9-3, 路径=assets/pathing/纳塔9-翘枝崖-3.json + 创建顺序边: 纳塔9-3 → 纳塔9-4, 路径=assets/pathing/纳塔9-翘枝崖-4.json + 创建顺序边: 蒙德1-1 → 蒙德1-2, 路径=assets/pathing/蒙德1-风起地-2.json + 创建顺序边: 蒙德1-2 → 蒙德1-3, 路径=assets/pathing/蒙德1-风起地-3.json + 创建顺序边: 蒙德1-3 → 蒙德1-4, 路径=assets/pathing/蒙德1-风起地-4.json + 创建顺序边: 蒙德1-4 → 蒙德1-5, 路径=assets/pathing/蒙德1-风起地-5.json + 创建顺序边: 蒙德2-1 → 蒙德2-2, 路径=assets/pathing/蒙德2-清泉镇-2.json + 创建顺序边: 蒙德2-2 → 蒙德2-3, 路径=assets/pathing/蒙德2-清泉镇-3.json + 创建顺序边: 蒙德2-3 → 蒙德2-4-1, 路径=assets/pathing/蒙德2-清泉镇-4-1.json + 创建顺序边: 蒙德2-4-1 → 蒙德2-4-2, 路径=assets/pathing/蒙德2-清泉镇-4-2.json + 创建顺序边: 蒙德3-1 → 蒙德3-2, 路径=assets/pathing/蒙德3-奔狼领-2.json + 创建顺序边: 蒙德3-2 → 蒙德3-3, 路径=assets/pathing/蒙德3-奔狼领-3.json + 创建顺序边: 蒙德3-3 → 蒙德3-4, 路径=assets/pathing/蒙德3-奔狼领-4.json + 创建顺序边: 蒙德4-1 → 蒙德4-2, 路径=assets/pathing/蒙德4-风龙废墟-2.json + 创建顺序边: 蒙德4-2 → 蒙德4-3, 路径=assets/pathing/蒙德4-风龙废墟-3.json + 创建顺序边: 蒙德4-3 → 蒙德4-4, 路径=assets/pathing/蒙德4-风龙废墟-4.json + 创建顺序边: 蒙德5-1 → 蒙德5-2, 路径=assets/pathing/蒙德5-千风神殿-2.json + 创建顺序边: 蒙德5-2 → 蒙德5-3, 路径=assets/pathing/蒙德5-千风神殿-3.json + 创建顺序边: 蒙德5-3 → 蒙德5-4, 路径=assets/pathing/蒙德5-千风神殿-4.json + 创建顺序边: 蒙德5-4 → 蒙德5-5, 路径=assets/pathing/蒙德5-千风神殿-5.json + 创建顺序边: 蒙德6-1 → 蒙德6-2, 路径=assets/pathing/蒙德6-望风山地-2.json + 创建顺序边: 蒙德6-2 → 蒙德6-3, 路径=assets/pathing/蒙德6-望风山地-3.json + 创建顺序边: 蒙德6-3 → 蒙德6-4, 路径=assets/pathing/蒙德6-望风山地-4.json + 创建顺序边: 蒙德7-1 → 蒙德7-2, 路径=assets/pathing/蒙德7-达达乌帕谷-2.json + 创建顺序边: 蒙德7-2 → 蒙德7-3, 路径=assets/pathing/蒙德7-达达乌帕谷-3.json + 创建顺序边: 蒙德7-3 → 蒙德7-4, 路径=assets/pathing/蒙德7-达达乌帕谷-4.json + 创建顺序边: 蒙德7-4 → 蒙德7-5, 路径=assets/pathing/蒙德7-达达乌帕谷-5.json + 创建顺序边: 蒙德7-5 → 蒙德7-6, 路径=assets/pathing/蒙德7-达达乌帕谷-6.json + 创建顺序边: 须弥1-1 → 须弥1-2, 路径=assets/pathing/须弥1-无郁稠林-2.json + 创建顺序边: 须弥1-2 → 须弥1-3, 路径=assets/pathing/须弥1-无郁稠林-3.json + 创建顺序边: 须弥1-3 → 须弥1-4, 路径=assets/pathing/须弥1-无郁稠林-4.json + 创建顺序边: 须弥1-4 → 须弥1-5, 路径=assets/pathing/须弥1-无郁稠林-5.json + 创建顺序边: 须弥10-1 → 须弥10-2, 路径=assets/pathing/须弥10-荼泥黑渊-2.json + 创建顺序边: 须弥10-2 → 须弥10-3, 路径=assets/pathing/须弥10-荼泥黑渊-3.json + 创建顺序边: 须弥10-3 → 须弥10-4, 路径=assets/pathing/须弥10-荼泥黑渊-4.json + 创建顺序边: 须弥2-1 → 须弥2-2, 路径=assets/pathing/须弥2-奥摩斯港西-2.json + 创建顺序边: 须弥2-2 → 须弥2-3, 路径=assets/pathing/须弥2-奥摩斯港西-3.json + 创建顺序边: 须弥2-3 → 须弥2-4, 路径=assets/pathing/须弥2-奥摩斯港西-4.json + 创建顺序边: 须弥2-4 → 须弥2-5, 路径=assets/pathing/须弥2-奥摩斯港西-5.json + 创建顺序边: 须弥3-1 → 须弥3-2, 路径=assets/pathing/须弥3-禅那园-2.json + 创建顺序边: 须弥3-2 → 须弥3-3, 路径=assets/pathing/须弥3-禅那园-3.json + 创建顺序边: 须弥3-3 → 须弥3-4, 路径=assets/pathing/须弥3-禅那园-4.json + 创建顺序边: 须弥4-1 → 须弥4-2, 路径=assets/pathing/须弥4-水天丛林-2.json + 创建顺序边: 须弥4-2 → 须弥4-3, 路径=assets/pathing/须弥4-水天丛林-3.json + 创建顺序边: 须弥4-3 → 须弥4-4, 路径=assets/pathing/须弥4-水天丛林-4.json + 创建顺序边: 须弥4-4 → 须弥4-5, 路径=assets/pathing/须弥4-水天丛林-5.json + 创建顺序边: 须弥5-1 → 须弥5-2, 路径=assets/pathing/须弥5-阿如村-2.json + 创建顺序边: 须弥5-2 → 须弥5-3, 路径=assets/pathing/须弥5-阿如村-3.json + 创建顺序边: 须弥5-3 → 须弥5-4, 路径=assets/pathing/须弥5-阿如村-4.json + 创建顺序边: 须弥5-4 → 须弥5-5, 路径=assets/pathing/须弥5-阿如村-5.json + 创建顺序边: 须弥6-1 → 须弥6-2, 路径=assets/pathing/须弥6-荼诃落谷-2.json + 创建顺序边: 须弥6-2 → 须弥6-3, 路径=assets/pathing/须弥6-荼诃落谷-3.json + 创建顺序边: 须弥6-3 → 须弥6-4, 路径=assets/pathing/须弥6-荼诃落谷-4.json + 创建顺序边: 须弥8-1 → 须弥8-2, 路径=assets/pathing/须弥8-折胫谷-2.json + 创建顺序边: 须弥8-2 → 须弥8-3, 路径=assets/pathing/须弥8-折胫谷-3.json + 创建顺序边: 须弥8-3 → 须弥8-4, 路径=assets/pathing/须弥8-折胫谷-4.json + 创建顺序边: 须弥9-1 → 须弥9-2, 路径=assets/pathing/须弥9-镔铁沙丘-2.json + 创建顺序边: 须弥9-2 → 须弥9-3, 路径=assets/pathing/须弥9-镔铁沙丘-3.json + 创建顺序边: 须弥9-3 → 须弥9-4, 路径=assets/pathing/须弥9-镔铁沙丘-4.json + +总共创建了 167 条顺序边 + +重新排序所有边... + +已生成新的数据结构: C:\Users\root\Documents\BetterGI\bettergi-scripts-list\repo\js\AutoLeyLineOutcrop\LeyLineOutcropData.json +传送点数量: 92 +地脉花数量: 218 +总节点数量: 310 +传送点到地脉花边数量: 314 +节点间顺序边数量: 167 +总边数量: 314 +区域排序顺序: 蒙德, 璃月, 稻妻, 须弥, 枫丹, 纳塔 + +注意: 仍有 1 个目标点没有入边 +这些目标点按区域排序如下: + + 蒙德区域的孤立目标点: + ID=1010, 区域=蒙德2-5-1, 坐标=(-319.57, 2156.48) + +请按照之前的建议手动创建连续编号的路径文件 diff --git a/repo/js/AutoLeyLineOutcrop/settings.json b/repo/js/AutoLeyLineOutcrop/settings.json index 5334d523..3d75b315 100644 --- a/repo/js/AutoLeyLineOutcrop/settings.json +++ b/repo/js/AutoLeyLineOutcrop/settings.json @@ -53,6 +53,18 @@ "name": "isNotification", "type": "checkbox", "label": "通过BGI通知系统发送详细通知" - } + }, + [ + { + "name": "isRecognizeResin", + "type": "checkbox", + "label": "树脂耗尽模式\n开启后脚本会在树脂耗尽时停止运行【开发中】" + }, + { + "name": "isGoToSynthesizer", + "type": "select", + "label": "是否前往合成台合成浓缩树脂\n 体力大于40时自动合成浓缩树脂【开发中】" + } +] ] \ No newline at end of file diff --git a/repo/js/AutoLeyLineOutcrop/test_filename_parsing.py b/repo/js/AutoLeyLineOutcrop/test_filename_parsing.py new file mode 100644 index 00000000..422c2dbf --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/test_filename_parsing.py @@ -0,0 +1,58 @@ +def test_filename_parsing(): + """测试文件名解析功能,确保能正确处理各种格式""" + test_files = [ + "蒙德1-风啸山岭-1.json", # 标准格式 + "璃月3-轻策庄-2.json", # 标准格式 + "蒙德2-清泉镇-4-1.json", # 特殊格式(双连字符数字) + "须弥2-须弥城-3-2.json", # 特殊格式 + "纳塔1-区域-5.5.json" # 小数点路线编号 + ] + + print("测试文件名解析结果:") + for filename in test_files: + result = parse_region_area_number(filename) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + print(f"文件: {filename} (特殊格式)") + print(f" 区域名称: {region_name}") + print(f" 区域编号: {region_num}") + print(f" 地区: {area}") + print(f" 路线编号: {route_num}") + print(f" 路线子编号: {route_sub_num}") + else: # 标准格式 + region_name, region_num, area, route_num = result + print(f"文件: {filename} (标准格式)") + print(f" 区域名称: {region_name}") + print(f" 区域编号: {region_num}") + print(f" 地区: {area}") + print(f" 路线编号: {route_num}") + + # 测试格式化逻辑 + if region_name and region_num and route_num: + if len(result) == 5: # 特殊格式 + route_sub_num = result[4] + if area and "-" in area: + # 特殊格式 + area_parts = area.split("-") + if len(area_parts) == 2: + formatted = f"{region_name}{region_num}-{area_parts[1]}-{int(route_num)}-{int(route_sub_num)}" + else: + formatted = f"{region_name}{region_num}-{area}-{int(route_num)}-{int(route_sub_num)}" + else: + # 非预期情况,但仍处理 + formatted = f"{region_name}{region_num}-{area}-{int(route_num)}-{int(route_sub_num)}" + else: # 标准格式 + if area and "-" in area: + # 特殊格式 + area_parts = area.split("-") + if len(area_parts) == 2: + formatted = f"{region_name}{region_num}-{area_parts[1]}-{int(route_num)}" + else: + formatted = f"{region_name}{region_num}-{int(route_num)}" + else: + # 标准格式 + formatted = f"{region_name}{region_num}-{int(route_num)}" + print(f" 格式化区域: {formatted}") + else: + print(f" 解析失败") + print("") diff --git a/repo/js/AutoLeyLineOutcrop/test_parsing.py b/repo/js/AutoLeyLineOutcrop/test_parsing.py new file mode 100644 index 00000000..422c2dbf --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/test_parsing.py @@ -0,0 +1,58 @@ +def test_filename_parsing(): + """测试文件名解析功能,确保能正确处理各种格式""" + test_files = [ + "蒙德1-风啸山岭-1.json", # 标准格式 + "璃月3-轻策庄-2.json", # 标准格式 + "蒙德2-清泉镇-4-1.json", # 特殊格式(双连字符数字) + "须弥2-须弥城-3-2.json", # 特殊格式 + "纳塔1-区域-5.5.json" # 小数点路线编号 + ] + + print("测试文件名解析结果:") + for filename in test_files: + result = parse_region_area_number(filename) + if len(result) == 5: # 特殊格式 + region_name, region_num, area, route_num, route_sub_num = result + print(f"文件: {filename} (特殊格式)") + print(f" 区域名称: {region_name}") + print(f" 区域编号: {region_num}") + print(f" 地区: {area}") + print(f" 路线编号: {route_num}") + print(f" 路线子编号: {route_sub_num}") + else: # 标准格式 + region_name, region_num, area, route_num = result + print(f"文件: {filename} (标准格式)") + print(f" 区域名称: {region_name}") + print(f" 区域编号: {region_num}") + print(f" 地区: {area}") + print(f" 路线编号: {route_num}") + + # 测试格式化逻辑 + if region_name and region_num and route_num: + if len(result) == 5: # 特殊格式 + route_sub_num = result[4] + if area and "-" in area: + # 特殊格式 + area_parts = area.split("-") + if len(area_parts) == 2: + formatted = f"{region_name}{region_num}-{area_parts[1]}-{int(route_num)}-{int(route_sub_num)}" + else: + formatted = f"{region_name}{region_num}-{area}-{int(route_num)}-{int(route_sub_num)}" + else: + # 非预期情况,但仍处理 + formatted = f"{region_name}{region_num}-{area}-{int(route_num)}-{int(route_sub_num)}" + else: # 标准格式 + if area and "-" in area: + # 特殊格式 + area_parts = area.split("-") + if len(area_parts) == 2: + formatted = f"{region_name}{region_num}-{area_parts[1]}-{int(route_num)}" + else: + formatted = f"{region_name}{region_num}-{int(route_num)}" + else: + # 标准格式 + formatted = f"{region_name}{region_num}-{int(route_num)}" + print(f" 格式化区域: {formatted}") + else: + print(f" 解析失败") + print("") diff --git a/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingNewNodeData.js b/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingNewNodeData.js new file mode 100644 index 00000000..e69de29b diff --git a/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingNodeData.js b/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingNodeData.js index c861352b..24da1497 100644 --- a/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingNodeData.js +++ b/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingNodeData.js @@ -39,8 +39,7 @@ async function (position) { let currentNode = targetNode; while (currentNode.next && currentRunTimes < settings.timesValue) { - if (currentNode.next.length === 1) { - // 获取下一个节点的ID 和 路径,并在节点数据中找到下一个节点 + if (currentNode.next.length === 1) { // 获取下一个节点的ID 和 路径,并在节点数据中找到下一个节点 const nextNodeId = currentNode.next[0].target; const nextRoute = currentNode.next[0].route; const nextNode = nodeData.node.find(node => node.id === nextNodeId); @@ -59,14 +58,11 @@ async function (position) { currentRunTimes++; - log.info(`完成节点 ID ${nextNodeId}, 已执行 ${currentRunTimes}/${settings.timesValue} 次`); - - // 更新当前节点为下一个节点,继续检查 + log.info(`完成节点 ID ${nextNodeId}, 已执行 ${currentRunTimes}/${settings.timesValue} 次`); // 更新当前节点为下一个节点,继续检查 currentNode = nextNode; currentNodePosition = { x: nextNode.position.x, y: nextNode.position.y }; - } - else if (currentNode.next.length > 1) { - // 如果存在分支路线,先打开大地图判断下一个地脉花的位置,根据下一个地脉花的位置选择路线 + } else if (currentNode.next.length > 1) { + // 如果存在分支路线,先打开大地图判断下一个地脉花的位置,然后结合顺序边缘数据选择最优路线 log.info("检测到多个分支路线,开始查找下一个地脉花位置"); // 备份当前地脉花坐标 @@ -89,47 +85,92 @@ async function (position) { log.info(`找到下一个地脉花,位置: (${leyLineX}, ${leyLineY})`); - // 计算每个分支节点到地脉花的距离,选择最近的路径 - let closestRoute = null; - let closestDistance = Infinity; - let closestNodeId = null; + // 优先使用顺序边缘数据来选择路径,如果没有则回退到距离计算 + const sequentialEdges = nodeData.indexes?.edgesBySource; + let selectedRoute = null; + let selectedNodeId = null; - for (const nextRoute of currentNode.next) { - const nextNodeId = nextRoute.target; - const nextNode = nodeData.node.find(node => node.id === nextNodeId); + if (sequentialEdges) { + const currentNodeIdStr = currentNode.id.toString(); + const nextTargetIds = sequentialEdges[currentNodeIdStr]; - if (!nextNode) continue; + if (nextTargetIds && nextTargetIds.length > 0) { + const nextTargetId = nextTargetIds[0]; + log.info(`从顺序边缘数据中找到推荐的下一个目标节点ID: ${nextTargetId}`); - const distance = calculate2DDistance( - leyLineX, leyLineY, - nextNode.position.x, nextNode.position.y - ); - - log.info(`路线到地脉花距离: ID ${nextNodeId}, 距离: ${distance.toFixed(2)}`); - - if (distance < closestDistance) { - closestDistance = distance; - closestRoute = nextRoute.route; - closestNodeId = nextNodeId; + // 在当前节点的分支中查找通向推荐目标节点的路径 + for (const nextRoute of currentNode.next) { + const nextNodeId = nextRoute.target; + + // 检查这个路径是否通向推荐的目标节点(直接匹配或通过后续路径) + if (nextNodeId === nextTargetId) { + selectedRoute = nextRoute.route; + selectedNodeId = nextNodeId; + log.info(`使用顺序边缘数据:找到直接路径到推荐节点ID: ${nextTargetId}`); + break; + } else { + // 检查这个中间节点是否能通向推荐的目标节点 + const intermediateNodeIdStr = nextNodeId.toString(); + const intermediateNextTargets = sequentialEdges[intermediateNodeIdStr]; + + if (intermediateNextTargets && intermediateNextTargets.includes(nextTargetId)) { + selectedRoute = nextRoute.route; + selectedNodeId = nextNodeId; + log.info(`使用顺序边缘数据:找到通过中间节点ID ${nextNodeId} 到达推荐节点ID ${nextTargetId} 的路径`); + break; + } + } + } } } - if (!closestRoute) { + // 如果顺序边缘数据没有找到合适的路径,回退到距离计算 + if (!selectedRoute) { + log.info("顺序边缘数据未找到合适路径,使用距离计算方法选择路径"); + + let closestDistance = Infinity; for (const nextRoute of currentNode.next) { + const nextNodeId = nextRoute.target; + const nextNode = nodeData.node.find(node => node.id === nextNodeId); + + if (!nextNode) continue; + + const distance = calculate2DDistance( + leyLineX, leyLineY, + nextNode.position.x, nextNode.position.y + ); + + log.info(`路线到地脉花距离: ID ${nextNodeId}, 距离: ${distance.toFixed(2)}`); + + if (distance < closestDistance) { + closestDistance = distance; + selectedRoute = nextRoute.route; + selectedNodeId = nextNodeId; + } + } + } + + if (!selectedRoute) { log.error("无法找到合适的路线,终止执行"); // 恢复原始坐标 leyLineX = currentLeyLineX; leyLineY = currentLeyLineY; return; + } const nextNode = nodeData.node.find(node => node.id === selectedNodeId); + if (!nextNode) { + log.error(`未找到节点ID ${selectedNodeId},终止执行`); + // 恢复原始坐标 + leyLineX = currentLeyLineX; + leyLineY = currentLeyLineY; + return; } - const nextNode = nodeData.node.find(node => node.id === closestNodeId); - log.info(`选择最近的路线: ${closestRoute}, 目标节点ID: ${closestNodeId}。`); + log.info(`选择路线: ${selectedRoute}, 目标节点ID: ${selectedNodeId}`); // 创建路径对象并执行 const pathObject = { startNode: currentNode, targetNode: nextNode, - routes: [closestRoute] + routes: [selectedRoute] }; await executePath(pathObject); diff --git a/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingSeparatedNodeData.js b/repo/js/AutoLeyLineOutcrop/utils/executePathsUsingSeparatedNodeData.js new file mode 100644 index 00000000..e69de29b diff --git a/repo/js/AutoLeyLineOutcrop/utils/recognitionResin.js b/repo/js/AutoLeyLineOutcrop/utils/recognitionResin.js new file mode 100644 index 00000000..e63163cb --- /dev/null +++ b/repo/js/AutoLeyLineOutcrop/utils/recognitionResin.js @@ -0,0 +1,149 @@ +/* + 代码迁移中,还未完成适配 +*/ + + +const CondensedRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("RecognitionObject/Condensed Resin.png")); +const FragileRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("RecognitionObject/Fragile Resin.png")); +const TemporaryRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("RecognitionObject/5.png")); +CondensedRo.threshold = 0.70; +CondensedRo.Use3Channels = true; +FragileRo.threshold = 0.70; +FragileRo.Use3Channels = true; + +this.recognitionResin = +async function() { + let totalRunNum = 0; + await genshin.returnMainUi(); + await sleep(2000); + keyPress("m"); + await sleep(2000); + + let captureRegion = captureGameRegion(); + let resList = captureRegion.findMulti(RecognitionObject.ocr(1043, 5, 300, 100)); + let IsOver = false + + for (let i = 0; i < resList.count; i++) { + let resStamina = resList[i]; + log.info(`第 ${i + 1} 个结果: ${resStamina.text}`); + await sleep(2000); + + // 提取/前面的数字 + const rawText = resStamina.text; + const splitResult = rawText.split('/'); // 用/分割字符串 + + // 确保分割后得到两部分且第一部分是有效数字 + if (splitResult.length >= 1) { + const staminaValue = parseInt(splitResult[0]); // 只取第一部分 + + if (!isNaN(staminaValue)) { + log.info(`提取的体力值: ${staminaValue}`); + + if (staminaValue >= 40) { + IsOver = true; + } + break; + } else { + log.warn("无效的数字格式"); + } + } else { + log.warn("未找到/分隔符"); + } + + await sleep(2000) + await genshin.returnMainUi(); + keyPress("b"); + await sleep(2000); + click(1245, 50); + await sleep(2000); + + // 浓缩树脂识别 + let Condensed = captureGameRegion().find(CondensedRo); + let Isfive = false; + if (Condensed.isExist()) { + log.info("识别到浓缩树脂"); + let CondensedX = Math.round(Condensed.x + Condensed.width / 2 - 20) + let Condensedy = Math.round(Condensed.y + Condensed.height / 2 + 60) + log.info(`点击坐标: (${CondensedX}, ${Condensedy})`); + + let captureRegion = captureGameRegion(); + let Condensedres = captureRegion.findMulti(RecognitionObject.ocr(CondensedX, Condensedy, 50, 50)); + for (let i = 0; i < Condensedres.count; i++) { + let resCondensed = Condensedres[i]; + log.info(`浓缩树脂: ${resCondensed.text}`); + await sleep(2000); + if (resCondensed.text == 5) { + Isfive = true; + log.info("浓缩树脂已满") + await sleep(2000); + + } + } + } + // 脆弱树脂识别 + let Fragile = captureGameRegion().find(FragileRo); + if (Fragile.isExist()) { + log.info("识别到脆弱树脂"); + + let FragileX = Math.round(Fragile.x + Fragile.width / 2 - 20) + let Fragiley = Math.round(Fragile.y + Fragile.height / 2 + 60) + + let captureRegion = captureGameRegion(); + let Fragileres = captureRegion.findMulti(RecognitionObject.ocr(FragileX, Fragiley, 50, 50)); + + if (Fragileres.count === 0) { + log.error("OCR识别失败:未能识别到脆弱树脂数量"); + } else { + for (let i = 0; i < Fragileres.count; i++) { + let resFragile = Fragileres[i]; + if (resFragile.text && resFragile.text.trim() !== "") { + log.info("脆弱树脂数量: " + resFragile.text); + } else { + log.warn("OCR识别结果为空或无效"); + } + } + } + } else { + log.info("未识别到脆弱树脂"); + await sleep(2000); + } + // 须臾树脂识别 + let Temporary = captureGameRegion().find(TemporaryRo); + if (Temporary.isExist()) { + log.info("识别到须臾树脂"); + + let TemporaryX = Math.round(Temporary.x + Temporary.width / 2 - 20) + let Temporaryy = Math.round(Temporary.y + Temporary.height / 2 + 40) + log.info(`点击坐标: (${TemporaryX}, ${Temporaryy})`); + + let captureRegion = captureGameRegion(); + let Temporaryres = captureRegion.findMulti(RecognitionObject.ocr(TemporaryX, Temporaryy, 50, 50)); + } else { + log.info("未识别到脆弱树脂"); + } + + if (Temporaryres.count === 0) { + log.error("OCR识别失败:未能识别到须臾树脂数量"); + } else { + for (let i = 0; i < Temporaryres.count; i++) { + let resTemporary = Temporaryres[i]; + if (resTemporary.text && resTemporary.text.trim() !== "") { + log.info("须臾树脂数量: " + resTemporary.text); + } else { + log.warn("OCR识别结果为空或无效"); + } + await sleep(2000); + } + } + + + // 尝试调用任务 + + + if (IsOver && Isfive == true) { + log.info("需要前往合成台"); // 输出 true + } else { + log.info("不需要前往合成台"); + } + } +} \ No newline at end of file