Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions docs/guide/pack-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,16 +123,13 @@ flowchart TD

| 字段 | 含义 |
|------|------|
| `defaultBindingEnabled` | 新建绑定的默认 `enabled``false` 时仍写入 `pack-sources.json`,但不会自动检查/更新。 |
| `defaultBindingEnabled` | 新建绑定的默认 `enabled`(**默认 `false`**)。仍写入 `pack-sources.json`,但需手改为 `true`(或改此默认)才参与启动检查/自动更新。 |
| `match.nameMinScore` | 安装后自动绑定的最低相似度阈值(源无关,顶层)。 |
| `match.stripFolderTags` | 清洗时是否去掉方括号标签(如 `[BP]`/`[玩法]`)。 |
| `gameId` | **Minecraft Bedrock = `78022`**。历史误用 `459` 无效,加载时会纠正。Java Minecraft 是 `432`,不要混用。 |
| `classId` | Bedrock **Addons = `4984`**;`null` 时用 `/v1/categories?classesOnly=true` 解析「Addons」。 |
| `baseUrl` | 官方 Core API:getMod / files / download-url。 |
| `searchBaseUrl` | 搜索镜像;官方 search 403 时回退。 |
| `nameMinScore` | 安装后自动绑定的最低相似度阈值。 |
| `stripFolderTags` | 清洗时是否去掉方括号标签(如 `[BP]`/`[玩法]`)。 |
| `defaultBindingEnabled` | 新建绑定的默认 `enabled`(**默认 `false`**)。需手改为 `true` 才参与启动检查/自动更新。 |

### 3.4 绑定文件示例

Expand Down
15 changes: 7 additions & 8 deletions sfmc/src/pack-update/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,9 @@ function fmtVer(v: SemVer3): string {
return v.join(".");
}

/** 绑定启用态文案:bindOk / sources list 共用(DRY),走 packs.list i18n */
function bindingEnabledLabel(enabled: boolean): string {
return enabled ? "on" : "off";
return enabled ? t("packs.list.on").trim() : t("packs.list.off").trim();
}

function providerShortLabel(id: PackProviderId): string {
Expand Down Expand Up @@ -218,9 +219,9 @@ export async function probeSourceAfterInstall(opts: {
t("packUpdate.bindOk", {
uuid: opts.info.uuid,
slug: best.hit.slug,
/* 报告实际写入的 binding.enabled(LSP),勿再并列一份 cfg 派生字段 */
enabled: bindingEnabledLabel(binding.enabled),
path: packSourcesPath(),
enabled: cfg.defaultBindingEnabled ? t("packs.list.on").trim() : t("packs.list.off").trim(),
}),
"success"
);
Expand Down Expand Up @@ -289,7 +290,8 @@ export function formatSourcesList(): string {
return lines.join("\n");
}
for (const { bpUuid, binding } of bindings) {
const en = binding.enabled ? c.green(t("packs.list.on").trim()) : c.dim(t("packs.list.off").trim());
const label = bindingEnabledLabel(binding.enabled);
const en = binding.enabled ? c.green(label) : c.dim(label);
const tag = providerShortLabel(binding.provider);
lines.push(
` [${en}] ${bpUuid} ${tag}:${binding.slug || binding.projectId} ${c.dim(binding.websiteUrl || "")}`
Expand Down Expand Up @@ -429,14 +431,11 @@ async function prepareCheck(
* 远程 BP 版本未更高:无需覆盖安装,但仍记下 fileId,
* 否则每次启动都会重复下载同一归档(lastApplied 一直为空)。
*/
binding.lastFileId = file.fileId;
if (!decision.remoteNewer) {
binding.lastAppliedFileId = file.fileId;
binding.lastFileId = file.fileId;
setBinding(bpUuid, binding);
} else {
binding.lastFileId = file.fileId;
setBinding(bpUuid, binding);
}
setBinding(bpUuid, binding);

return withLocalBp(
{
Expand Down