Commit Graph
2 Commits
Author SHA1 Message Date
AskaEth 38d1f3c20f docs: DOCFIX-2 收口三处旧口径注释(M232)
- cli/cli/model.rs:147 `InstallArgs::loader` 文档补 `liteloader`(第六个可装取值),
  并点明 `optifine` 是「认得出但装不了」→ `loader_unsupported`;
- commands/instances/tests.rs:103 删掉「只在认得出但装不了的那两家会红」的旧口径,
  改成真实理由(第三方前缀形状、没有 `<mc>-<kind>-<ver>` 段);:231 同句副本改成
  「optifine 装不了 / liteloader 自 M222 起能装」;
- addon/loader/liteloader.rs:44 `DEFAULT_REPO` 文档由「BMCLAPI 有 bmclapi-liteloader
  改写规则」改为「直连官方」:该规则自 M225 起 mirrors.json 里是 enabled=false
  (镜像侧实测 404),并按 M225 finding 的方向补上「库走 CENTRAL_REPO」。

纯文档,零行为变化。
2026-11-11 04:38:53 +08:00
AskaEth 9ead4ae892 feat(cli): M124 instances list --json 补 loader 字段,只加不改
`ull instances list` 的人读输出历来只逐字打 `version_id`,脚本/agent 要判断
「这是不是 Fabric」只能自己猜 id 形状——正是 M122 收敛掉的第二份真相。本提交只补
输出面:

- 每行实例加 `loader: {"kind": <稳定 id>, "version": <版本段>}`,解析一律调
  `unlucky_core::game::InstanceLoader::parse`(M122 的全仓唯一入口),CLI 里没有
  任何新的 id 匹配;CLI 只做「种类 → 稳定 id」的穷尽翻译。
- 原版恒为 `{"kind":"vanilla","version":""}`:键恒存在、不为 null,脚本不必判空。
- `kind` 是识别口径(7 值,含只能继承不能安装的 optifine/liteloader),不是
  `install --loader` 的安装口径(5 值)——这条连同「vanilla 只表示 id 里没有加载器
  痕迹」一起写进模块文档与 `ull help instances`(`--json` 是事实对外契约,字段说明
  跟着契约走)。
- 向后兼容:`data.instances[]` 原有七个键一个没动,人类可读输出逐字不变。
- 测试(`commands::instances::tests`,走真入口 `crate::run`):四家自家 id + 原版 +
  两家第三方前缀的真值表、原版非 null 的反向锚、人读输出与旧字段不变的兼容锚、
  help 里有契约说明的文档锚。
2026-11-05 15:23:37 +08:00