ThaumcraftCompatHandler

基本信息

属性 值
类名 com.gtnewhorizons.angelicacompat.asm.handlers.ThaumcraftCompatHandler
实现接口 CompatHandler
启用条件 PatchesConfig.patchThaumcraft == true
注册枚举 CompatHandlers.THAUMCRAFT
启用版本 Minecraft 1.7.10(仅客户端)

功能

把 Thaumcraft 的客户端 HUD overlay 方法加入 Angelica HUDCaching 的早退目标:

类 方法
thaumcraft.client.lib.RenderEventHandler renderOverlay

→ 由 HUDCachingEarlyReturnTransformer 读取并在方法开头插入:

if (HUDCaching.shouldReturnEarly()) return;
// ... 原方法体 ...

renderOverlay 返回 void,命中缓存时 transformer 插入 RETURN。

实现要点

仅覆写 getHUDCachingEarlyReturn():

return ImmutableMap.of("thaumcraft.client.lib.RenderEventHandler", ImmutableList.of("renderOverlay"));

其它 getFieldLevelTessellator/getTileEntityNullGuard/getThreadSafeISBRHAnnotations/extraTransformers 均返回 null。

输出与调试

注入日志(来自 HUDCachingEarlyReturnTransformer):

[AngelicaTweaker] Injecting HUDCaching Conditional Return: thaumcraft.client.lib.RenderEventHandler#renderOverlay

详见 AngelicaCompatCore — DUMP_CLASSES 模式下输出改写后字节码。

数值

数值 默认 含义
注册目标方法数 1 RenderEventHandler#renderOverlay
触发开关 PatchesConfig.patchThaumcraft 配置关闭则 handler 不装载
联动开关 AngelicaConfig.enableHudCaching HUD 缓存未启用时 transformer 也不会装载

限制

  • Thaumcraft 升级到 RenderEventHandler#renderOverlay 改名 / 改返回值时本 handler 静默失效(仅日志 WARN 后 transformer 跳过)。
  • 仅跳过 renderOverlay;Thaumcraft 自定义 HUD 的其他绘制方法(如 renderAspects 等)不会被跳过。

第三方 mod 集成

仅针对 thaumcraft mod。

相关条目