Client Proxy

基本信息

net.glease.tc4tweak.ClientProxy extends CommonProxy —— 客户端侧代理。 大量功能通过反射覆写已加载的 Thaumcraft 类的方法实现。

静态方法

方法 行 作用
static handleMouseInput(GuiResearchTable screen) 55 研究台 GUI 鼠标输入
static handleMouseInput(GuiResearchRecipe screen) 84 研究配方页鼠标输入

两者是重载而非覆写,各自对应不同的 GUI 类。

preInit 的反射覆写

构造器(112 行)与 preInit(118 行)配合,把 GuiResearchTable / GuiResearchRecipe 的方法替换成本 mod 的实现:

GuiResearchRecipeMouseClicked = GuiResearchRecipe.class.getDeclaredMethod(
        mouseClicked, int.class, int.class, int.class);

变量名中混用 camelCase 与 PascalCase 字段,属代码风格瑕疵。

资源重载监听

public void onResourceManagerReload(IResourceManager ignored) {
    reflectiveReloadModel(FXSonic.class, "MODEL");
    reflectiveReloadModel(TileAlchemyFurnaceAdvancedRenderer.class, "FURNACE");
}

资源包重载时反射重建两个静态模型 —— 对应 ASM 侧的 MakeModelStaticVisitor / TileAlchemyFurnaceAdvancedRendererVisitor。

其余钩子

方法 行
init(FMLInitializationEvent) 156
postInit(FMLPostInitializationEvent) 165
onWorldLoad(WorldEvent.Load) 177
onTooltip(ItemTooltipEvent) 183

相关条目

源码

  • src/main/java/net/glease/tc4tweak/ClientProxy.java