截图
介绍
准备好找出该怪谁了吗?
Fabric 版本:https://www.curseforge.com/minecraft/mc-mods/blame-fabric
Blame 是一个诊断工具,仅当你遇到奇怪的世界生成崩溃,或命令在没有堆栈跟踪的情况下出错时才需要安装。但当你启用 Blame 时,它会尝试收集多得多的信息,并将堆栈跟踪打印到 logs 文件夹(位于 mods 文件夹之上)中的 latest.log 文件里。这是一个更方便的地方,包含你所需的全部信息!请记住,Blame 仅在单人游戏或服务器上有效,在连接到服务器的客户端上无效。
注意:在 1.17+ 中如需更好地解析世界生成 JSON,请改用 Cyanide 模组: https://www.curseforge.com/minecraft/mc-mods/cyanide-forge
以下是 Blame 目前的功能列表!
• 打印出使用时会崩溃的命令的堆栈跟踪。
(通常,模组命令崩溃时不会向日志打印任何内容)
• 在启动世界时会检测并打印出所有损坏的命令。
(这会找出那些在 .then() 调用之外调用了 .executes() 的命令,因为它们无法正常工作)
• 为世界生成期间崩溃的地物或结构打印额外细节。
• 记录所有未注册的 ConfiguredFeatures、ConfiguredStructures、ConfiguredCarvers。
(未注册这些东西的模组会导致其他模组的内容出错,并在世界生成期间无法生成)
• 检测 DynamicRegistry 是否被其他模组过早加载。
(这样做会导致其他所有模组注册的世界生成内容崩溃,例如“Unknown Biome ID”问题)
• 准确记录来自任何模组或数据包的哪个世界生成 JSON 文件已损坏,并同时显示其 JSON 内容。
• 在尝试生成战利品时记录任何缺失的战利品表!如果箱子是空的,请检查日志,这个模组可能会找出原因。
• 打印出间距值被设为 0,或分离值等于或大于间距值的崩溃结构的名称。
(这两个条件中任一为真都会导致游戏崩溃。)
• 精简损坏的配方和战利品表解析信息,让你更容易分享日志、更容易查看错误。
• 修复 MC-190122 漏洞,使日志中记录的实际加载配方数量正确,便于调试配方。https://bugs.mojang.com/browse/MC-190122
• 准确打印出是哪个结构导致自定义/超平坦 ChunkGenerator 崩溃,因为它未被添加到 FlatGenerationSettings.STRUCTURES
• 如果拼图结构尝试访问不存在的模板池,会打印到日志,让你知道某个结构没有完全生成。
• 如果模组或数据包尝试访问不存在的 nbt 文件,会记录到日志,便于调试。
• 如果模组类过早加载 TagCollectionManager,会打印出来,因为它可能会破坏之后注册标签的其他模组的标签。
• 将输出在结构生成期间导致结构处理器崩溃的方块、其 nbt 以及是哪个 nbt 文件。
如果你需要查看所有注册表中所有内容的注册表转储,请使用 Masady 的这个 TellMe 模组:
https://www.curseforge.com/minecraft/mc-mods/tellme
致模组开发者:在 Forge 开发环境中使用 Blame
在你的 build.gradle 文件中,添加这个 maven 仓库。这是 gradle 查找 Blame 的 jar 的位置。
repositories {
maven {
url “https://nexus.resourcefulbees.com/repository/maven-public/“
}
}现在将其添加到依赖块中。将 <version> 替换为你想要使用的 Blame 版本,例如 `1.16.5-3.2.1-forge`。查看 CurseForge 页面以了解最新版本是什么。
dependencies {
…
runtimeOnly fg.deobf(“com.telepathicgrunt:Blame:<version>”)
}现在是最重要的部分。将这两个属性添加到 build.gradle 文件中两个运行配置中。这些将允许 Blame 的 mixin 正常工作。添加属性行后,刷新 Gradle 并根据你使用的 IDE 运行 `genEclipseRuns` 或 `genIntellijRuns` 或 `genVSCodeRuns`。
minecraft {
…
runs {
client {
…
property ‘mixin.env.remapRefMap’, ‘true’
property ‘mixin.env.refMapRemappingFile’, “${projectDir}/build/createSrgToMcp/output.srg”
}server {
…
property ‘mixin.env.remapRefMap’, ‘true’
property ‘mixin.env.refMapRemappingFile’, “${projectDir}/build/createSrgToMcp/output.srg”
}
}
}启动游戏,Blame 应该就在运行了!你可以通过 Blame 向 IDE 控制台和 latest.log 文件输出类似以下内容来判断:
[16:34:10] [modloading-worker-11/ERROR] [co.te.bl.Blame/]: Blame 1.16.5-3.0.1-forge initialized
我的模组的 Discord #telepathicgrunt-mods 频道链接!:
常见问题
Blame (Forge) 支持哪些 Minecraft 版本?
Blame (Forge) 支持 Minecraft Java 版 1.16.2–1.16.5,共 4 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Blame (Forge) 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
TelepathicGrunt 的其他作品
查看全部 →Repurposed Structures (Neoforge/Forge)
添加更多原版结构和特性的变种,比如丛林要塞!
Repurposed Structures – Fabric
添加更多原版结构和特性的变体,例如丛林堡垒!
The Bumblezone – NeoForge/Forge
一个充满蜜蜂的不可思议维度,如果你拿走它们的蜂蜜,它们会变得非常愤怒!
Structure Layout Optimizer
尝试优化拼图结构和NBT片段的生成

评论
登录后评论和评分