Broken Tag Fixer

Broken Tag Fixer

自动修复由配方引用的空物品标签,适用于任何模组。

Bug修复

Broken Tag Fixer

Broken Tag Fixer 能够消除那令人厌烦的警告:

[Mekanism] 在 Mekanism 配方中检测到损坏的标签

……以及其背后的一整类问题——配方仍然引用的空物品标签。

它是通用型的:不绑定于 Mekanism。适用于任何模组,其配方指向了一个最终为空的物品标签(这在可选的跨模组“兼容”配方中非常常见,例如 Ad Astra 发布了一个配方,但没有匹配的标签)。


问题所在

一个模组发布了一个使用物品标签的配方(例如 forge:sandstone/venus_sandstone),但从未有任何内容填充该标签——物品存在,配方加载,然而标签却是空的。Minecraft/Mekanism 随后会报错配方有损坏的材料,在每次启动时刷爆你的日志。

它的作用

在加载时,Broken Tag Fixer 会扫描每个模组的每条配方(原始 JSON,无需模组 API),对于每个活配方依赖的空标签,它会应用一个谨慎的级联处理:

  • 已知修复表 — 针对已理解情况的确定性映射。
  • 智能评分 — 如果没有已知修复,它会使用多个信号(材料覆盖、精确名称、像锭/粉/宝石这样的“形式”词、配方自身的上下文/命名空间等)对每个已注册物品进行评分,并仅在高度确信时填充标签。
  • 干净禁用 — 如果标签确实无法解析,则在 Mekanism(或任何人)看到损坏的材料之前移除该违规配方。不再有警告,不会崩溃。

设计为安全可靠

本模组有意保持保守——绝不“胡乱猜测”:

  • 条件感知: 被假条件(例如 mod_loaded)禁用的配方永远不会被触碰。许多空标签是故意的可选兼容性——这些会被保留。
  • 仅高置信度: 只有在严格置信度阈值以上时才会自动填充标签。低于此阈值的所有内容都会变成报告中的建议,而不会静默更改。
  • 完全可审计: 每个操作(填充、禁用、建议、跳过)都会写入游戏目录下的 brokentagfixer-report.txt,让你能精确看到做了什么以及为什么。
  • 防故障: 如果出现任何问题,它会记录日志并退避——绝不会破坏你的游戏启动。

兼容性

  • Forge — Minecraft 1.20.1
  • NeoForge — Minecraft 1.21.1

在客户端和服务器端均可工作(在多人游戏设置中建议两端都安装)。轻量级,无需配置即可获得默认的安全行为。

安装

将匹配的文件放入你的 mods/ 文件夹:

  • brokentagfixer-forge-1.0.0.jar → Minecraft 1.20.1 (Forge)
  • brokentagfixer-neoforge-1.0.0.jar → Minecraft 1.21.1 (NeoForge)

然后正常启动游戏,并(可选地)阅读 brokentagfixer-report.txt。


整合包作者与数据贡献者

Broken Tag Fixer 是数据友好型的。如果你希望将某个特定案例添加到内置的已知修复表中,或者你想贡献一个纯数据修复(针对特定模组的标签 → 物品映射),请来**Discord**告诉我们。