6.2. AppleSkin、Show Durability、Neat 与 Jade:信息 HUD 与生存辅助

打开信息 HUD 图文与实机演示

这四个 MOD 都是在增加信息,但它们看的不是同一件事:AppleSkin 看的是**自己吃下食物后的数值变化**,Show Durability 看的是**背包里物品还剩多少耐久**,Neat 看的是**场景中实体头顶的状态条**,Jade 则是在准星指向目标时给出**方块或实体的信息卡**。

本文的功能清单以每个项目的上游源码、模组元数据、默认配置和实际注册的渲染/数据提供器为依据整理;不是把项目页上的一句宣传语直接改写成介绍。因此,文中会明确区分“当前整合包已安装”“计划补充”和“需要服务端配合才有精确数据”。

6.2.1. 源码审计基线

MOD

本文源码基线

对应版本与安装状态

实际查阅的重点

AppleSkin

官方仓库 1.16-forge 默认分支,提交 959e79b (2026-01-19)

整合包清单已有 3.0.10;该仓库分支本身是旧 Forge 代码基线,不能用它断言 26.2 的加载器兼容性

食物值、HUD、提示框、F3 与饱和度/消耗度同步实现。

Show Durability

develop ,提交 1bb9366 (2026-06-17)

上游构建字段为 1.1.3+26.2;当前整合包清单中未发现该 JAR,属于计划补充

GuiGraphicsExtractor 注入、B 键开关和唯一的 JSON 配置项。

Neat

发布标签 release-26.2-49 ,提交 977d6ff (2026-06-19)

标签构建字段为 Minecraft 26.2;当前整合包清单中未发现该 JAR,属于计划补充

26.2 渲染状态采集、头顶状态条渲染、筛选逻辑和 Cloth Config 默认值。

Jade

发布标签 fabric-26.2.9 ,提交 a3d3c8d (2026-07-01)

整合包清单已有 26.2.9

内置 Provider 注册表、准星信息框、按键、配置和客户端—服务端数据请求协议。

AppleSkin 的官方仓库当前默认分支仍声明 Minecraft 1.16.4 / Forge 35.1.4;它能可靠证明此功能族的实现方式,却不是整合包 AppleSkin 3.0.10 的逐文件源码镜像。其余三项均已核对到 26.2 对应源代码或直接对应的 26.2 开发分支。安装时始终应以下载页面中与 Minecraft、Fabric Loader、Fabric API 相匹配的发布文件为准。

6.2.2. 当前整合包与视频计划

MOD

当前状态

结论

AppleSkin 3.0.10

已在整合包清单中

可以直接录制食物提示、手持食物预览、饱和度与 F3 信息。

Jade 26.2.9

已在整合包清单中

可以直接录制方块、实体、容器和采掘提示;服务器数据型条目要在支持 Jade 的服务器或单人世界验证。

Show Durability

未在当前清单中

录制前先安装 26.2 Fabric 构建及其 Fabric API 依赖;不要把它写成当前整合包已自带。

Neat

未在当前清单中

录制前安装 26.2 Fabric 构建及其 Cloth Config / Fabric API 依赖,并在按键设置中给“切换 Neat”绑定按键。

6.2.3. 一眼选择

想解决的问题

优先使用

源码确认的显示位置

这份食物补多少饥饿、饱和度,吃完大概能回多少血?

AppleSkin

物品提示框、玩家饥饿/生命 HUD、F3 调试信息。

这把工具还能用多少次?

Show Durability

物品图标右下方;走的是背包与快捷栏共用的物品数量渲染路径。

周围怪物、动物、玩家还剩多少血?

Neat

实体头顶、始终面向镜头的状态条。

准星正对的方块/实体是什么、能否采集、容器里有什么?

Jade

屏幕上的准星目标信息框,不会在每个实体头顶铺满血条。

6.2.4. AppleSkin:食物结果预览与饥饿 HUD

AppleSkin 的客户端入口注册了 HUDOverlayHandlerTooltipOverlayHandlerDebugInfoHandler。它不改变食物、饥饿或自然回复规则;做的是把原本不可见或需要计算的信息叠加到原版界面上。

