6.2. AppleSkin、Show Durability、Neat 与 Jade:信息 HUD 与生存辅助
这四个 MOD 都是在增加信息,但它们看的不是同一件事:AppleSkin 看的是**自己吃下食物后的数值变化**,Show Durability 看的是**背包里物品还剩多少耐久**,Neat 看的是**场景中实体头顶的状态条**,Jade 则是在准星指向目标时给出**方块或实体的信息卡**。
本文的功能清单以每个项目的上游源码、模组元数据、默认配置和实际注册的渲染/数据提供器为依据整理;不是把项目页上的一句宣传语直接改写成介绍。因此,文中会明确区分“当前整合包已安装”“计划补充”和“需要服务端配合才有精确数据”。
6.2.1. 源码审计基线
MOD |
本文源码基线 |
对应版本与安装状态 |
实际查阅的重点 |
|---|---|---|---|
AppleSkin |
官方仓库 |
整合包清单已有 3.0.10;该仓库分支本身是旧 Forge 代码基线,不能用它断言 26.2 的加载器兼容性 |
食物值、HUD、提示框、F3 与饱和度/消耗度同步实现。 |
Show Durability |
|
上游构建字段为 1.1.3+26.2;当前整合包清单中未发现该 JAR,属于计划补充 |
|
Neat |
发布标签 |
标签构建字段为 Minecraft 26.2;当前整合包清单中未发现该 JAR,属于计划补充 |
26.2 渲染状态采集、头顶状态条渲染、筛选逻辑和 Cloth Config 默认值。 |
Jade |
发布标签 |
整合包清单已有 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 的客户端入口注册了 HUDOverlayHandler、TooltipOverlayHandler 和 DebugInfoHandler。它不改变食物、饥饿或自然回复规则;做的是把原本不可见或需要计算的信息叠加到原版界面上。
6.2.4.1. 源码确认的功能清单
食物提示框中的饥饿与饱和度图标:鼠标悬停在食物上时,
TooltipOverlayHandler读取食物的FoodValues,以鸡腿和饱和度图标追加两行可视化信息。默认配置中“始终显示”开启;也可改成仅在按住Shift时显示。手持食物后的饥饿恢复预览:主手拿着当前可食用的食物时,饥饿条上会叠加闪烁的“吃完后会补到哪里”。主手不可食用且启用了副手选项时,逻辑会改用副手食物。
当前饱和度与本次获得饱和度:饥饿条上先绘制当前饱和度层,再以不同透明度标出手持食物会带来的增量;不是只显示一个抽象百分比。
消耗度进度条:在饥饿图标背后画出
exhaustion / 4的 81 像素进度条,帮助判断下一次何时会扣饱和度或饥饿。估算生命恢复预览:在生命条上叠加进食后的预计可恢复心数。源码会同时模拟自然回复与食物自带的再生效果;和平难度、已有中毒/凋零/再生效果,或当前饥饿值已达到 18 时会跳过这项预览,避免把同时发生的其他回血误算给食物。
F3 食物行:开启调试信息时,在 F3 左侧加入
hunger、sat、exh/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 依次指向作物、熔炉/营火、实体和刷怪笼。这样四种信息层级不会混在同一镜头里。