Bukkit - 检测右键单击

Bukkit - Detect Right click

我如何检测玩家在 运行 特定命令后是否右键单击了一本书? 我有

 if (playere.getItemInHand().getType() != Material.AIR && (event.getAction() == Action.RIGHT_CLICK_BLOCK ||  event.getAction() == Action.RIGHT_CLICK_AIR)) {

但我不知道放在哪里

您将必须监听 PlayerInteractEvent 并使用上面的行。 此外,我不建议您以这种方式包装,特别是我建议您在一个 if 中检查操作是右键单击还是左键单击,然后在内部 if 中检查该项目是否为 null 以避免混淆并编写您的代码可读。

现在要让它在命令后起作用,您必须在玩家执行命令后将其名称或 UUID 放入列表中,并在 PlayerInteractEvent 中检查它们是否在列表中。如果是,请继续执行代码。否则什么也不做。