EMI结构

EMI结构

一个EMI插件,显示哪些受支持的结构会生成方块,以及这些结构可以包含哪些材料。

EMI 结构

EMI 结构 是 EMI 的一个附加模组,它增加了结构生成作为方块和材料的获取来源。

EMI 结构并非维护一份固定的原版结构或受支持方块列表,而是分析来自 Minecraft、已安装模组和数据包中的受支持结构数据。当在受支持的结构中发现某种材料时,EMI 可以通过其常规的合成配方和使用查询来展示该结构。

打开一个结构条目,查看它能在哪里生成以及哪些材料可以构成它。

工作原理

EMI 结构目前专注于数据驱动的拼图(Jigsaw)结构。

每个被发现的结构都会获得一个单一的 EMI 配方,其中包含其生成信息和一个内部分页的材料列表。在这些结构内发现的材料会通过 EMI 链接回去,使得常规的配方和使用查询能够回答诸如以下问题:

哪些结构可以生成这个方块?

以及:

这个结构可以包含哪些材料?

结构信息可以包括:

  • 来源模组
  • 维度
  • 支持的生物群系
  • 放置信息
  • 生成的方块材料
  • 估算的材料数量范围

材料数量是通过多次轻量级分析过程得出的估算值。EMI 结构不会在玩家的世界中生成或采样真实的结构,显示的范围不应被视为对单个已生成结构的精确保证。

自适应结构支持

结构支持是在运行时发现的,而不是维护一份手动兼容性列表。

因此,来自 Minecraft、已安装模组和数据包的标准数据驱动拼图结构,在 EMI 结构理解它们使用的结构数据后,可以自动出现。

这也适用于材料。EMI 结构不维护预定义的支持的原版或模组方块目录。当检测到某个已注册方块是受支持结构的一部分时,结构生成会自动在 EMI 中作为该方块的获取来源添加。

0.1 版本不支持所有可能的结构生成系统。通过自定义或程序化系统生成结构的模组可能需要在未来版本中获得额外支持。

结构生成

在材料上使用 EMI 的常规配方和使用查询,以查看可能生成它的受支持结构。

例如,查询苔石(Mossy Cobblestone)等材料,可以展示一个结构生成类别,其中包含检测到该方块的结构以及可用的最佳估算数量信息。

选择一个结构会打开其结构页面。

结构页面

每个受支持的结构都有一个 EMI 条目,而不是为每个结构和材料的组合创建单独的配方。

结构页面包含生成信息和一个内部分页的可视化材料列表。材料仍然是常规的 EMI 原料,因此可以通过 EMI 通常的配方和使用导航进行检查。

根据可用的结构数据,页面可以显示:

  • 来源模组
  • 维度
  • 支持的生物群系
  • 放置信息
  • 生成的方块材料
  • 估算的材料数量范围

容器战利品被有意排除在外。结构箱子内发现的物品是战利品表的结果,而不是作为结构一部分生成的方块,专门的 EMI 战利品附加模组已经涵盖了这些信息。

材料估算

结构材料数量是估算值,并非对特定结构生成时将包含内容的精确预测。

EMI 结构会对受支持的结构数据执行多次轻量级分析过程,以构建有用的材料范围,而无需在玩家的世界中生成实际结构。

拼图块选择、处理器、放置条件和其他生成行为的变化可能导致真实结构不同于显示的估算值。

世界生成

EMI 结构仅提供信息。

它不会:

  • 添加结构
  • 更改结构放置
  • 改变生物群系生成
  • 修改战利品表
  • 定位玩家世界中的结构
  • 预测结构坐标
  • 生成结构进行分析

它读取受支持的结构数据,并通过 EMI 展示这些信息。

性能

结构分析在相关的世界数据可用时执行。

初始分析时间取决于已安装结构的数量和复杂性,尤其是在较大的整合包中。分析使用对结构数据的轻量级遍历,而不是在世界中生成结构。

一旦分析完成,正常的 EMI 浏览使用分析结果,而不是反复重建结构信息。

要求与兼容性

  • Minecraft: 1.21.1
  • 模组加载器: NeoForge
  • 必要依赖: EMI 1.1.24 或更新版本
  • 主要环境: 单人游戏 / 集成服务器
  • 许可证: GPL-3.0-only

EMI 结构是 EMI 的附加模组,并非旨在作为独立的配方查看器运行。

0.1 版本限制

0.1 版本主要面向单人游戏和集成服务器世界。

当前的限制包括:

  • 结构分析目前专注于数据驱动的拼图结构。
  • 自定义的程序化结构实现可能无法暴露足够的标准数据进行分析。
  • 材料数量是估算范围,而非精确的生成保证。
  • 专用服务器的结构数据同步尚未实现。
  • 数据包 /reload 后不会自动重建结构分析。
  • 在包含许多或异常复杂结构的整合包中,初始分析可能需要更长时间。
  • 容器战利品被有意排除在外。

如果在游戏过程中更改了结构数据包,建议在 0.1 版本中重启世界后再依赖更新后的 EMI 结构信息。

专用服务器同步、数据包重载重建以及更广泛的结构系统支持是未来开发的方向。

关于项目

EMI 结构由 Silent Vector Studios 开发。

该项目是开源的,旨在补充 EMI 和其他专注的 EMI 附加模组,而不是重复它们的功能。

在结构支持扩展到初始 0.1 版本之外时,反馈、错误报告以及无法正确分析的模组或数据包结构示例尤其有用。

许可证

EMI 结构在 GPL-3.0-only 许可证下发布。