副 GUI 体系
基本信息
| 属性 | 值 |
|---|---|
| 实现目录 | src/main/java/com/creativemd/littletiles/common/gui/ |
| GUI 框架 | 内嵌的 CreativeCore(SubGui / SubContainer),非 ModularUI |
| 打开的 GUI ID | 1(player.openGui(CreativeCore.instance, 1, world, x, y, z)) |
| SubGui 数 | 5 |
| SubContainer 数 | 5 |
| 打开入口 | 物品的 onItemRightClick(客户端侧由 IGuiCreator 路由) |
功能
除 Little Chisel 使用 ModularUI 2 外,其余带界面的工具都走 CreativeCore 的 SubGui / SubContainer 对。两者由 ItemLittleChisel 与其余 4 个 IGuiCreator 物品分别实现,通过 getGui / getContainer 返回。
界面表
IGuiCreator 在 com/creativemd/littletiles/ 下有 5 个实现者(ItemHammer、ItemLittleWrench、ItemColorTube、ItemTileContainer、ItemRecipe),每个各返回一个 SubGui 与一个 SubContainer,一一配对:
| SubGui | SubContainer | 打开的物品 | 源码位置 |
|---|---|---|---|
SubGuiHammer |
SubContainerHammer |
Little Hammer | ItemHammer.java:80 / :85 |
SubGuiWrench |
SubContainerWrench |
Little Wrench | ItemLittleWrench.java:65 / :70 |
SubGuiColorTube |
SubContainerColorTube |
Little Color Tube | ItemColorTube.java:114 / :119 |
SubGuiTileContainer |
SubContainerTileContainer |
Little Container | ItemTileContainer.java:158 / :163 |
SubGuiStructure |
SubContainerStructure |
Little Recipe | ItemRecipe.java:264 / :269 |
SubContainerStructure(EntityPlayer, ItemStack) 额外被 Little Door 使用:LittleDoor.java:61 把当前 SubGuiStructure 的 stack 取出,构造 GuiTileViewer("tileviewer", 5, 30, 100, 100, ...) 预览门内微砖。
控件
SubGuiHammer(SubGuiHammer.java:40 起)演示了本体系的标准控件用法:
GuiButton("<", 45, 10, 10, 20, 0)/GuiButton(">", 75, 10, 10, 20, 1)— 成对的增减按钮,共 3 对(对应 sizeX / sizeY / sizeZ)GuiButton("HAMMER IT", 100, 10, 60, 20, 6)— 执行按钮GuiColorPlate— 颜色选择(isColored开关)GuiSteppedSlider— 步进滑块GuiAvatarLabel+AvatarItemStack— 方块图标显示BlockAir/Vec3/LittleTileSize— 尺寸状态,sizeX/sizeY/sizeZ三字段默认全为 1
SubGui 固定尺寸为 super(200, 200)(SubGuiHammer.java:29-30)。
事件系统
所有 SubGui 子类都用 n247s 的 @CustomEventSubscribe 注解处理控件事件(来自 com.n247s.api.eventapi.eventsystem.CustomEventSubscribe),事件类型为 CreativeCore 的 ControlChangedEvent / ControlClickEvent。
数值
| 数值名 | 值 |
|---|---|
| SubGui 数量 | 5 |
| SubContainer 数量 | 5 |
IGuiCreator 实现者 |
5 |
| GUI ID | 1 |
| SubGui 固定尺寸 | 200 × 200(SubGuiHammer) |
| Hammer 尺寸初值 | sizeX = sizeY = sizeZ = 1 |
交互
| 触发 | 行为 |
|---|---|
| 右键带 GUI 的工具 | openGui(CreativeCore.instance, 1, ...) 打开对应 SubGui |
| 操作控件 | 经 n247s 事件系统分发到 @CustomEventSubscribe 方法 |
合成配方
不适用。GUI 界面不是可合成物品。
相关条目
- 凿子面板 - 唯一的 ModularUI 2 界面
- Little Hammer / Little Wrench / Little Color Tube / Little Container — 使用本体系的物品
- 微砖结构 -
SubGuiStructure的内容