enricher 清单

基本信息

属性 值
位置 src/main/java/com/slprime/chromatictooltips/enricher/
类数 11
注册实例 12
启用版本 Minecraft 1.7.10

11 个类与注册顺序

ClientProxy 的 preInit 按固定顺序注册 12 个实例:

序 实例 类 作用
1 new TitleEnricher() TitleEnricher 标题
2 new KeyboardModifierEnricher() KeyboardModifierEnricher 按键修饰
3 new ItemStatsEnricher(true) ItemStatsEnricher 物品属性(仅图标)
4 new StackSizeEnricher() StackSizeEnricher 堆叠数量
5 new HotkeyEnricher() HotkeyEnricher 快捷键提示
6 new ItemInfoEnricher() ItemInfoEnricher 物品信息
7 new FluidInfoEnricher() FluidInfoEnricher 流体信息
8 new EnchantmentEnricher() EnchantmentEnricher 附魔
9 new ItemStatsEnricher(false) ItemStatsEnricher 物品属性
10 new OreDictionaryEnricher() OreDictionaryEnricher 矿物词典
11 new ContextInfoEnricher() ContextInfoEnricher 上下文信息
12 new ModInfoEnricher() ModInfoEnricher 来源 mod

⚠️ 12 个实例 ≠ 11 个类 —— ItemStatsEnricher 被注册两次 (序 3 与序 9),中间夹 5 个其它 enricher。

⚠️ 两次实例化靠构造参数 boolean showOnlyIcons 区分, 并通过 sectionId() 产生不同分节 id:

public String sectionId() { return SECTION_ID + (this.showOnlyIcons ? ":icons" : ""); }

即 true 版得 …:icons,false 版得基础 id。 分节靠 sectionId() 字符串区分,不靠对象身份。

接口与事件

enricher 实现 api/ITooltipEnricher, 其扩展点事件在 event/ 包(15 个类)中有对应者:

enricher 对应事件
TitleEnricher TitleEnricherEvent
KeyboardModifierEnricher —
ItemStatsEnricher AttributeEnricherEvent
StackSizeEnricher StackSizeEnricherEvent
HotkeyEnricher HotkeyEnricherEvent
ItemInfoEnricher ItemInfoEnricherEvent
FluidInfoEnricher FluidInfoEnricherEvent
EnchantmentEnricher EnchantmentEnricherEvent
OreDictionaryEnricher —
ContextInfoEnricher ContextInfoEnricherEvent
ModInfoEnricher ModInfoEnricherEvent

⚠️ KeyboardModifierEnricher 与 OreDictionaryEnricher 没有专属事件 —— 11 个 enricher 只对应 9 个 *EnricherEvent。 另有 3 个非 *EnricherEvent 事件(FoodEffectsEvent、FoodStatsEvent、 TooltipEnricherEvent、RenderTooltipEvent、TextLinesConverterEvent、TooltipEvent) 属其它用途。不要建立「enricher 数 = enricher 事件数」的一一映射。

行转换器(同在 enricher 关注域)

converter/ 包 3 个类,以静态 PATTERN 为键注册:

类 作用
ModifierConverter 文本修饰符
DividerTextConverter 分隔线文本
DividerConverter 分隔线

⚠️ 它们不在 enricher/ 包,而在 converter/ 包, 但都经 TooltipRegistry 的 addLineConverter 注册。

关联