侧边栏壁纸
  • 累计撰写 793 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录
MC

GUI

Dettan
2021-07-10 / 0 评论 / 0 点赞 / 183 阅读 / 293 字
温馨提示:
本文最后更新于 2022-07-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
/ MC / GUI

GUI箱子存东西的地方是 TileEntityChest , 绘制界面的地方在 GuiChest
分析发射器dispenser
这个类里的onBlockActivated方法里`playerIn.displayGUIChest((TileEntityDispenser)tileentity);`但是displayGUIChest方法的参数是`public void displayGUIChest(IInventory chestInventory)`所以说现在是把tileEntityDispenser当成IInventory用了,这还不算完,`ILockableContainer ilockablecontainer = (ILockableContainer)chestInventory;`又把IInventory转成ILockableContainer了. 呜呜呜
分析植物魔法GUI
1.
先@instance ,要不然报错
@Mod.Instance(MODID)
public static civ instance;
2.
mod主文件里 注册网络处理函数
NetworkRegistry.INSTANCE.registerGuiHandler(Botania.instance, new GuiHandler());
3.
实现GUIHandle类,这个类实现了fml.common.network.simpleimpl.IGuiHandle接口,类放在了botania.common.network包里。
感觉这里有点局限性。
4.
然后自己实现这三个类就可以了。
public class ContainerFlowerBag extends Container //实现背包的鼠标操作,拖拽,丢弃什么的
public class GuiFlowerBag extends GuiContainer //绘制工作
public class InventoryFlowerBag implements IItemHandlerModifiable //有一个ItemStack保存背包里的物品。背包里装的物品的操作。


显示层
GuiContainer 绘制这样一个界面,接收鼠标输入并简单处理。
控制层
数据层

植物魔法和zzzz的教程的gui一致

0

评论区