Compare commits

...

5 Commits

Author SHA1 Message Date
825a6e239d ci: update idjson data source 2026-03-14 23:04:48 +08:00
GitHub Action
5149547cd9 chore: update idJson to 4.0 2026-02-13 01:53:28 +00:00
biuuu
1999f51ba7 Remove custom funding link
Removed custom funding link from FUNDING.yml
2026-01-17 12:27:05 +08:00
GitHub Action
f4f69efbd2 chore: update idJson to 3.8 2025-12-17 01:13:38 +00:00
GitHub Action
7a8c8966ea chore: update idJson to 3.7 2025-11-18 01:13:37 +00:00
4 changed files with 336 additions and 12 deletions

1
.github/FUNDING.yml vendored
View File

@@ -10,4 +10,3 @@ liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: https://afdian.net/a/haisha

View File

@@ -1,6 +1,6 @@
{
"name": "star-rail-warp-export",
"version": "0.2.2",
"version": "0.2.5",
"main": "./dist/electron/main/main.js",
"author": "biuuu <https://github.com/biuuu>",
"homepage": "https://github.com/biuuu/star-rail-warp-export",

View File

@@ -115,6 +115,16 @@
"item_type": "光锥",
"rank_type": "3"
},
"20023": {
"name": "嗤笑",
"item_type": "光锥",
"rank_type": "3"
},
"20024": {
"name": "残泪",
"item_type": "光锥",
"rank_type": "3"
},
"21000": {
"name": "一场术后对话",
"item_type": "光锥",
@@ -420,6 +430,16 @@
"item_type": "光锥",
"rank_type": "4"
},
"21064": {
"name": "菇菇嘎嘎历险记",
"item_type": "光锥",
"rank_type": "4"
},
"21065": {
"name": "今日好手气",
"item_type": "光锥",
"rank_type": "4"
},
"22000": {
"name": "新手任务开始前",
"item_type": "光锥",
@@ -450,6 +470,11 @@
"item_type": "光锥",
"rank_type": "4"
},
"22006": {
"name": "飞向粉色的明天",
"item_type": "光锥",
"rank_type": "4"
},
"23000": {
"name": "银河铁道之夜",
"item_type": "光锥",
@@ -700,11 +725,31 @@
"item_type": "光锥",
"rank_type": "5"
},
"23050": {
"name": "勿忘她的火焰",
"item_type": "光锥",
"rank_type": "5"
},
"23051": {
"name": "纵然山河万程",
"item_type": "光锥",
"rank_type": "5"
},
"23052": {
"name": "爱如此刻永恒",
"item_type": "光锥",
"rank_type": "5"
},
"23053": {
"name": "花花世界迷人眼",
"item_type": "光锥",
"rank_type": "5"
},
"23054": {
"name": "当她决定看见",
"item_type": "光锥",
"rank_type": "5"
},
"24000": {
"name": "记一位星神的陨落",
"item_type": "光锥",
@@ -1040,6 +1085,11 @@
"item_type": "角色",
"rank_type": "5"
},
"1321": {
"name": "大丽花",
"item_type": "角色",
"rank_type": "5"
},
"1401": {
"name": "大黑塔",
"item_type": "角色",
@@ -1105,6 +1155,21 @@
"item_type": "角色",
"rank_type": "5"
},
"1415": {
"name": "昔涟",
"item_type": "角色",
"rank_type": "5"
},
"1501": {
"name": "火花",
"item_type": "角色",
"rank_type": "5"
},
"1502": {
"name": "爻光",
"item_type": "角色",
"rank_type": "5"
},
"8001": {
"name": "{NICKNAME}",
"item_type": "角色",
@@ -1262,6 +1327,16 @@
"item_type": "光錐",
"rank_type": "3"
},
"20023": {
"name": "嗤笑",
"item_type": "光錐",
"rank_type": "3"
},
"20024": {
"name": "殘淚",
"item_type": "光錐",
"rank_type": "3"
},
"21000": {
"name": "一場術後對話",
"item_type": "光錐",
@@ -1567,6 +1642,16 @@
"item_type": "光錐",
"rank_type": "4"
},
"21064": {
"name": "菇菇嘎嘎歷險記",
"item_type": "光錐",
"rank_type": "4"
},
"21065": {
"name": "今日好手氣",
"item_type": "光錐",
"rank_type": "4"
},
"22000": {
"name": "新手任務開始前",
"item_type": "光錐",
@@ -1597,6 +1682,11 @@
"item_type": "光錐",
"rank_type": "4"
},
"22006": {
"name": "飛向粉色的明天",
"item_type": "光錐",
"rank_type": "4"
},
"23000": {
"name": "銀河鐵道之夜",
"item_type": "光錐",
@@ -1847,11 +1937,31 @@
"item_type": "光錐",
"rank_type": "5"
},
"23050": {
"name": "勿忘她的火焰",
"item_type": "光錐",
"rank_type": "5"
},
"23051": {
"name": "縱然山河萬程",
"item_type": "光錐",
"rank_type": "5"
},
"23052": {
"name": "愛如此刻永恆",
"item_type": "光錐",
"rank_type": "5"
},
"23053": {
"name": "花花世界迷人眼",
"item_type": "光錐",
"rank_type": "5"
},
"23054": {
"name": "當她決定看見",
"item_type": "光錐",
"rank_type": "5"
},
"24000": {
"name": "記一位星神的隕落",
"item_type": "光錐",
@@ -2187,6 +2297,11 @@
"item_type": "角色",
"rank_type": "5"
},
"1321": {
"name": "大麗花",
"item_type": "角色",
"rank_type": "5"
},
"1401": {
"name": "大黑塔",
"item_type": "角色",
@@ -2252,6 +2367,21 @@
"item_type": "角色",
"rank_type": "5"
},
"1415": {
"name": "昔漣",
"item_type": "角色",
"rank_type": "5"
},
"1501": {
"name": "火花",
"item_type": "角色",
"rank_type": "5"
},
"1502": {
"name": "爻光",
"item_type": "角色",
"rank_type": "5"
},
"8001": {
"name": "{NICKNAME}",
"item_type": "角色",
@@ -2409,6 +2539,16 @@
"item_type": "Light Cone",
"rank_type": "3"
},
"20023": {
"name": "Sneering",
"item_type": "Light Cone",
"rank_type": "3"
},
"20024": {
"name": "Lingering Tear",
"item_type": "Light Cone",
"rank_type": "3"
},
"21000": {
"name": "Post-Op Conversation",
"item_type": "Light Cone",
@@ -2714,6 +2854,16 @@
"item_type": "Light Cone",
"rank_type": "4"
},
"21064": {
"name": "Mushy Shroomy's Adventures",
"item_type": "Light Cone",
"rank_type": "4"
},
"21065": {
"name": "Today's Good Luck",
"item_type": "Light Cone",
"rank_type": "4"
},
"22000": {
"name": "Before the Tutorial Mission Starts",
"item_type": "Light Cone",
@@ -2744,6 +2894,11 @@
"item_type": "Light Cone",
"rank_type": "4"
},
"22006": {
"name": "Fly Into a Pink Tomorrow",
"item_type": "Light Cone",
"rank_type": "4"
},
"23000": {
"name": "Night on the Milky Way",
"item_type": "Light Cone",
@@ -2994,11 +3149,31 @@
"item_type": "Light Cone",
"rank_type": "5"
},
"23050": {
"name": "Never Forget Her Flame",
"item_type": "Light Cone",
"rank_type": "5"
},
"23051": {
"name": "Though Worlds Apart",
"item_type": "Light Cone",
"rank_type": "5"
},
"23052": {
"name": "This Love, Forever",
"item_type": "Light Cone",
"rank_type": "5"
},
"23053": {
"name": "Dazzled by a Flowery World",
"item_type": "Light Cone",
"rank_type": "5"
},
"23054": {
"name": "When She Decided to See",
"item_type": "Light Cone",
"rank_type": "5"
},
"24000": {
"name": "On the Fall of an Aeon",
"item_type": "Light Cone",
@@ -3334,6 +3509,11 @@
"item_type": "Character",
"rank_type": "5"
},
"1321": {
"name": "The Dahlia",
"item_type": "Character",
"rank_type": "5"
},
"1401": {
"name": "The Herta",
"item_type": "Character",
@@ -3399,6 +3579,21 @@
"item_type": "Character",
"rank_type": "5"
},
"1415": {
"name": "Cyrene",
"item_type": "Character",
"rank_type": "5"
},
"1501": {
"name": "Sparxie",
"item_type": "Character",
"rank_type": "5"
},
"1502": {
"name": "Yao Guang",
"item_type": "Character",
"rank_type": "5"
},
"8001": {
"name": "{NICKNAME}",
"item_type": "Character",
@@ -3556,6 +3751,16 @@
"item_type": "光円錐",
"rank_type": "3"
},
"20023": {
"name": "{RUBY_B#ししょう}嗤笑{RUBY_E#}",
"item_type": "光円錐",
"rank_type": "3"
},
"20024": {
"name": "{RUBY_B#ざんるい}残涙{RUBY_E#}",
"item_type": "光円錐",
"rank_type": "3"
},
"21000": {
"name": "{RUBY_B#しゅじゅつご}手術後{RUBY_E#}の{RUBY_B#かいわ}会話{RUBY_E#}",
"item_type": "光円錐",
@@ -3861,6 +4066,16 @@
"item_type": "光円錐",
"rank_type": "4"
},
"21064": {
"name": "タケタケ{RUBY_B#ぼうけんき}冒険記{RUBY_E#}",
"item_type": "光円錐",
"rank_type": "4"
},
"21065": {
"name": "{RUBY_B#きょう}今日{RUBY_E#}は{RUBY_B#こううん}好運{RUBY_E#}",
"item_type": "光円錐",
"rank_type": "4"
},
"22000": {
"name": "{RUBY_B#はじ}初{RUBY_E#}めてのクエストの{RUBY_B#まえ}前{RUBY_E#}に",
"item_type": "光円錐",
@@ -3891,6 +4106,11 @@
"item_type": "光円錐",
"rank_type": "4"
},
"22006": {
"name": "ピンク{RUBY_B#いろ}色{RUBY_E#}の{RUBY_B#あした}明日{RUBY_E#}へ",
"item_type": "光円錐",
"rank_type": "4"
},
"23000": {
"name": "{RUBY_B#ぎんがてつどう}銀河鉄道{RUBY_E#}の{RUBY_B#よる}夜{RUBY_E#}",
"item_type": "光円錐",
@@ -4141,11 +4361,31 @@
"item_type": "光円錐",
"rank_type": "5"
},
"23050": {
"name": "{RUBY_B#かのじょ}彼女{RUBY_E#}の{RUBY_B#ほのお}炎{RUBY_E#}を{RUBY_B#わす}忘{RUBY_E#}れずに",
"item_type": "光円錐",
"rank_type": "5"
},
"23051": {
"name": "{RUBY_B#ばんり}万里{RUBY_E#}の{RUBY_B#さんが}山河{RUBY_E#}を{RUBY_B#こ}越{RUBY_E#}えて",
"item_type": "光円錐",
"rank_type": "5"
},
"23052": {
"name": "{RUBY_B#あい}愛{RUBY_E#}はいま{RUBY_B#えいえん}永遠{RUBY_E#}に",
"item_type": "光円錐",
"rank_type": "5"
},
"23053": {
"name": "きらびやかな{RUBY_B#せかい}世界{RUBY_E#}",
"item_type": "光円錐",
"rank_type": "5"
},
"23054": {
"name": "{RUBY_B#かのじょ}彼女{RUBY_E#}が{RUBY_B#み}視{RUBY_E#}ると{RUBY_B#き}決{RUBY_E#}めた{RUBY_B#とき}時{RUBY_E#}",
"item_type": "光円錐",
"rank_type": "5"
},
"24000": {
"name": "とある{RUBY_B#アイオーン}星神{RUBY_E#}の{RUBY_B#うんらく}殞落{RUBY_E#}を{RUBY_B#しる}記{RUBY_E#}す",
"item_type": "光円錐",
@@ -4481,6 +4721,11 @@
"item_type": "キャラ",
"rank_type": "5"
},
"1321": {
"name": "ダリア",
"item_type": "キャラ",
"rank_type": "5"
},
"1401": {
"name": "マダム・ヘルタ",
"item_type": "キャラ",
@@ -4546,6 +4791,21 @@
"item_type": "キャラ",
"rank_type": "5"
},
"1415": {
"name": "キュレネ",
"item_type": "キャラ",
"rank_type": "5"
},
"1501": {
"name": "{RUBY_B#ひばな}火花{RUBY_E#}",
"item_type": "キャラ",
"rank_type": "5"
},
"1502": {
"name": "{RUBY_B#コウコウ}爻光{RUBY_E#}",
"item_type": "キャラ",
"rank_type": "5"
},
"8001": {
"name": "{NICKNAME}",
"item_type": "キャラ",
@@ -4703,6 +4963,16 @@
"item_type": "무기",
"rank_type": "3"
},
"20023": {
"name": "비웃음",
"item_type": "무기",
"rank_type": "3"
},
"20024": {
"name": "눈물의 흔적",
"item_type": "무기",
"rank_type": "3"
},
"21000": {
"name": "수술 후의 대화",
"item_type": "무기",
@@ -5008,6 +5278,16 @@
"item_type": "무기",
"rank_type": "4"
},
"21064": {
"name": "슈룸 모험기",
"item_type": "무기",
"rank_type": "4"
},
"21065": {
"name": "오늘의 행운",
"item_type": "무기",
"rank_type": "4"
},
"22000": {
"name": "초보자 임무 시작 전",
"item_type": "무기",
@@ -5038,6 +5318,11 @@
"item_type": "무기",
"rank_type": "4"
},
"22006": {
"name": "핑크빛 내일을 향해",
"item_type": "무기",
"rank_type": "4"
},
"23000": {
"name": "은하철도의 밤",
"item_type": "무기",
@@ -5288,11 +5573,31 @@
"item_type": "무기",
"rank_type": "5"
},
"23050": {
"name": "그녀의 불꽃을 잊지 말라",
"item_type": "무기",
"rank_type": "5"
},
"23051": {
"name": "끝없는 산과 강을 거치더라도",
"item_type": "무기",
"rank_type": "5"
},
"23052": {
"name": "이 순간처럼 영원한 사랑",
"item_type": "무기",
"rank_type": "5"
},
"23053": {
"name": "눈부신 파키의 세상",
"item_type": "무기",
"rank_type": "5"
},
"23054": {
"name": "그녀가 보기로 결심했을 때",
"item_type": "무기",
"rank_type": "5"
},
"24000": {
"name": "어떤 에이언즈의 몰락",
"item_type": "무기",
@@ -5628,6 +5933,11 @@
"item_type": "캐릭터",
"rank_type": "5"
},
"1321": {
"name": "달리아",
"item_type": "캐릭터",
"rank_type": "5"
},
"1401": {
"name": "더 헤르타",
"item_type": "캐릭터",
@@ -5693,6 +6003,21 @@
"item_type": "캐릭터",
"rank_type": "5"
},
"1415": {
"name": "키레네",
"item_type": "캐릭터",
"rank_type": "5"
},
"1501": {
"name": "스파키",
"item_type": "캐릭터",
"rank_type": "5"
},
"1502": {
"name": "효광",
"item_type": "캐릭터",
"rank_type": "5"
},
"8001": {
"name": "{NICKNAME}",
"item_type": "캐릭터",
@@ -5734,5 +6059,5 @@
"rank_type": "5"
}
},
"version": "3.6"
"version": "4.0"
}

