From 0e60d68354787ee08642b01d9cf77e4d075b8f45 Mon Sep 17 00:00:00 2001 From: Wulian233 <71213467+Wulian233@users.noreply.github.com> Date: Sun, 9 Jun 2024 20:06:46 +0800 Subject: [PATCH] first --- .gitignore | 6 + README.md | 16 +++ __main__.py | 253 +++++++++++++++++++++++++++++++++++ feedtheforge/const.py | 33 +++++ feedtheforge/i18n.py | 36 +++++ feedtheforge/lang/zh_cn.json | 28 ++++ icon.ico | Bin 0 -> 13011 bytes icon.png | Bin 0 -> 58789 bytes requirements.txt | 2 + win_build.bat | 2 + 10 files changed, 376 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 __main__.py create mode 100644 feedtheforge/const.py create mode 100644 feedtheforge/i18n.py create mode 100644 feedtheforge/lang/zh_cn.json create mode 100644 icon.ico create mode 100644 icon.png create mode 100644 requirements.txt create mode 100644 win_build.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea9ed7c --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.zip +/feedtheforge/__pycache__ +/__main__.build +/__main__.dist +/__main__.onefile-build +FeedTheForge.exe \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8d3bbe0 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Feed The Forge +## Introduce +This is a simple tool to download modpacks from FTB without the need of the FTB Launcher. + +You can then import or drag this zip file into any curseforge compatible launcher. + +For example: HMCL, PCL2, Prism Launcher etc. + +## Usage +WIP + +## Develop and Build +WIP + +## LICENSE +[GNU General Public License v3.0](.LICENSE) \ No newline at end of file diff --git a/__main__.py b/__main__.py new file mode 100644 index 0000000..57369ef --- /dev/null +++ b/__main__.py @@ -0,0 +1,253 @@ +import aiohttp +import asyncio +from urllib import request +from feedtheforge.const import * +import json +import os +import shutil +from zipfile import ZIP_DEFLATED, ZipFile +from pick import pick, Option + +async def download_file(session, url, output_path): + async with session.get(url) as response: + with open(output_path, "wb") as f: + while chunk := await response.content.read(1024): + f.write(chunk) + +async def _create_directory(path): + os.makedirs(path, exist_ok=True) + +async def download_mod_files(session, non_curse_files): + tasks = [] + for file_info in non_curse_files: + mod_file_path = file_info["path"][2:] + mod_file_name = file_info["name"] + full_path = os.path.join(modpack_path, "overrides", mod_file_path) + output_path = os.path.join(full_path, mod_file_name) + + if not os.path.exists(output_path): + await _create_directory(full_path) + tasks.append(download_file(session, file_info["url"], output_path)) + + await asyncio.gather(*tasks) + +async def _featured_and_search(load_json): + # 读取json并制作对应的选择菜单 + options = [] + with open(load_json, "r", encoding="utf-8") as f: + data = json.load(f) + for modpack_id in data["packs"]: + get_modpack_info(modpack_id) + with open(modpack_id_path, "r", encoding="utf-8") as pack_file: + pack_data = json.load(pack_file) + print(f"{pack_data['name']} (id {modpack_id})") + options.append(Option(f"{pack_data['name']}( id:{modpack_id})", modpack_id)) + title = locale.t("feedtheforge.start.title") + modpack_id = pick(options, title, indicator="=>") + modpack_id = modpack_id[0].value + # 下载选择的整合包 + await download_modpack(modpack_id) + +async def get_featured_modpack(): + featured_json = os.path.join(cache_dir, "featured_modpacks.json") + async with aiohttp.ClientSession() as session: + await download_file(session, api_featured, featured_json) + + await _featured_and_search(featured_json) + +async def search_modpack(): + print("未完成,敬请期待") + # search_json = os.path.join(cache_dir, "search_modpacks.json") + # keyword = input(locale.t("feedtheforge.main.search_modpack")) + # async with aiohttp.ClientSession() as session: + # await download_file(session, api_search + keyword, search_json) + + # await _featured_and_search(search_json) + # os.remove(search_json) + +def get_modpack_info(modpack_id): + global modpack_id_path + modpack_id_path = os.path.join(cache_dir, f"pack-{modpack_id}.json") + with request.urlopen(f"https://api.modpacks.ch/public/modpack/{modpack_id}") as response: + data = json.loads(response.read().decode("utf-8")) + + with open(modpack_id_path, "w", encoding="utf-8") as f: + f.write(json.dumps(data, indent=4)) + +async def chinese_patch(lanzou_url): + # 蓝奏云api直链解析下载 + async with aiohttp.ClientSession() as session: + await download_file(session, f"https://tool.bitefu.net/lz?url={lanzou_url}", patch) + with ZipFile(patch, 'r') as zip_ref: + zip_ref.extractall(patch_folder) + os.remove(patch) + # 把汉化补丁移动剪切到整合包 + for root, _, files in os.walk(patch_folder): + for file in files: + patch_file = os.path.join(root, file) + shutil.move(patch_file, modpack_path) + shutil.rmtree(patch_folder) + +async def download_modpack(modpack_id): + get_modpack_info(modpack_id) + with open(modpack_id_path, "r", encoding="utf-8") as f: + modpack_data = json.load(f) + + modpack_name = modpack_data["name"] + modpack_author = modpack_data["authors"][0]["name"] + modpack_version = modpack_data["versions"][0]["name"] + print(locale.t("feedtheforge.main.modpack_name", modpack_name = modpack_name)) + versions = modpack_data["versions"] + version_list = [version["id"] for version in versions] + print(locale.t("feedtheforge.main.version_list", version_list = version_list)) + selected_version = input(locale.t("feedtheforge.main.enter_version")) + + # 输入为空且有版本可下载(更保险),取最新版本 + if not selected_version and version_list: + selected_version = max(version_list) + print(locale.t("feedtheforge.main.default_version", selected_version = selected_version)) + # id无效,无对应整合包 + elif int(selected_version) not in version_list: + input(locale.t("feedtheforge.main.invalid_modpack_version")) + return + # 输入的不是数字,大错特错 + else: + input(locale.t("feedtheforge.main.invalid_modpack_version")) + return + + async with aiohttp.ClientSession() as session: + await download_file(session, f"https://api.modpacks.ch/public/modpack/{modpack_id}/{selected_version}", + os.path.join(cache_dir, "download.json")) + await get_modpack_files(modpack_name, modpack_author, modpack_version, session) + # 切片[-27:]恰为模组文件名 + request.urlretrieve(i18nupdate_link, os.path.join(mod_path, i18nupdate_link[-27:])) + # 检查有无对应汉化 + if str(selected_version) in all_patch: + install = input(locale.t("feedtheforge.main.has_chinese_patch")) + if install == "Y" or install == "y": + chinese_patch(selected_version, all_patch[selected_version]) + else: pass + zip_modpack(modpack_name) + +async def get_modpack_files(modpack_name, modpack_author, modpack_version, session): + os.makedirs(modpack_path, exist_ok=True) + with open(os.path.join(cache_dir, "download.json"), "r", encoding="utf-8") as f: + data = json.load(f) + + # 下面均为CurseForge整合包识别的固定格式 + mc_version = data["targets"][1]["version"] + modloader_name = data["targets"][0]["name"] + modloader_version = data["targets"][0]["version"] + + curse_files, non_curse_files = [], [] + for file_info in data["files"]: + if "curseforge" in file_info: + curse_files.append({ + "fileID": file_info["curseforge"]["file"], + "projectID": file_info["curseforge"]["project"], + "required": True + }) + else: + non_curse_files.append(file_info) + + modloader_id = f"{modloader_name}-{modloader_version}" + if modloader_name == "neoforge" and mc_version == "1.20.1": + modloader_id = f"{modloader_name}-{mc_version}-{modloader_version}" + + manifest_data = { + "author": modpack_author, + "files": curse_files, + "manifestType": "minecraftModpack", + "manifestVersion": 1, + "minecraft": { + "version": mc_version, + "modLoaders": [{"id": modloader_id, "primary": True}] + }, + "name": modpack_name, + "overrides": "overrides", + "version": modpack_version + } + + with open(os.path.join(modpack_path, "manifest.json"), "w", encoding="utf-8") as f: + json.dump(manifest_data, f, indent=4) + os.makedirs(os.path.join(modpack_path, "overrides"), exist_ok=True) + + await download_mod_files(session, non_curse_files) + +def zip_modpack(modpack_name): + print(locale.t("feedtheforge.main.zipping_modpack")) + + with ZipFile(f"{modpack_name}.zip", "w", ZIP_DEFLATED) as zf: + for dirname, _, files in os.walk(modpack_path): + for filename in files: + file_path = os.path.join(dirname, filename) + zf.write(file_path, os.path.relpath(file_path, modpack_path)) + print(locale.t("feedtheforge.main.modpack_created", modpack_name=f"{modpack_name}.zip")) + shutil.rmtree(modpack_path, ignore_errors=True) + +def cleat_temp(): + size = 0 + for root, _, files in os.walk(cache_dir): + size += sum([os.path.getsize(os.path.join(root, name)) for name in files]) + shutil.rmtree(cache_dir, ignore_errors=True) + print(locale.t("feedtheforge.main.clean_temp", size=int(size/1024))) + +async def get_modpack_list(): + print(locale.t("feedtheforge.main.getting_list")) + try: + with request.urlopen(api_list) as response: + if response.status == 200: + modpacks_data = json.loads(response.read().decode("utf-8")) + with open(packlist_path, "w", encoding="utf-8") as f: + json.dump(modpacks_data, f, indent=4) + # 网络错误无法连接为OSError + except OSError: + input(locale.t("feedtheforge.main.getting_error")) + exit(1) + + with open(packlist_path, "r", encoding="utf-8") as f: + modpacks_data = json.load(f) + global all_pack_ids + all_pack_ids = [str(all_pack_ids) for all_pack_ids in modpacks_data["packs"]] + +async def main(): + if not os.path.exists(cache_dir): + os.makedirs(cache_dir) + + # 本地化中这里的字中间要有空格,不加空格VSCode终端正常,在cmd中字会重叠 + title = locale.t("feedtheforge.start.title") + options = [ + Option(locale.t("feedtheforge.start.featured_modpack"), + description=locale.t("feedtheforge.start.featured_modpack_desc")), + Option(locale.t("feedtheforge.start.search_modpack"), + description=locale.t("feedtheforge.start.search_modpack_desc")), + Option(locale.t("feedtheforge.start.enter_id"), + description=locale.t("feedtheforge.start.enter_id_desc")), + Option(locale.t("feedtheforge.start.clean_temp"), + description=locale.t("feedtheforge.start.clean_temp_desc")) + ] + options, index = pick(options, title, indicator="=>") + + if index == 0: + await get_featured_modpack() + elif index == 1: + await search_modpack() + elif index == 2: + await get_modpack_list() + modpack_id = input(locale.t("feedtheforge.main.enter_id")) + if modpack_id not in all_pack_ids: + print(locale.t("feedtheforge.main.invalid_pack_id")) + return + await download_modpack(modpack_id) + elif index == 3: + cleat_temp() + +if __name__ == "__main__": + import sys + py_version = sys.version_info + # main.py L14; feedtheforge/i18n.py 类型标注为Python 3.8新功能 + if py_version < (3, 8): + input(locale.t("feedtheforge.main.unsupported_version", + cur=f"{py_version.major}.{py_version.minor}.{py_version.micro}")) + exit(0) + asyncio.run(main()) diff --git a/feedtheforge/const.py b/feedtheforge/const.py new file mode 100644 index 0000000..5d7b2bd --- /dev/null +++ b/feedtheforge/const.py @@ -0,0 +1,33 @@ +import os +import tempfile +from feedtheforge.i18n import Locale + +# 默认且仅支持中文 +locale = Locale("zh_cn") + +cache_dir = os.path.join(tempfile.gettempdir(), "FeedTheForge") +packlist_path = os.path.join(cache_dir, "packlist.json") +modpack_path = os.path.join(cache_dir, "pack_files") + +patch = os.path.join(cache_dir, "patch.zip") +patch_folder = os.path.join(cache_dir, "patch") +i18nupdate_link = "https://mediafilez.forgecdn.net/files/5335/196/I18nUpdateMod-3.5.5-all.jar" +mod_path = os.path.join(modpack_path, "overrides", "mods") + +api_list = "https://api.modpacks.ch/public/modpack/all" +api_featured = "https://api.modpacks.ch/public/modpack/featured/20" +api_search = "https://api.modpacks.ch/public/modpack/search/20/detailed?platform=modpacksch&term=" + +# 全部汉化 key FTB唯一包版本 vaule 蓝奏云汉化下载链接 +all_patch = { + # 100 StoneBlock 3 + "6498": "https://wulian233.lanzouj.com/iwAZ61xg3yib", + "6647": "https://wulian233.lanzouj.com/iwAZ61xg3yib", + "6967": "https://wulian233.lanzouj.com/iwAZ61xg3yib", + "11655": "https://wulian233.lanzouj.com/iwAZ61xg3yib", + # 115 Arcanum Institute + "11512": "https://vmhanhuazu.lanzouo.com/i8W7Y1nr83le", + # 122 Builders Paradise 2 + "11840": "https://wulian233.lanzouj.com/ib5G81wnrpwb", + "11937": "https://wulian233.lanzouj.com/ib5G81wnrpwb" +} diff --git a/feedtheforge/i18n.py b/feedtheforge/i18n.py new file mode 100644 index 0000000..c8e3d21 --- /dev/null +++ b/feedtheforge/i18n.py @@ -0,0 +1,36 @@ +from pathlib import Path +import json +from string import Template + +class Locale: + def __init__(self, lang: str): + self.path = Path(f"./feedtheforge/lang/{lang}.json") + self.data = {} + self.load() + + def __getitem__(self, key: str): + return self.data[key] + + def __contains__(self, key: str): + return key in self.data + + def load(self): + with open(self.path, "r", encoding="utf-8") as f: + d = f.read() + self.data = json.loads(d) + f.close() + + def get_string(self, key: str, failed_prompt): + n = self.data.get(key, None) + if n != None: + return n + if failed_prompt: + return str(key) + self.t("feedtheforge.i18n.failed") + return key + + def t(self, key: str, failed_prompt=True, *args, **kwargs): + localized = self.get_string(key, failed_prompt) + return Template(localized).safe_substitute(*args, **kwargs) + + +locale: Locale = Locale("zh_cn") \ No newline at end of file diff --git a/feedtheforge/lang/zh_cn.json b/feedtheforge/lang/zh_cn.json new file mode 100644 index 0000000..3bba0a7 --- /dev/null +++ b/feedtheforge/lang/zh_cn.json @@ -0,0 +1,28 @@ +{ "feedtheforge.start.title": "按 上 下 键 选 择 , 回 车 确 认 :", + "feedtheforge.start.featured_modpack": "查 看 热 门 整 合 包", + "feedtheforge.start.featured_modpack_desc": "查 看 当 前 近 20天 最 热 门 的 5个 整 合 包 并 选 择 下 载", + "feedtheforge.start.search_modpack": "搜 索 整 合 包", + "feedtheforge.start.search_modpack_desc": "输 入 英 文 关 键 词 搜 索 整 合 包 , 选 择 后 下 载", + "feedtheforge.start.enter_id": "输 入 整 合 包 id", + "feedtheforge.start.enter_id_desc":"直 接 输 入 整 合 包 对 应 的 数 字 id下 载", + "feedtheforge.start.clean_temp": "清 除 工 具 缓 存", + "feedtheforge.start.clean_temp_desc": "清 除 缓 存 的 整 合 包 信 息 , 下 次 启 动 会 变 慢", + + "feedtheforge.main.clean_temp": "清理缓存成功,共清理了 $size kb", + "feedtheforge.main.default_version": "已自动选择最新的 $selected_version 版本", + "feedtheforge.main.enter_id": "请输入要下载的整合包id:", + "feedtheforge.main.enter_version": "请输入整合包版本(留空默认最新):", + "feedtheforge.main.getting_error": "网络错误,获取整合包列表失败。回车自动退出", + "feedtheforge.main.getting_list": "正在获取整合包列表", + "feedtheforge.main.has_chinese_patch": "本整合包有人工汉化补丁可用,是否自动下载并安装?输入Y安装。", + "feedtheforge.main.search_modpack": "请输入整合包英文关键词:", + "feedtheforge.main.invalid_pack_id": "没有对应的整合包。请输入正确的整合包id", + "feedtheforge.main.invalid_modpack_version": "没有对应的整合包版本。请输入一个正确的版本。回车自动退出", + "feedtheforge.main.unsupported_version": "该程序需要Python 3.8+运行,当前版本为Python $cur 。回车自动退出", + "feedtheforge.main.version_list": "当前整合包可下载版本:$version_list", + "feedtheforge.main.modpack_created": "压缩成功。已创建名为 $modpack_name 的整合包,请拖入启动器安装", + "feedtheforge.main.modpack_name": "成功选择了 $modpack_name", + "feedtheforge.main.zipping_modpack": "下载完成,正在压缩制作整合包安装包。", + + "feedtheforge.i18n.failed": "错误:没有对应的本地化字符串" +} diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9cbfbaa5530563276c62af651d25e85ff2dd4ede GIT binary patch literal 13011 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 a)*lI#&+qdBhhP@QgyepDM?wT` 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¨7I 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