标签抓取器

标签抓取器

Minecraft HUD,从标签菜单抓取文本并显示在屏幕上!

工具

一个 Minecraft HUD 模组,将标签菜单上显示的信息汇总为易于解析的格式。通过用户可完全自定义的正则表达式,此模组能够将解析后的信息以 HUD 形式显示在屏幕上。 这样用户就无需在服务器上频繁按 Tab 键来持续查看标签菜单中显示的信息。

重要提示: 一个格式化 bug 影响了此模组在 2025 年 6 月 13 日之前发布的旧版本。下面给出的 ZeroMinr 示例在早于该日期发布的版本中无法使用。如果你游玩的是 Minecraft 1.21.3 或更新版本,请下载此模组的最新版本。对于游玩 1.21.3 之前版本的用户,很遗憾向后移植改动在时间上很痛苦,但好消息是,只要你不做奇怪的事情(例如嵌套花括号),大多数格式化器都能正常工作。

注意: 尽管计分板在单人游戏中也可用,但为简单起见,此模组不会支持该特定用例。

minecraft 截图,展示标签菜单中的信息如何映射到 HUD

需求

示例

ZeroMinr 服务器以仅在跑酷课程的标签菜单中显示计时器而闻名。 以下是你可以在不频繁按 TAB 的情况下将计时器显示在屏幕上的方法:

  1. 在配置界面中,将 zero.minr.org 设置为服务器 IP,并将 {(\d+h )?\d\{2\}:\d\{2\}} 设置为格式化器(此模组的旧版本存在格式化 bug,会导致此格式化器无法使用;如果你游玩的是 Minecraft 1.21.3 或更新版本,请下载最新版本)。

你需要做的就这些!

zerominr 截图

如果你需要一个关于格式化器匹配内容的示例,请运行 /tabgrabberdebug。 它大致会显示以下内容(已隐去除我之外的所有玩家名称):

Player1: null
Player2: null
Player3: null
Donphan: null
Header: zero.minr.org
Footer: Bussolai: 00:04

用法

此模组使用基于正则表达式的自定义格式,以在屏幕上显示有用信息。

如果你尝试在格式化器中输入文本,它将按原样显示在 HUD 中。

示例: 格式化器为 abcdef 将在屏幕上显示 abcdef。

此模组的强大之处在于它能够捕获标签菜单上的信息。 为此,请用花括号将正则表达式括起来。 例如,如果你想匹配标签菜单上的计时器,如 23:01,并希望它在 HUD 上显示为 Timer: 23:01,请使用 Timer: {\d+:\d+} 作为格式化器。 就这么简单!

由于这是一个 Java 模组,使用的正则表达式必须与 Java 自带的正则解析器兼容。

要转义花括号,请在其前面加上反斜杠(\)。这同样适用于作为正则表达式一部分的花括号。

注意: 请尽量避免使用带回溯的过于复杂的正则表达式,或同时使用过多正则表达式。 为服务器提供的正则表达式会在每个 tick 匹配标签菜单信息,因此如果提供的正则表达式没有经过特别良好的优化,可能会显著降低客户端 FPS。 为避免对 PC 造成进一步负担,此模组会尽量避免编译正则表达式,除非绝对必要,并且在提供的正则表达式未更改时将其缓存。

关于标签信息的更多内容

实际上,此模组抓取的是服务器发送的页眉和页脚信息,以及计分板。 页眉的示例可以是类似“Welcome to Hypixel”的内容。

显示哪个计分板取决于服务器所有者设置的目标。 例如,如果将生命值设置为向玩家显示的目标,此模组会按程序执行该操作,将心形图标替换为十进制数字。

为了更便于解析,此模组会移除服务器指定的任何样式和节符号,并去除空白字符。

一种称为“格式化器”的东西用于解析标签菜单信息并将其格式化为 HUD。

注意: 格式化器中的换行符在决定向用户显示什么内容方面起着至关重要的作用。 如果你的格式化器中的某一行未能匹配标签上的任何内容,它将静默失败并跳到格式化器中的下一行。 例如,如果服务器在不同小游戏上显示相似的标签信息,用户可以对此加以利用。

配置选项

通过模组菜单进入配置界面。

  • 启用/禁用 HUD(你也可以通过按键绑定切换)
  • HUD 位置(以百分比表示)
  • 文本颜色
  • 文本背景
  • 文本对齐方式
  • 文本阴影
  • 文本缩放
  • 服务器配置

服务器配置

为了允许在不同服务器上显示不同信息,此模组使用服务器域名来判断是否应显示任何 HUD 信息。 如果服务器在配置的服务器配置部分中被提及,它将使用其各自的格式化器来解析标签菜单。 这允许用户对不同服务器有条件地应用不同的解析/格式化规则。

服务器配置截图

调试

要查看你的格式化器需要匹配哪些标签信息,请在你想让 HUD 显示的服务器中输入 /tabgrabberdebug。 这将实时向用户输出标签菜单正在显示的原始信息。 格式为 key: value,以换行分隔。 Header 和 Footer 这两个键专门保留用于显示页眉和页脚信息。 它们将始终按顺序出现在计分板信息下方。

使用调试命令

如果没有目标,运行此命令时你可能会看到以下内容:

Player1: null
Player2: null

这是正常的,如果你不太关心计分板,可以忽略它。

调试信息下方还会有一个你可以点击的链接,用于将其复制到剪贴板。 如果服务器使用任何特殊符号或资源包来设置标签菜单样式,这将特别有用。