内置 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。

相关条目