我想判断玩家点击背包的物品时
是否有空
这个哪里出了问题呢
是否有空
这个哪里出了问题呢
循环的判断条件应该改成 j<inventory.getSize()
InventoryClickEvent#getCurrentItem() 获取被点击的格子的物品 原文:Gets the ItemStack currently in the clicked slot.
直接用这个获取被点击物品,然后判断是否为空
直接用这个获取被点击物品,然后判断是否为空
如2楼所说,应该改成 j < inventory.getSize()
否则不会开始循环
另外 如果给点击的人发送消息的话
获取点击背包的Player 应该用
复制代码
还有 在执行操作前还可以加上这些限定条件
复制代码
否则不会开始循环
另外 如果给点击的人发送消息的话
获取点击背包的Player 应该用
- Player player = (Player)event.getWhoClicked(); //获取Player
- player.sendMessage("...");
- //之后还可以用player进行其他操作
还有 在执行操作前还可以加上这些限定条件
- if(event.getClickedInventory() == null /*如果在背包界面而没有点击格子*/ || !event.getClickedInventory().equals(InventoryType.PLAYER)/*如果玩家点击的不是自己的背包*/) return;//这些情况都不执行下方操作