ThaumicHorizonsCompatHandler
基本信息
| 属性 | 值 |
|---|---|
| 类名 | com.gtnewhorizons.angelicacompat.asm.handlers.ThaumicHorizonsCompatHandler |
| 实现接口 | CompatHandler |
| 启用条件 | PatchesConfig.patchThaumicHorizons == true |
| 注册枚举 | CompatHandlers.THAUMIC_HORIZONS |
| 启用版本 | Minecraft 1.7.10(仅客户端) |
功能
把 Thaumic Horizons 的客户端 HUD overlay 方法加入 Angelica HUDCaching 的早退目标:
| 类 | 方法 |
|---|---|
com.kentington.thaumichorizons.client.lib.RenderEventHandler |
renderOverlay |
→ 由 HUDCachingEarlyReturnTransformer 读取并在方法开头插入:
if (HUDCaching.shouldReturnEarly()) return;
// ... 原方法体 ...
实现要点
仅覆写 getHUDCachingEarlyReturn():
return ImmutableMap.of("com.kentington.thaumichorizons.client.lib.RenderEventHandler", ImmutableList.of("renderOverlay"));
其它 getFieldLevelTessellator/getTileEntityNullGuard/getThreadSafeISBRHAnnotations/extraTransformers 均返回 null。
与 ThaumcraftCompatHandler 完全平行——一个针对原版 Thaumcraft,一个针对其分支 Thaumic Horizons。两个 handler 同时启用则 Angelica HUDCaching 缓存命中时两份 HUD 都被跳过。
输出与调试
注入日志(来自 HUDCachingEarlyReturnTransformer):
[AngelicaTweaker] Injecting HUDCaching Conditional Return: com.kentington.thaumichorizons.client.lib.RenderEventHandler#renderOverlay
详见 AngelicaCompatCore — DUMP_CLASSES 模式下输出改写后字节码。
数值
| 数值 | 默认 | 含义 |
|---|---|---|
| 注册目标方法数 | 1 | RenderEventHandler#renderOverlay |
| 触发开关 | PatchesConfig.patchThaumicHorizons |
配置关闭则 handler 不装载 |
| 联动开关 | AngelicaConfig.enableHudCaching |
HUD 缓存未启用时 transformer 也不会装载 |
限制
- 同 ThaumcraftCompatHandler:TH 升级到
renderOverlay改名 / 改返回值时本 handler 静默失效。 - 仅跳过
renderOverlay;TH 自定义 HUD 的其他绘制方法不会被跳过。
第三方 mod 集成
仅针对 com.kentington.thaumichorizons (Thaumic Horizons) mod。
相关条目
- HUDCachingEarlyReturnTransformer - 读取本 handler 映射
- CompatRegistry - 中央注册表
- CompatHandlers - 启用开关
- ThaumcraftCompatHandler - 平行 Thaumcraft handler
- PatchesConfig -
patchThaumicHorizons开关