diff --git a/crates/cli/src/cli/model.rs b/crates/cli/src/cli/model.rs index c5af1c8..652fd58 100644 --- a/crates/cli/src/cli/model.rs +++ b/crates/cli/src/cli/model.rs @@ -144,7 +144,8 @@ pub struct AccountsAddArgs { pub struct InstallArgs { /// 目标版本 id(`1.20.1` / `1.20.1-forge-47.2.0`)。 pub version: String, - /// 加载器(`vanilla` 缺省 / `fabric` / `quilt` / `neoforge` / `forge`)。 + /// 加载器(`vanilla` 缺省 / `fabric` / `quilt` / `neoforge` / `forge` / `liteloader`; + /// `optifine` 认得出但没接安装管线,报 `loader_unsupported`)。 pub loader: Option, /// 加载器版本(缺省取官方默认:Fabric 系首个稳定版,maven 系该原版下最新)。 pub loader_version: Option, diff --git a/crates/cli/src/commands/instances/tests.rs b/crates/cli/src/commands/instances/tests.rs index b7eefcc..71d1c67 100644 --- a/crates/cli/src/commands/instances/tests.rs +++ b/crates/cli/src/commands/instances/tests.rs @@ -100,7 +100,8 @@ fn list_instances(dir: &TempDir) -> Vec { /// /// 抓得住:CLI 没调 `InstanceLoader::parse`(自己另算一遍或干脆不派生);种类 → 稳定 id 的 /// 词表被改(`neoforge` 写成 `neo_forge`);版本段被截断/连标记一起搬;`optifine` / -/// `liteloader` 被漏成 `vanilla`(只在「认得出但装不了」的那两家会红)。 +/// `liteloader` 被漏成 `vanilla`(这两家的 id 是第三方前缀形状,没有 `--` 段, +/// 只按自家四种形状解析的实现在这两行会红)。 /// 抓不住:解析规则本身退化(那是 core 的单测射程);`version_id` 大小写/空格的边角; /// 真实实例里 `libraries[]` 与 id 不一致的情形(本命令只看 id)。 #[test] @@ -227,8 +228,8 @@ fn human_output_and_old_json_fields_are_unchanged() { /// `--json` 是事实上的对外契约:字段约定必须能在 `ull help instances` 里读到。 /// /// 抓得住:`loader` 字段被加进输出、契约说明被从 help 里删掉(只留在源码注释里等于没写—— -/// 用户读不到);「识别口径 ≠ 安装口径」这条警告被顺手删掉(`optifine` / `liteloader` 只在 -/// help 里说明它们装不了)。 +/// 用户读不到);「识别口径 ≠ 安装口径」这条警告被顺手删掉(`optifine` 装不了、`liteloader` +/// 自 M222 起能装,两件事都只在 help 里说,JSON 契约里看不出来)。 /// 抓不住:措辞本身——下面只按键词(`loader` / `kind` / `version` / `vanilla` / `optifine` / /// `install --loader`)检查,换个说法仍会绿;help 的排版正确性也不在射程内。 #[test] diff --git a/crates/core/src/addon/loader/liteloader.rs b/crates/core/src/addon/loader/liteloader.rs index 24523fc..b29b6fc 100644 --- a/crates/core/src/addon/loader/liteloader.rs +++ b/crates/core/src/addon/loader/liteloader.rs @@ -41,7 +41,8 @@ use crate::game::version::ReleaseType; /// 官方版本表。 pub const VERSION_LIST_URL: &str = "https://dl.liteloader.com/versions/versions.json"; -/// 本体 jar 与 release 分支的仓库根(BMCLAPI 有 `bmclapi-liteloader` 改写规则)。 +/// 本体 jar 与 release 分支的仓库根:**直连官方**——`bmclapi-liteloader` 改写规则已 +/// `enabled: false`(镜像侧实测 404,关闭依据见 `download/mirrors.json`)。库走 [`CENTRAL_REPO`]。 pub const DEFAULT_REPO: &str = "https://dl.liteloader.com/versions/"; /// 非 Mojang 库的基址:Mojang 库仓里没有 `asm-all:5.2`(实测 404),Central 有(实测 206)。