6.2.4.1. 源码确认的功能清单

  • 食物提示框中的饥饿与饱和度图标:鼠标悬停在食物上时,TooltipOverlayHandler 读取食物的 FoodValues,以鸡腿和饱和度图标追加两行可视化信息。默认配置中“始终显示”开启;也可改成仅在按住 Shift 时显示。

  • 手持食物后的饥饿恢复预览:主手拿着当前可食用的食物时,饥饿条上会叠加闪烁的“吃完后会补到哪里”。主手不可食用且启用了副手选项时,逻辑会改用副手食物。

  • 当前饱和度与本次获得饱和度:饥饿条上先绘制当前饱和度层,再以不同透明度标出手持食物会带来的增量;不是只显示一个抽象百分比。

  • 消耗度进度条:在饥饿图标背后画出 exhaustion / 4 的 81 像素进度条,帮助判断下一次何时会扣饱和度或饥饿。

  • 估算生命恢复预览:在生命条上叠加进食后的预计可恢复心数。源码会同时模拟自然回复与食物自带的再生效果;和平难度、已有中毒/凋零/再生效果,或当前饥饿值已达到 18 时会跳过这项预览,避免把同时发生的其他回血误算给食物。

  • F3 食物行:开启调试信息时,在 F3 左侧加入 hungersatexh/currentMax 一行,显示饥饿、饱和度、消耗度及其上限。

  • 供其他 MOD 扩展的事件:源码在读取食物值以及绘制 HUD / 提示框前后派发事件,因此其他 MOD 可以改写食物值或取消某层绘制。

6.2.4.2. 配置与边界

源码中的客户端配置默认全部开启,具体可独立关闭:提示框食物值、始终显示提示框、饱和度 HUD、手持食物 HUD、副手食物预览、消耗度底图、F3 食物行、生命恢复预览、原版图标抖动同步,以及 HUD 闪烁的最大不透明度。

需要注意两个边界:

  • 审计分支的 FoodHelper.getModifiedFoodValues 直接返回原版 Food 值。因此它明确能显示原版饥饿/饱和度;若其他 MOD 改写食物数值,是否能准确反映取决于它是否接入 AppleSkin 的事件,而不是 AppleSkin 自动理解所有第三方食物机制。

  • SyncHandler 会在服务端检测到饱和度或消耗度变化时同步给客户端:原版通常不会持续同步饱和度,也完全不发送消耗度。也就是说 HUD 本身是客户端显示,但“精确的实时饱和度/消耗度”在多人中受服务端是否也有兼容同步影响;不要把它误写成纯本地计算且永远精确。

6.2.5. Show Durability:在物品图标上写剩余耐久

Show Durability 的源码非常小,功能边界也很明确:它只在物品图标上额外画一个数字,不管理装备、不预警、不改变耐久损耗。

6.2.5.1. 源码确认的功能清单

  • 直接显示剩余耐久:Mixin 注入 GuiGraphicsExtractor.itemCount 的尾部,对 itemStack.getMaxDamage() - itemStack.getDamageValue() 求值,渲染为白色带阴影的数字。显示的是“还可使用多少点”,不是已损耗量或百分比。

  • 覆盖原版常见物品格渲染:它复用原版物品数量文本的绘制入口,因此背包和快捷栏中的单件可损耗物品都会走到同一逻辑,而非额外创建一个独立 HUD。

  • 避免与堆叠数量冲突:源码只在物品数量恰好为 1 且物品可损耗时绘制;不会拿耐久数字覆盖普通堆叠物品的数量。创造模式物品栏标签图标被单独标记并跳过,避免标签图标出现无意义数字。

  • 一键显示/隐藏:默认按键是 B。按下后只翻转 visible 布尔值,适合截图、直播或画面太拥挤时临时关闭。

  • 配置自动保存:唯一配置文件是 config/show-durability.json,内容就是显示开关的 JSON 布尔值;打开暂停菜单时会保存。

6.2.5.2. 它不做什么

  • 没有低耐久阈值、颜色分级、声音提醒、百分比模式、字体/位置调节或单独的装备栏布局配置。

  • 不会给地上的掉落物、展示框、实体手持物单独添加耐久标签;它跟随的是 GUI 物品图标渲染。

  • Fabric 元数据将运行环境标为 client。它不向服务器发送耐久修改,也不需要服务端安装来显示客户端已知的物品耐久;多人服仍应遵守服务器规则。

6.2.6. Neat:实体头顶的可筛选状态条

Neat 在 26.2 标签中把实体的渲染状态提取出来,再提交一个面向镜头的头顶状态条。它与 Jade 都能展示实体生命信息,但 Neat 的定位是“同时看周围实体”,不是“查看准星当前目标”。

