java - Bukkit - 检测右键

标签 java bukkit

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

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

但我不知道该把它放在哪里。

最佳答案

您必须监听 PlayerInteractEvent 并使用上面的行。 另外,我不建议您以这种方式换行 if ,具体来说,我建议您检查该操作是否是右键单击或左键单击在一个 if 中,然后检查该项目是否在内部 if 中为 null 以避免混淆并使您的代码可读。

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

关于java - Bukkit - 检测右键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524735/

相关文章:

java - gson 值名为 "protected"的 json

java - 根据文件名更改 SonarQube 的质量配置文件

java - 当玩家加入时服务器不会提供 ItemStack

Java/Bukkit - 检查玩家是否撞到了墙上

java - 从服务器弃用了 getPlayer()

java - JUnit 引用相同的 var 值

java - 使用FileOutputStream下载多个文件

java - 用于打开PlayerInventory的Minecraft Bukkit API事件

java - 并发修改异常;无法修复

java - 为什么在 java src 中 Integer 类的 toString 方法中使用负 int 进行 mod 操作