概述
准备好找出该 Blame 谁了吗?
Blame 是一种诊断工具,当你遇到奇怪的世界生成或指令崩溃时,在没有任何堆栈跟踪的情况下,这个模组会帮到你!
当你启用 Blame 时,它会尝试收集更多信息,并将堆栈跟踪打印到 mods 文件夹上方 logs 文件夹中的 latest.log 中。一个更方便的文件,包含你需要的所有信息!
请记住,Blame 仅适用于单人游戏或服务端,而不适用于连接到服务器的客户端。
注:为了在 1.17+ 中获得更好的世界生成 json 解析帮助,建议使用 Cyanide 。
特点
这是 Blame 的当前功能列表!注:下文涉及的专业名词未做翻译看不太懂QVQ。
打印使用时崩溃的命令的堆栈跟踪(没有本模组的情况下,修改后的命令在崩溃时不会将任何内容打印到日志中)。
在启动世界时检测并打印出所有损坏的命令。
打印世界生成期间崩溃的结构的额外细节特点。
记录所有未注册的 ConfiguredFeatures 、ConfiguredStructures 、ConfiguredCarvers(不注册这些东西的模组会导致其他模组的结构和特点在世界生成期间损坏,并且让其不会生成)。
检测是否有模组过早加载了 DynamicRegistry(这样做会导致所有其他模组注册的世界生成内容爆炸,例如“未知生物群系 ID ”问题)。
准确记录哪个模组或数据包的世界生成 JSON 文件已损坏,并显示其 JSON 。
尝试生成战利品时记录所有丢失的战利品表。如果战利品箱子是空的,请检查日志,本模组可能会发现原因。
如果崩溃结构的 spacing 值 被设置为 0,或者其 separation 值 ≥ spacing 值,该结构名称也会被打印入日志。
压缩损坏的配方和战利品表解析,以便你可以更轻松地分享日志,并更轻松地查看错误。
修复了 MC-190122 错误,使在日志中加载的实际真实配方数量是正确的,也帮助调试配方。
准确打印出哪个结构使区块生成器崩溃,因为它没有添加到 FlatGenerationSettings.STRUCTURES 。
如果 Jigsaw Structure 尝试访问不存在的 template pool,则将打印到日志中,以便你知道何时结构未完全生成。
如果模组或数据包尝试访问不存在的 nbt 文件,则将其记录以方便调试。
如果模组类过早加载 TagCollectionManager ,并且可能会破坏之后注册其标签的其他模组的标签,则会将其打印出来。
打印出哪个方块、它的 nbt 以及哪个 nbt 文件在结构生成期间使结构处理器崩溃。
如果你需要查看所有注册表中所有内容的注册表转储,请使用 Masady 的 TellMe 。
调试时,请确认 Blame 已经启动!
如果 Blame 成功加载,则你可以在日志中找到类似这样一句话:
[16:34:10] [modloading-worker-11/ERROR] [co.te.bl.Blame/]: Blame 1.16.5-3.0.1-forge initialized。