View File

@@ -7,11 +7,11 @@ cc = OpenCC("s2t")
# 语言映射配置
language_map = {
"zh-cn": "cn",
"zh-tw": "cn", # 简体转繁体
"zh-cn": "zh",
"zh-tw": "zh", # 简体转繁体
"en-us": "en",
"ja-jp": "jp",
"ko-kr": "kr",
"ja-jp": "ja",
"ko-kr": "ko",
}
# 类型映射配置
@@ -43,7 +43,7 @@ def transform_data(data, item_type):
transformed = {lang: {} for lang in language_map.keys()}
for id, item in data.items():
for lang, key in language_map.items():
name = item[key] if lang != "zh-tw" else cc.convert(item["cn"])
name = item[key] if lang != "zh-tw" else cc.convert(item["zh"])
transformed[lang][id] = {
"name": name,
"item_type": type_map[item_type][lang],
@@ -54,14 +54,14 @@ def transform_data(data, item_type):
def main():
try:
version_url = "https://api.hakush.in/hsr/new.json"
version_url = "https://static.nanoka.cc/manifest.json"
version_data = fetch_json(version_url)
latest_version = ".".join(version_data["version"].split(".")[:2])
latest_version = version_data['hsr']['live']
print(f"Latest version: {latest_version}")
weapon_url = f"https://api.hakush.in/hsr/{latest_version}/lightcone.json"
character_url = f"https://api.hakush.in/hsr/{latest_version}/character.json"
weapon_url = f"https://static.nanoka.cc/hsr/{latest_version}/lightcone.json"
character_url = f"https://static.nanoka.cc/hsr/{latest_version}/character.json"
weapon_data = fetch_json(weapon_url)
print("Fetched", len(weapon_data), "lightcones")
character_data = fetch_json(character_url)