TooltipRegistry
基本信息
| 属性 | 值 |
|---|---|
| 文件 | src/main/java/com/slprime/chromatictooltips/TooltipRegistry.java |
| 启用版本 | Minecraft 1.7.10 |
功能
扩展点注册中心。两个静态注册方法,供 ClientProxy 的
preInit 填充。
2 个注册方法
| 方法 | 签名 | 实参形态 |
|---|---|---|
addEnricher |
addEnricher(ITooltipEnricher) |
传实例 |
addLineConverter |
addLineConverter(Pattern regexp, ITooltipLineConverter converter) |
传 Pattern + 实例 |
public static void addLineConverter(Pattern regexp, ITooltipLineConverter converter) { … }
⚠️ 两种注册键的形态不同:
| 注册 | 键 | 值 |
|---|---|---|
addEnricher |
隐含(按注册顺序) | ITooltipEnricher 实例 |
addLineConverter |
显式 Pattern 正则 |
ITooltipLineConverter 实例 |
⚠️ 行转换器自带静态 PATTERN(见 converter/ 包的
ModifierConverter.PATTERN / DividerTextConverter.PATTERN / DividerConverter.PATTERN),
由调用方取出传入 —— 正则不在 TooltipRegistry 内定义。
⚠️ addLineConverter 的位置在 TooltipRegistry.java:45;
addEnricher 的定义与 addLineConverter 同一区域。
两个方法的声明行也会被 grep 命中,做调用点统计时要排除定义行
(ClientProxy 侧 addEnricher 12 次、addLineConverter 3 次)。
注册数量(实测)
| 项 | 数量 |
|---|---|
| enricher 实例 | 12(来自 11 个类,ItemStatsEnricher 注册两次) |
| 行转换器 | 3(converter/ 恰好 3 个类,一一对应) |
关联
- ClientProxy - 全部注册调用的来源
- TooltipHandler - 消费注册表的渲染总线
- 行转换器 - 3 个
Pattern的定义处 - enricher 清单 - 11 个 enricher