内置 Tooltip 渲染器
基本信息
| 属性 | 值 |
|---|---|
| 源码目录 | src/main/java/mcp/mobius/waila/overlay/tooltiprenderers/ |
| 实现类总数 | 10 |
| 实际注册数 | 7 |
| 注册位置 | ProxyClient.registerHandlers()(ProxyClient.java:57-64) |
| 接口 | IWailaTooltipRenderer / IWailaVariableWidthTooltipRenderer |
addon 往 HUD 里插图形内容靠 ¤¦a{名称,参数} 控制符调用这些渲染器,语法定义见 Tooltip 控制符。
功能
已注册的 7 个
| 注册名 | 实现类 | 文件大小 | 注册行 |
|---|---|---|---|
waila.health |
TTRenderHealth |
2072 B | ProxyClient.java:57 |
waila.stack |
TTRenderStack |
2829 B | ProxyClient.java:58 |
waila.bar |
TTRenderBar |
3366 B | ProxyClient.java:59 |
waila.progress |
TTRenderProgressBar |
1366 B | ProxyClient.java:60 |
waila.fluid |
TTRenderFluidBar |
6756 B | ProxyClient.java:61 |
waila.rfenergy |
TTRenderRFBar |
3747 B | ProxyClient.java:62 |
waila.tcaspect |
TTRenderAspectString |
3520 B | ProxyClient.java:64 |
注意 waila.tcaspect 与前 6 个之间隔了一个空行(ProxyClient.java:63),源码中确实是分开的两组注册。
未接线的 3 个(dead code)
以下 3 个类在源码目录中存在,但 new XxxRenderer() 在整个仓库 0 处实例化:
| 类 | 文件大小 | 证据 |
|---|---|---|
TTRenderIcon |
923 B | grep -rn "new TTRenderIcon()" src/main/java → 0 匹配 |
TTRenderString |
846 B | grep -rn "new TTRenderString()" src/main/java → 0 匹配 |
TTRenderTrueTyper |
1257 B | grep -rn "new TTRenderTrueTyper()" src/main/java → 0 匹配 |
同类校验对已注册的 7 个类均返回 1 处匹配(均在 ProxyClient.java),故 0 匹配可确认为未接线而非检索遗漏。这 3 个类不构成对外能力,不计入 Waila 暴露的渲染器清单。
数值
| 项 | 值 | 来源 |
|---|---|---|
TTRender* 类总数 |
10 | 目录清点 |
| 注册名总数 | 7 | ProxyClient.java:57-64 |
| 未实例化类数 | 3 | grep 证据见上 |
| 体积最大的渲染器 | TTRenderFluidBar(6756 B) |
目录清点 |
交互
每个渲染器实现 getSize(预留区域尺寸)与 draw(绘制)两个方法,GL 矩阵已自动对齐到预留区左上角。变宽需求可实现 IWailaVariableWidthTooltipRenderer 的 setMaxLineWidth / getMaxLineWidth。契约详见 Tooltip 渲染器 API。
waila.rfenergy(RF 能量条)的显示受 addon 配置 thermalexpansion.rfenergybar(“Use Progress Bar for RF”)控制,见 模块配置项。waila.tcaspect(Thaumcraft 要素串)由 Thaumcraft 模块提供上下文,其开关为 thaumcraft.aspects。
相关条目
- Tooltip 渲染器 API - 接口契约与注册方法
- Tooltip 控制符 -
¤¦a{...}语法与getRenderString辅助方法 - HUD 渲染管线 - 渲染器在管线中的调用位置
- 模块配置项 - 控制部分渲染器显示的 addon 配置