Registry Dumper 3000

Registry Dumper 3000

Registry Dumper 3000 是一个面向整合包制作者、数据包创作者和模组开发者的开发者/调试实用工具模组。

工具

Registry Dumper 3000

Registry Dumper 3000 是一个面向整合包作者、数据包作者和模组开发者的开发者/调试实用模组。

它会将 Minecraft 的注册表、标签、配方和资源文件夹以结构化格式导出到磁盘,以便你精确检查游戏/服务器中实际加载的内容。

这尤其适用于:

  • 整合包调试
  • 数据包故障排查
  • 标签/配方冲突调查
  • 跨模组注册表检查
  • 逆向分析数据驱动内容
  • 检查资源包合并后实际加载了哪些资源

它会导出什么

内置注册表

从 BuiltInRegistries.REGISTRY 导出所有内置注册表(不仅是方块/物品/流体)。

  • 输出格式:TXT 或 JSON(可配置)
  • 条目可选附带类名(非常适合模组调试)

运行时注册表

从服务器 RegistryAccess 导出所有运行时注册表。

这包括模组/运行时加载的注册表,并为你提供服务器所见的最终状态。

原始标签 JSON

直接从资源管理器导出原始标签 JSON 文件(data/*/tags/...)。

  • 根据推断的注册表类型对文件进行分类
  • 支持模组标签类型
  • 可保留原始 JSON 格式或进行美化打印(可配置)

展开后的运行时标签

从 Registry#getTags() 导出最终合并的标签内容。

这让你可以看到在所有模组 + 数据包 + 资源层应用之后,标签实际解析出的内容。

  • 输出格式:TXT 或 JSON(可配置)

原始配方 JSON

从 data/*/recipes/... 导出原始配方 JSON 文件。

  • 按解析出的配方 type 对配方进行分组
  • 安全处理未知配方类型和无效 JSON
  • 可选美化打印

通用数据包资源文件夹(基于规则)

通过配置驱动导出任意数据包文件夹(原始复制模式),包括一个大型默认规则集。

默认覆盖的示例:

  • loot_tables
  • predicates
  • item_modifiers
  • advancements
  • functions
  • worldgen/*(生物群系、特征、结构、模板池、处理器、噪声、密度函数、预设等)
  • dimension
  • dimension_type
  • damage_type
  • chat_type
  • trim_material
  • trim_pattern
  • painting_variant
  • instrument
  • jukebox_song
  • Forge / NeoForge 的额外内容,如 loot modifiers / biome modifiers / structure modifiers

未知顶层文件夹兜底导出(可选)

还可以导出未被配置规则显式覆盖的顶层数据文件夹。

这有助于发现你遗漏的隐藏或模组添加的资源目录。

客户端资源文件夹(可选)

可选择在客户端启动时导出客户端侧资源(默认禁用,因为可能非常庞大)。

示例:

  • lang
  • models
  • blockstates
  • textures
  • sounds
  • font
  • shaders
  • post_effect
  • particles
  • atlases

这个模组为什么有用

在调试模组化 Minecraft 时,困难的部分通常不是“_应该_加载什么”——而是“在所有内容合并之后,_实际_加载了什么?”

Registry Dumper 3000 通过导出以下内容来帮助回答这个问题:

  • 最终注册表
  • 最终展开的标签
  • 原始源 JSON
  • 原始资源文件夹
  • 带计数的结构化摘要

它旨在用于检查和故障排查,而非游戏玩法功能。


输出位置

默认情况下,导出文件写入:

  • <game folder>/dump/

文件夹布局可在模组配置中配置。

生成的根目录示例(默认名称):

  • dump/registry_builtin
  • dump/registry_runtime
  • dump/tags
  • dump/registry_tags_expanded
  • dump/recipes
  • dump/data_raw
  • dump/assets_raw

该模组还会为主要导出部分写入摘要文件(_summary.txt)。


配置

详细的 JSON 配置会自动创建于:

  • <game folder>/config/registry_dumper_3000.json

该配置让你可以控制:

  • 启用哪些导出部分
  • 支持的导出使用 TXT 还是 JSON 输出
  • 原始 JSON 复制的美化打印行为
  • 每会话仅运行一次的行为
  • 客户端/服务器触发
  • 基于规则的资源文件夹导出
  • 未知文件夹兜底导出行为
  • 可选的资源导出
  • 摘要/报告生成
  • 可选的资源栈导出(高级)

性能 / 体积说明

该模组可能生成大量文件,具体取决于你的整合包和配置。

请注意:

  • 启用资源导出可能会非常庞大
  • 启用未知文件夹兜底导出会大幅增加输出体积
  • 美化打印 JSON 会增加 CPU 工作量和文件体积
  • 可选的资源栈导出会使文件数量成倍增加

如果你只需要特定数据,请禁用不需要的部分。


谁应该使用这个

该模组非常适合:

  • 整合包开发者
  • 数据包开发者
  • 模组开发者
  • 服务器整合包维护者
  • 调试数据驱动内容的技术型玩家

如果你只想要游戏玩法内容,这个模组可能不适合你。


兼容性说明

  • 使用 Architectury 风格的生命周期钩子构建
  • 在少数地方使用反射以保持兼容性(平台信息 / 客户端资源管理器 / 可选资源栈 API)
  • 定位为实用/调试工具,根据加载器/版本/整合包内容的不同,可能产生不同数量的输出

快速开始

  1. 安装模组并启动游戏/服务器。
  2. 让它生成配置文件。
  3. 编辑 config/registry_dumper_3000.json 以启用/禁用你想要的内容。
  4. 重启并检查 dump/ 文件夹。
  5. 使用生成的 _summary.txt 文件快速查看导出了什么。

致整合包作者

该模组非常适合诊断以下问题:

  • 标签内容与预期不符
  • 配方覆盖未生效
  • 数据包资源路径错误
  • 意外的模组注册表条目
  • 数据驱动功能生成问题(worldgen 文件夹)

它还可以帮助你构建自动化/脚本,以检查导出的输出用于整合包 QA。