简单结构扫描器

简单结构扫描器

A 1.12.2 模组,帮助你查看和寻找特定结构。

常见问题

我需要在服务器上安装这个模组吗?

如果你想查询结构位置,则需要在服务器上也安装此模组。不过,若你只想查看结构信息,可以在客户端单独使用,前提是提供这些结构的模组也安装在客户端。

结构列表是如何过滤的?

搜索框会同时匹配本地化与非本地化的结构名称。这意味着你可以输入模组名称、当前语言下的名称或默认的英文名称。本地化结构由各提供者负责,但一般格式为 gui.structurescanner.structures.<模组ID>.<结构ID>。

结构并未出现在那里。

由于过程较为复杂,来自某个模组的结构可能会阻止或与其他模组的结构重叠。在这种情况下,你应该尝试搜索同类型的其他结构。使用右侧面板的箭头键可在多个结果之间切换。

功能

  • 可通过按键绑定(默认为 P)访问 GUI。
  • 若结构蓝图可用,则提供预览。点击预览区域可打开更大的预览窗口。
  • 支持与 JEI 集成的自定义战利品表:U/左键查看用途,R/右键查看配方。
  • 左侧为可过滤滚动的结构列表;右侧面板显示详情。
    • 在主屏幕上实时搜索最近的选定结构。在列表中双击结构可切换搜索。
    • 使用“刷新”按钮重新查询结构位置。
    • 使用右侧面板的箭头按钮可在多个已找到的结构位置间切换。
    • 使用“x”按钮可将已找到的位置加入黑名单(每个结构、每个世界)。
    • 使用传送按钮传送到已找到的结构(仅限管理员)。
    • 如果找到位置,会显示 X/Y/Z 坐标。

(已)支持的结构列表:

  • 原版 Minecraft 结构。
  • Aether 模组中的地牢。
  • AbyssalCraft 中的一些特定结构。
  • Ice & Fire 模组的结构(由于不确定性,所有结构均无法搜索)。
  • Pillar 模组的自定义结构。
  • Recurrent Complex 模组的自定义结构。

搜索/可见性黑名单

除了配置中的黑/白名单(参见配置部分)外,还存在一个更可控、更精细的黑名单系统,用于搜索和可见性。可见性决定结构是否会显示在列表中(允许预览、方块、实体、战利品),而搜索决定结构是否可被搜索(箭头指向世界中最近的一个)。仅使用简单结构扫描仪来获取元数据而禁用搜索是完全合理的。如果你想完全禁用所有搜索,建议参考 enableSearch 配置。

这些黑名单按提供者划分,提供者的 ID 与文件名匹配(请参见 structure/ 下各提供者的 ID,或你自己的外部提供者)。黑名单应放置在 minecraft/config/ 目录下。以提供者 examplepack 为例:

请注意,这些列表是客户端的,因为只有搜索过程本身是服务端的。其他所有内容都是客户端的,这意味着任何用户都可以修改自己的黑名单,只要他们有这个决心。不过,如果用户真想作弊,一开始就不会有所顾忌,所以这只是一个尽力而为的保护措施。

/sssblacklist 命令可用于直接移除这些黑名单中的条目,例如,通过使用某个物品或完成某个任务来允许显示或搜索某个特定结构或在特定维度中的结构。

/sssblacklist hidden 处理可见性黑名单,而 /sssblacklist search 处理搜索黑名单。作为参数传入的提供者与上述提供者相同,即用于黑名单文件名的 ID。

配置:

  • enableSearch:全局禁用搜索。
  • whitelist/blacklist:配置允许/禁止搜索哪些结构。白名单优先级高于黑名单。支持部分匹配(例如,village 匹配 ID 中包含 "village" 的所有结构,minecraft 匹配 Minecraft 命名空间中的所有结构)。为避免匹配范围过广,进行命名空间匹配时请保留 : 分隔符(例如,pillar:)。添加 ;radius 可使条目变为局部生效,即当玩家处于结构一定半径内时,该条目将停止强制执行(例如,minecraft:;100 仅在距离原版结构 100 格内时才解除屏蔽)。
  • showBlocks:在详情面板中显示属于结构的方块。
  • showEntities:在详情面板中显示属于结构的实体。
  • showLootTables:在详情面板中显示属于结构的战利品表。

配置驱动的外部提供者:

  • 你可以在 minecraft/config/simplestructurescanner/external-providers/ 目录下使用 JSON 定义结构元数据。将每个条目指向一个 NBT 文件(nbtPath),以便自动从实际的结构 NBT 数据中解析方块/图层/实体/战利品。.nbt 文件可以使用结构捕获尺从世界中的结构创建。之后可以使用 NBT 工具(参见 GitHub 仓库中的 NBT 工具部分)对其进行尺寸优化。
  • 外部提供者示例(JSON + NBT 布局):docs/examples/external-providers/README.md
  • 示例提供者 JSON:docs/examples/external-providers/example_provider.json
  • 示例提供者、结构及共享维度的语言条目:docs/examples/en_us.lang

鸣谢