ThaumicHorizonsCompatHandler
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.gtnewhorizons.angelica.loading.fml.compat.handlers.ThaumicHorizonsCompatHandler |
| 路径 | src/main/java/com/gtnewhorizons/angelica/loading/fml/compat/handlers/ThaumicHorizonsCompatHandler.java |
| 行数 | 17 |
| 类型 | public class ... implements ICompatHandler(:10) |
| 门控 | CompatConfig.fixThaumicHorizons(CompatHandlers.java:20) |
它是什么
Thaumic Horizons(kentington)的兼容数据提供者——Thaumcraft 的一个平行分支 mod。
唯一覆写:getHUDCachingEarlyReturn(:13-15)
return ImmutableMap
.of("com.kentington.thaumichorizons.client.lib.RenderEventHandler", ImmutableList.of("renderOverlay"));
与 ThaumcraftCompatHandler 逐字符同构:同样是 1 个类 + 1 个方法 renderOverlay,只是包名不同。
| Thaumcraft | Thaumic Horizons | |
|---|---|---|
| 包名 | thaumcraft.client.lib |
com.kentington.thaumichorizons.client.lib |
| 类名 | RenderEventHandler |
RenderEventHandler |
| 方法 | renderOverlay |
renderOverlay |
| 行数 | 16 | 17 |
| 覆写方法数 | 1 | 1 |
两个文件除了包声明与 import 行数不同,方法体逻辑完全相同。这是没有抽象层(没有 AbstractHudOverlayCompatHandler 之类)的直接结果。
已知问题
- 与 ThaumcraftCompatHandler 的重复:两个 16/17 行的类承载同一份逻辑。若
HUDCachingEarlyReturnTransformer需要新增能力(例如支持有返回值的renderOverlay),必须改两处。 - 两处都没有 Javadoc,无法从代码判断这是有意复制还是重构遗漏。
- RFB 路径失效:同 Thaumcraft —— 装了 RetroFuturaBootstrap 时本补丁不注册。
- 目标类名是字符串字面量,上游改包名则静默失效。
相关条目
- ThaumcraftCompatHandler - 本类的逐行孪生
- HUDCachingEarlyReturnTransformer - 注入早退的通用 transformer
- HUDCaching -
shouldReturnEarly()的提供方 - AngelicaRfbPlugin - RFB 路径拿不到本补丁的原因
- CompatConfig -
fixThaumicHorizons