Java Bukkit在块上单击鼠标右键

Java Bukkit在块上单击鼠标右键,java,minecraft,bukkit,Java,Minecraft,Bukkit,当我右键单击一个手上有块的块,而我手上的块没有放置时,bukkit返回actionright\u click\u AIR,并在调用getClickedBlock()时导致错误。 如何获取我单击的块 这是一个简短的viedo演示: 如果Bukkit返回右键单击\u AIR您没有单击块,您只单击了“空中”。因此,在这种情况下,单击的块是air,并且getClickedBlock()方法返回null。如果您想知道单击了哪个项目或块,可以使用event.getPlayer().getItemInHand

当我右键单击一个手上有块的块,而我手上的块没有放置时,bukkit返回action
right\u click\u AIR
,并在调用
getClickedBlock()
时导致错误。 如何获取我单击的块

这是一个简短的viedo演示:

如果Bukkit返回
右键单击\u AIR
您没有单击块,您只单击了“空中”。因此,在这种情况下,单击的块是air,并且
getClickedBlock()
方法返回null。如果您想知道单击了哪个项目或块,可以使用
event.getPlayer().getItemInHand()
方法。

我找到了一个棘手的方法:

player.getEyeLocation().add(player.getEyeLocation().getDirection()).getBlock();

你说得对。我也测试了它,我看了你的视频,真的。这是可行的,但是当玩家与块没有距离时,它会起作用。顺便说一下,BTW可以被认为是一个bug吗?它只会在这种情况下工作,所以只有当BukKIT返回RealthCLIKYAIR和你点击一个块时,我也遇到了同样的问题。你找到了比“gyurix”更好的答案了吗?当然,它可以解决问题,但它更像是一种变通方法,而不是解决方法:/