Repository navigation
安装模组时自动安装前置依赖 #9069
安装模组时自动安装前置依赖在通过 PCL2 安装单个模组(拖拽 jar 文件,或从内置下载源安装)时,自动检测该模组声明的前置依赖,结合本地 mods 目录中已有模组的状态与版本信息,进行兼容性判定后,提示用户确认并一键下载安装缺失的前置模组。 当前安装单个 Mod 的典型流程如下:
一个 Mod 可能携带 2 到 4 个前置依赖,且前置本身还可能有递归依赖。整个过程需要用户自行判断版本兼容性、加载器类型(Forge、Fabric、NeoForge),对新手极不友好,也是从"玩整合包"过渡到"自主搭配 Mod"的最大门槛。 PCL2 在安装整合包时已具备完整的依赖解析与自动安装能力,但单 Mod 安装场景下尚未复用这一能力,体验存在明显落差。 安装模组时,PCL2 应读取目标 Mod 的元数据文件,提取依赖声明。具体来说:
解析应支持递归。若 A 依赖 B,B 依赖 C,则 B 和 C 均需纳入检测范围,构建完整依赖树。 对依赖树中的每一项,扫描当前实例的 mods 目录,判定其状态。具体分为以下几种情况:
检测方式:读取 mods 目录下所有 jar 文件的元数据(fabric.mod.json 或 mods.toml 等),提取 id 与 version 字段进行比对。 这是本功能的核心难点,需处理以下维度:
确认待安装和待更新的前置列表后,执行以下流程:
单 Mod 安装是 PCL2 日常使用频率最高的操作之一。当前该流程缺少依赖自动处理能力,用户需手动完成"识别前置、判断版本、匹配加载器、逐个下载"的全部工作,门槛高、易出错。 本功能的核心难点不在于"下载"本身,而在于多维度的版本兼容性判定,包括依赖版本范围、MC 版本、加载器类型、前置间相互约束、与已有 Mod 的兼容。PCL2 在整合包安装中已积累了相关解析能力,将其扩展至单 Mod 安装场景,实现成本可控,用户体验提升显著。 |
Replies: 2 comments
|
是不是发错地方了 |
|
|
#6633
好浓的 AI 味……