6.2.6.1. 源码确认的功能清单

  • 头顶生命条:为 LivingEntity 绘制有半透明背景的生命进度条,颜色默认随生命比例从绿到红变化;也可切换为按实体类型着色(友好绿、敌对红、Boss 紫)。

  • 名称与三种血量文字:可分别显示实体名、当前生命、最大生命、生命百分比;血量数字使用可配置的十进制格式。F3 开启且 enableDebugInfo 为真时,会额外显示实体注册 ID。

  • 属性和护甲图标:节肢、亡灵、灾厄村民与 Boss 会显示对应类型图标;护甲值可显示为铁胸甲/钻石胸甲图标,并可以把每 5 点护甲合并为一个钻石图标。

  • 分类筛选:被动生物、敌对生物、玩家、Boss 可以分别开关;也可只显示准星锁定的实体,或隐藏满血实体。

  • 距离与视线控制:默认最大距离为 24 格;没有视线时默认只在 8 格内显示。源码还遵守队伍的名称标签可见性、隐身状态及“摄像机实体自己不显示”等限制。

  • 黑名单:可按实体 ID 排除。默认排除了潜影贝、盔甲架、鳕鱼、鲑鱼、河豚、热带鱼和蝌蚪,避免水生群体或装饰实体把画面塞满。

  • 原版名称标签策略ALWAYS 始终保留,NEVER 始终隐藏,默认 WHEN_NO_HEALTHBAR 则在 Neat 显示状态条时隐藏原版名称标签,避免同一名字重复两次。

  • 总开关:源码注册了“Toggle Neat”按键,但默认键值是 UNKNOWN,也就是**默认未绑定**;安装后应去控制设置自行绑定。

6.2.6.2. 默认配置与安装边界

Fabric 26.2 标签中,NeatFabricConfig 通过 Cloth Config / Auto Config 创建 neat-client 客户端配置:默认显示实体名、当前/最大生命和百分比,显示满血实体,显示被动/敌对/玩家/Boss,开启背景、属性和护甲图标。状态条高度、宽度、距实体高度、文字颜色、图标 X/Y 偏移、黑名单等都能调。配置里虽有 plateSizeBoss``(默认 50),但该 26.2 标签的 ``HealthBarRenderer 实际只读取 plateSize 计算宽度;因此不能把“Boss 单独宽度”当成该版本已经生效的功能。

该标签的 fabric.mod.json 将环境标为 client,并声明 Fabric、Cloth Config 依赖。因此它通常不需要服务器安装;但服务器是否向客户端同步某种自定义实体属性,仍由对应实体 MOD 的网络实现决定。

6.2.7. Jade:准星目标的模块化信息框

Jade 的核心不是一张固定信息表,而是“准星目标 + 注册 Provider + 配置开关”的组合。WailaTickHandler 每个客户端 tick 对方块或实体射线检测,收集可用组件后由 OverlayRenderer 显示;Vanilla、Universal、Accessibility、Debug 等插件再向它注册各自的信息提供器。

6.2.7.1. 基础显示与交互

  • 目标名、图标与所属 MOD:核心 Provider 可显示方块或实体名称、图标、MOD 名称;物品提示框还可补充物品所属 MOD 名。距离、坐标、相对坐标、受击面均有独立配置项,默认并非全部开启。

  • 目标类型开关:可分别启用方块、实体与 Boss 的信息框;流体射线检测可在任何流体、关闭或回退模式间选择。

  • 显示模式:默认 TOGGLE;也可改为按住显示或 LITE 精简显示。精简模式下按住“显示详情”键才收集低优先级详细条目。

  • 默认按键:小键盘 0 打开配置、1 切换/按住显示信息框、2 切换流体显示、5 朗读;Left Shift 是显示详情。若检测到配方查看器,源码还注册小键盘 3 / 4 的配方/用途查询键;四个 Profile 切换键默认未绑定。

  • 布局与视觉:位置、锚点、缩放(0.2—2)、透明度、主题、图标位置(顶部/居中/行内/隐藏)、动画和消失延迟都可调。默认位置是屏幕下方居中、透明度 0.7、带动画;Boss 血条相交时默认将信息框下推。

  • 可访问性:支持旁白开关/按住朗读、按键朗读提示,并有可选的无障碍 Provider,例如告示牌内容、方块/实体详细描述、实体变种、手持物与 NPC 描述。

6.2.7.2. 原版方块:源码已注册的内容

