GUI 总览 GUIs
基本信息
| 属性 | 值 |
|---|---|
| GUI 处理接口 | CommonProxy implements IGuiHandler(CommonProxy.java) |
| 注册位置 | FML init 阶段 NetworkRegistry.INSTANCE.registerGuiHandler(Gadomancy.instance, this) |
| GUI ID 数量 | 3 |
| 服务端容器 | common/containers/ |
| 客户端界面 | client/gui/ |
三个 GUI ID
服务端与客户端由同一个 ID 配对(CommonProxy.java:110-118 与 ClientProxy.java:264-275):
| GUI ID | 服务端容器 | 客户端界面 | 打开方式 |
|---|---|---|---|
| 0 | thaumcraft.common.entities.golems.ContainerGolem |
thaumcraft.client.gui.GuiGolem |
与傀儡实体交互 |
| 1 | ContainerInfusionClaw |
InfusionClawGui |
右键注入爪 |
| 2 | ContainerArcanePackager |
ArcanePackagerGui |
右键自动封装机 |
GUI 0 的容器与界面直接复用 Thaumcraft 的类,Gadomancy 只做转接。
ClientProxy.java:268保留了一行被注释的AdditionalGolemGui替代实现。
服务端 getClientGuiElement 在 CommonProxy 中返回 null——这是正常的,因为 CommonProxy 是服务端代理,客户端界面由 ClientProxy 提供。
界面清单
| 界面 | 文件 | 说明 |
|---|---|---|
| 注入爪 GUI | client/gui/InfusionClawGui.java |
自绘界面 |
| 自动封装机 GUI | client/gui/ArcanePackagerGui.java |
自绘界面 |
| 灵气效应研究页 | client/gui/GuiResearchRecipeAuraEffects.java |
研究书内的自定义配方页,不是容器 GUI |
容器类
| 容器类 | 文件 | 对应 ID |
|---|---|---|
ContainerInfusionClaw |
common/containers/ContainerInfusionClaw.java |
1 |
ContainerArcanePackager |
common/containers/ContainerArcanePackager.java |
2 |
FilteredSlot |
common/containers/FilteredSlot.java |
被 1 与 2 共用(带物品过滤的槽位) |
Gadomancy 自身没有实现傀儡物品栏容器——ID 0 直接用 Thaumcraft 的 ContainerGolem。
数值
| 数值名 | 值 |
|---|---|
| GUI ID 数 | 3 |
| Gadomancy 自研容器数 | 2 |
| 复用 Thaumcraft 容器数 | 1 |
| Gadomancy 自研界面数 | 2 |
| 复用 Thaumcraft 界面数 | 1 |
| 非容器研究页界面数 | 1 |