Java Bukkit在块上单击鼠标右键
当我右键单击一个手上有块的块,而我手上的块没有放置时,bukkit返回actionJava Bukkit在块上单击鼠标右键,java,minecraft,bukkit,Java,Minecraft,Bukkit,当我右键单击一个手上有块的块,而我手上的块没有放置时,bukkit返回actionright\u click\u AIR,并在调用getClickedBlock()时导致错误。 如何获取我单击的块 这是一个简短的viedo演示: 如果Bukkit返回右键单击\u AIR您没有单击块,您只单击了“空中”。因此,在这种情况下,单击的块是air,并且getClickedBlock()方法返回null。如果您想知道单击了哪个项目或块,可以使用event.getPlayer().getItemInHand
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”更好的答案了吗?当然,它可以解决问题,但它更像是一种变通方法,而不是解决方法:/