以下不是“可能支持的示例”,而是 26.2.9 VanillaPlugin 中实际注册的原版 Provider。具体条目可在 Jade 配置页逐项关闭。

  • 采掘与状态:方块适用工具图标、当前工具是否正确、不可破坏提示、破坏进度;农作物成长进度;红石功率、比较器/校准幽匿感测体信息;漏斗锁定状态;音符盒音色与音符;TNT 稳定性警告;命令方块信息。

  • 容器与加工:熔炉内容、酿造台、营火烹饪物及剩余时间、蜂箱蜜蜂/蜂蜜、唱片机当前唱片、讲台上的书、切制书架命中格中的书与附魔、箱子式物品存储显示。

  • 结构与特殊方块:刷怪笼/试炼刷怪笼类型、试炼刷怪笼冷却、附魔台单方块与总附魔强度、玩家头颅、蜡化状态、悬浮方块/物品展示实体图标、物品展示框、装饰陶罐的物品图标。

6.2.7.3. 原版实体:源码已注册的内容

  • 生命、吸收与护甲:Living Entity 的生命心形、吸收值和护甲值默认开启。心形渲染阈值、每行图标数、是否显示分数、护甲渲染阈值均可调。

  • 状态与归属:可见药水效果(默认上限 7 个)、驯服动物主人、动物成长、繁殖冷却(含村民/悦灵)、鸡蛋/犰狳鳞片/嗅探兽掉落倒计时、村民职业、僵尸村民转化、宠物护甲名称及耐久、铜傀儡/告示牌等蜡化状态。

  • 专用实体信息:马匹跳跃高度和移速(羊驼显示力量)、盔甲架、画作、下落方块、物品展示实体、方块展示实体、刷怪笼矿车等均有对应 Provider。

6.2.7.4. 通用能力与其他 MOD 联动

UniversalPlugin 对方块与实体注册了四类扩展能力:物品存储、流体存储、能量存储和进度。其他 MOD 只要对接 Jade 的扩展接口,目标信息框就可以显示容器物品、液体罐、能量或机器进度。

其中物品存储默认普通模式显示 9 项,按“显示详情”时最多 54 项;可调整每行物品数、何时显示名称、是否按数量排序。能量和流体可设为仅详细模式显示,且可选进度条、图标或纯文本样式。这是 Jade 能适配机器 MOD 的基础,但不是“只安装 Jade 就能读取任何第三方机器私有数据”的保证。

6.2.7.5. 服务端数据边界

Jade 既有纯客户端可得的信息,也有需要服务端核实的信息。源码中的过程是:客户端与服务端互相握手;客户端按当前准星目标请求已注册的方块/实体数据 Provider;服务端返回数据,并把单次包限制在 16 KiB 内,超限时会裁掉最大字段。

因此可以这样理解:

  • 单人世界或服务端也安装兼容 Jade 时,蜂箱内容、熔炉物品、实体效果、容器/机器存储等服务端数据型信息可按 Provider 请求取得,并受服务端配置约束。

  • 仅客户端安装、或服务器没有对应 Provider 时,目标名称、方块状态、采掘工具等客户端可判断的内容仍可显示;依赖服务端数据的条目则可能不出现、变少或以客户端可见状态为准。

  • Jade 不是透视或绕过权限工具。数据来自服务端实际允许响应的 Provider,且服务端能同步自己的插件配置给客户端。

6.2.8. 四者一起使用时的建议

  • AppleSkin + Show Durability:一个关注生存资源循环,一个关注工具寿命,画面位置不同,基本没有内容重复。

  • Jade + Neat:两者都会显示实体生命,但观察方式不同。想保留场景态势就开 Neat;想知道准星目标的详细状态就开 Jade。画面拥挤时,优先在 Neat 关闭满血实体或启用“仅当前目标”,并把 Jade 改为 LITE

  • AppleSkin + Jade:Jade 的“宠物护甲耐久”只针对目标实体的宠物护甲,不能替代 Show Durability 的玩家背包耐久数字;AppleSkin 的食物预测同样不能被 Jade 的目标信息框替代。

  • 录制顺序:先展示 AppleSkin 的食物提示与 HUD,再展示 Show Durability 的同一把工具随损耗变化,随后用 Neat 演示远近、遮挡和“只看目标”筛选,最后用 Jade 依次指向作物、熔炉/营火、实体和刷怪笼。这样四种信息层级不会混在同一镜头里。

6.2.9. 官方源码与项目页