本帖最后由 hahahawtf123 于 2019-2-16 11:24 编辑
我在做Gui的时候发现一个问题
我设置了点击gui内物品 取消时间,防止玩家把物品拿下来
然后我在该Gui内设置了一个物品,点击就关闭背包
然后我用数字键点击该物品,将其放入背包,然后那个Gui面板就关闭了
我也把物品拿下来了
怎么办?
我已经setCancelled(true)了
(点击其他物品都会取消的)
坐等大佬


我把物品卡下来后 放置在地面上后台就报错了

一个小时了, 为什么还没有 dalao 来呢? 我来猜一下: 不贴代码问个屁问题
evt.setCursor(null);
凋灵兔子 发表于 2019-2-16 10:34
一个小时了, 为什么还没有 dalao 来呢? 我来猜一下: 不贴代码问个屁问题
这就上图
berry64 发表于 2019-2-16 11:14
evt.setCursor(null);
大佬 还是不行,用数字键可以直接放进背包里
Aemo 发表于 2019-2-16 12:02
语句:event.setCanceled(true);应该放在语句:evevt.getWhoClicked().closeInventory();之前,能不能把代码 ...
我就是写在这个前面的
第一张图里有写的 在第二个if下面一行
这玩意儿应该没有被拿下来,你的背包没有和服务器同步,可以用 player.updateInventory()
另外,在写箱子gui时每个人可能都会犯的错误
player.closeInventory()和player.updateInventory()不应该直接被调用,这个事件的javadocs描述如下,请自己翻译一遍,我觉得你能看懂
还有你NPE了
另外,在写箱子gui时每个人可能都会犯的错误
player.closeInventory()和player.updateInventory()不应该直接被调用,这个事件的javadocs描述如下,请自己翻译一遍,我觉得你能看懂
还有你NPE了
谢谢大佬们 我懂了qwq