TooltipAppender
物品提示框的注册口子,NeoForge 的扩展点。每个模块注册自己的 appender,资源、货币、品质与灵气存储的显示互不耦合,所以加一条提示行不会碰到别人那几行。
两种注册形状,都挂在 RegisterTooltipAppendersEvent 上:
| 形状 | 用在哪 |
|---|---|
event.registerAppender(TooltipLocation.HEAD / POST_CUSTOM, ...) | 按位置插一段:品质在 HEAD,灵气存储、法器绑定、货币价值、符箓提示跟在自定义内容之后。 |
event.registerComponentAppenderBeforeAll(组件, TooltipAppender.createComponentAppender(组件)) | 由物品组件驱动的一整段:契约铃、灵兽袋、阵盘、储物容器这类"东西自己带着说明"的组件各注册一条。 |
同一个位置上的 appender 按注册顺序执行(也就是它们的事件处理器被调用的先后),所以几行必须按固定顺序读的内容只能由同一个 appender 写出,拆成两个就排不明白。符箓载体就是这样:铭刻、灵气与手势提示全在 TalismanTooltipAppender 一处按序写出,灵气存储那一条对载体让位;品质行照旧由品质模块在 HEAD 给出,永远在最上面。
规矩是"一个模块一个 appender":提示行拼什么、按什么顺序,写在那个模块自己的类里。数值的拼法(两位小数、带符号、一行之间用翻译键连接而不是硬编码标点)统一走 TooltipText,见公开 API。