component 包
基本信息
| 属性 | 值 |
|---|---|
| 位置 | src/main/java/com/slprime/chromatictooltips/component/ |
| 类数 | 11 |
| 启用版本 | Minecraft 1.7.10 |
tooltip 的渲染片段。渲染器把 tooltip 拆成若干 component 逐个绘制。
11 个类(实测完整清单)
| 类 | 类别 | 作用 |
|---|---|---|
TextComponent |
文本 | 纯文本 |
DyncamicTextComponent |
文本 | 动态文本 |
ParagraphComponent |
文本 | 段落 |
SectionComponent |
结构 | 分节 |
InlineComponent |
结构 | 内联 |
SpaceComponent |
结构 | 空白 |
DividerComponent |
分隔 | 分隔线 |
DividerTextComponent |
分隔 | 分隔线 + 文本 |
ItemAttributeComponent |
领域 | 物品属性 |
EnchantmentComponent |
领域 | 附魔 |
KeyboardModifierComponent |
领域 | 按键修饰 |
「类别」一列是按命名归的便于阅读,源码中没有对应的基类或标记接口 ——
11 个类直接实现 api/ITooltipComponent,无中间抽象层。
⚠️ 拼写错误:Dyncamic
正确英文应为 Dynamic,源码写 Dyncamic(Dy-n-camic)。
这是源码既有拼写,按 DynamicTextComponent 搜类搜不到。
⚠️ Divider 系有 4 个类,分两层
| 层 | 类 | 位置 |
|---|---|---|
| 渲染 | DividerComponent、DividerTextComponent |
component/(本包) |
| 文本转换 | DividerConverter、DividerTextConverter |
converter/ |
即 Component 负责画,Converter 负责转文本,
名字一一对应但不是同一层,不可混为一谈。
见 行转换器。
命名风格与 api 包相反
- api 包 的 6 个接口全部
I前缀(ITooltipComponent)。 - 本包 11 个实现全部无前缀。
⚠️ 按 I 前缀筛「可扩展点相关类」会只命中接口、漏掉全部实现;
按「Component 后缀」筛则只命中本包 10 个(SectionComponent 等),
而 ITooltipComponent 本身在 api/。
关联
- api 包 -
ITooltipComponent接口 +EnchantmentData - enricher 清单 - 产出 component 的 enricher
- 行转换器 - Divider 系 Converter 对照
- TooltipRenderer - 消费 component