素素子
我想判断玩家点击背包的物品时
是否有空
这个哪里出了问题呢

南柯郡守
循环的判断条件应该改成   j<inventory.getSize()

SumCraft
InventoryClickEvent#getCurrentItem() 获取被点击的格子的物品 原文:Gets the ItemStack currently in the clicked slot.
直接用这个获取被点击物品,然后判断是否为空

qipao_start
如2楼所说,应该改成 j < inventory.getSize()
否则不会开始循环

另外 如果给点击的人发送消息的话
获取点击背包的Player 应该用
  1. Player player = (Player)event.getWhoClicked(); //获取Player
  2. player.sendMessage("...");
  3. //之后还可以用player进行其他操作
复制代码


还有 在执行操作前还可以加上这些限定条件
  1. if(event.getClickedInventory() == null /*如果在背包界面而没有点击格子*/ || !event.getClickedInventory().equals(InventoryType.PLAYER)/*如果玩家点击的不是自己的背包*/) return;//这些情况都不执行下方操作
复制代码

第一页 上一页 下一页 最后一页