温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - Using Minecraft's PlayerController.windowClick()?
forge java minecraft minecraft-forge

java - 使用Minecraft的PlayerController.windowClick()吗?

发布于 2020-05-17 12:40:24

我是在Minecraft中开发mod的新手,目前正在尝试弄清楚如何将玩家库存中的物品从一个插槽移动到另一个插槽。

我知道要使此操作起作用,必须将其作为数据包发送到服务器,并且我已经读过PlayerControllerMP类,该windowClick()“处理插槽咔嗒声,将数据包发送到服务器。”

此代码应打开库存,并将物料从热栏中的第一个插槽移动到第二个插槽。但是,当我运行它时,它只会打开库存,而项目没有任何反应。

Minecraft.getMinecraft().displayGuiScreen(new GuiInventory(Minecraft.getMinecraft().player));
Minecraft.getMinecraft().playerController.windowClick(Minecraft.getMinecraft().player.inventoryContainer.windowId, 0, 0, ClickType.PICKUP, Minecraft.getMinecraft().player);
Minecraft.getMinecraft().playerController.windowClick(Minecraft.getMinecraft().player.inventoryContainer.windowId, 1, 0, ClickType.PICKUP, Minecraft.getMinecraft().player); 

我究竟做错了什么?

谢谢你的帮助 :)

查看更多

提问者
Marc Wenz
被浏览
26
Marc Wenz 2020-02-28 22:22

好吧,我知道了。播放器清单中的不确定性如下所示:

0工艺输出

1–4个工艺输入

5-8点护甲

9–35个主要库存

36–44热栏

45副插槽