GuiHandler

基本信息

属性 值
路径 mrtjp.core.gui.GuiHandler
源码 src/main/scala/mrtjp/core/gui/GuiHandler.scala

服务端 / 客户端双向的容器 GUI 打开流程。

服务端:openSMPContainer(player, cont, guiID, dataWrite)

  1. 非 EntityPlayerMP 直接返回
  2. player.getNextWindowId() + player.closeContainer()
  3. 用 guiPacket 发包,内含 windowId(byte)与 guiID(short)
  4. 若 cont != null,挂载为 player.openContainer 并 addCraftingToCrafters(player)

客户端:openSMPContainer(windowID, gui)(@SideOnly(Side.CLIENT))

mc.displayGuiScreen(gui),并把 windowId 写回 thePlayer.openContainer。

相关条目