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