ChromaticTooltipsCompat

[!INFO] Git Commit: a40339f | Updated: 2026-10-01

Chromatic Tooltips 的兼容补丁合集。它本身不渲染任何 tooltip, 而是通过 60 个 Mixin + 11 个事件处理器,让 30+ 个第三方 mod 自己画的 tooltip 改走 Chromatic Tooltips 的统一样式与排版。

身份

属性 实测值
modid chromatictooltipscompat(全小写,ChromaticTooltipsCompat.java:21)
主包 com.slprime.chromatictooltipscompat
Java 文件 85
注册内容 0 方块 / 0 物品 / 0 实体 / 0 网络包
Mixin 类 60(1 个 EARLY + 59 个 LATE)
Mixin 组 35
目标 mod 判定 32
配置项 52 个 boolean(全在 general 分类)
事件处理器 11
硬依赖 chromatictooltips@[1.0.7,);NEI 为软依赖 after:
Minecraft 1.7.10(gradle.properties,Forge 10.13.4.1614)
Access Transformer META-INF/mixins.chromatictooltipscompat_at.cfg

[!NOTE] 本 mod 走 GTNHLib Mixins(IMixins / ILateMixinLoader / IEarlyMixinLoader),不是 UniMixins。 三个 mixins.chromatictooltipscompat*.json 配置文件里 一个 mixins 数组都没有,也没有 plugin 字段—— 真正的 Mixin 列表由 Mixins 枚举在运行时按配置与已加载 mod 动态生成。 照着 JSON 统计 Mixin 数量会得到 0,这是本仓最易误判的一点。

源码缺陷

  1. WAILA 组是唯一没有配置门控的 Mixin 组。 Mixins.java:67-69 的 WAILA 直接 addClientMixins(...) 后 .setPhase(Phase.LATE),缺少 setApplyIf。 其余 34 个组全部有门控。后果:只要装了 Waila, waila.TooltipHandlerWailaMixin 就会无条件注入, 用户把 wailaEnabled 设为 false 也拦不住。 (同 modid 的 WAILA_RENDER 组反而有门控,属明显遗漏。)

  2. Ender IO 的 9 个 Mixin 被 Ender Core 的开关控制。 Mixins.java:33-45 的 ENDER_IO_CORE 组补丁的是 Ender IO (enderio.* 目标类),但门控写的是 CompatConfig.enderCoreEnabled ——而 TargetedMod.java:16 里 ENDER_IO_CORE 的 modid 是 endercore, 即 Ender Core。同名的 EnderCoreHandler 处理的也是 Ender Core。 结果:关掉 Ender Core 兼容会连带关掉 Ender IO 兼容。

  3. inventoryTweaksEnabled 是死配置。 CompatConfig.java:134-136 声明了它,但在全部 85 个源文件中 零引用——既没有对应 Mixin 组,也没有 handler 读它。 玩家的修改不会有任何效果。

  4. AppleCore 有两个语义不同的开关。 ClientProxy.java:43 用 appleCoreEnabled 决定是否注册 handler; 而 APPLECORE Mixin 组(Mixins.java:159)用的是 appleCoreFoodStatsDisabled(「隐藏食物属性」)。 两者不同步:可能 Mixin 已注入但 handler 未注册, 或反之。

  5. SCIENCE_NOT_LEISURE 的显示名拼错。 Mixins.java:182 写成 "GT Not Leisure",应为 “Science Not Leisure”。

  6. 52 个开关里 19 个从不作为 Mixin 门控。 其中 18 个被 ClientProxy / handler 消费, 仅 inventoryTweaksEnabled 完全无人使用。

[!NOTE] 以上均为源码事实,不含推测。 第 1、2 条会影响实际行为;第 3 条是纯粹的无效配置。

依赖关系

依赖 收录状态
chromatictooltips 已登记(data/relation.md),尚未成文 → 前向引用
NotEnoughItems 不在 relation.md 中 → 不建分类
gtnhlib / gtnhmixins 不在 relation.md 中 → 不建分类

其余 30 个补丁目标(GregTech、Ender IO、Botania、Railcraft、Thaumcraft 等) 均为可选目标:装了才注入,没装不影响本 mod 加载。 它们绝大多数不在本 wiki 收录范围,故不建分类。

全部条目索引

核心(4)

Mixin 框架(4)

事件处理器(11)

工具类(5)

过滤器(1)

Mixin 目标(60)

AE2 Fluid Crafting(modid ae2fc,LATE,1 个)

Akashic Tome(modid akashictome,LATE,1 个)

AppleCore(modid AppleCore,LATE,1 个)

Applied Energistics 2(modid appliedenergistics2,LATE,1 个)

Applied Energistics 2(modid appliedenergistics2,LATE,1 个)

  • GuiMEMonitorableMixin - 补丁 GuiMEMonitorable(appliedEnergisticsEnabled、appliedEnergisticsAmountEnabled)

Baubles Expanded(modid Baubles|Expanded,LATE,1 个)

BetterQuesting(modid betterquesting,LATE,4 个)

Binnie Core(modid BinnieCore,LATE,1 个)

Botania(modid Botania,LATE,2 个)

BuildCraft(modid BuildCraft|Core,LATE,3 个)

CodeChickenLib(modid CodeChickenCore,LATE,1 个)

Ender IO(modid endercore,LATE,9 个)

Forestry(modid Forestry,LATE,1 个)

Galacticraft Core(modid GalacticraftCore,LATE,1 个)

GregTech(modid gregtech,EARLY,1 个)

GregTech(modid gregtech,LATE,1 个)

GT Not Leisure(modid sciencenotleisure,LATE,1 个)

GTNHLib(modid gtnhlib,LATE,1 个)

Hardcore Ender Expansion(modid HardcoreEnderExpansion,LATE,1 个)

IndustrialCraft 2(modid IC2,LATE,3 个)

JourneyMap(modid journeymap,LATE,1 个)

  • JmUIMixin - 补丁 JmUI(journeymapEnabled)

Just Enough Calculation(modid jecalculation,LATE,2 个)

Logistics Pipes(modid LogisticsPipes,LATE,1 个)

Malisis Doors(modid malisisdoors,LATE,2 个)

Modular UI(modid modularui,LATE,2 个)

Modular UI 2(modid modularui2,LATE,1 个)

NEI Custom Diagram(modid neicustomdiagram,LATE,1 个)

  • DrawMixin - 补丁 Draw(neicustomdiagramEnabled)

NotEnoughItems(modid NotEnoughItems,LATE,3 个)

Railcraft(modid Railcraft,LATE,2 个)

Steve’s Carts 2(modid StevesCarts,LATE,1 个)

Thaumcraft(modid Thaumcraft,LATE,2 个)

Tinkers Construct(modid TConstruct,LATE,1 个)

Waila(modid Waila,LATE,3 个)

Waila(modid Waila,LATE,1 个)

Waila(modid wawla,LATE,1 个)

覆盖率

85 / 85 = 100%(85 个 Java 文件逐个成文,1:1 无遗漏):

[!NOTE] mixin-targets 下有 3 组同名类分散在不同目标 mod 中: RenderHelperMixin(akashictome / botania)、 ToolTipMixin(buildcraft / railcraft)、 AnimatedTooltipHandlerMixin(gtnhlib / sciencenotleisure)。 条目文件名已加目标 mod 前缀区分,如 botania-render-helper-mixin。