提问者:小点点

最好的方法来识别一个块与龙头


创建一个可以用尖嘴识别的独特块的最佳方法是什么?

类似于id的东西。我想创建一个可以放置物品的游戏,但是我不知道如何识别玩家是否点击了正确的方块。当没有更好的方法时,我会使用方块类型/材料


共1个答案

匿名用户

我不是100%你需要的,所以我提供了两个答案,我相信可以解决你的问题,以及一些可能有帮助的额外信息。

我相信你要找的是一个监听器。这是一个关于如何设置监听器的Spigot文章的链接。我想先看看它,这样你就知道监听器是什么,它是如何工作的,以及如何将它添加到你的代码中(如果你还不知道的话)。

您要查找的特定监听器称为PlayerInteractEvent。它是玩家与对象交互时调用的事件。这是留档。

如果你只是想检查一个玩家是否点击了一个特定的块,你可以使用getClickedBlock()getType()方法来做到这一点。我在下面提供了一个示例实现。代码检查玩家是否点击了石头,然后如果他们点击了石头,就会执行一个动作。

@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    if (event.getClickedBlock() != null && event.getClickedBlock().getType() == Material.STONE) {
        // Actions to take here
    }
}

根据你想要多少个独特的块,有几种不同的方法可以进行自定义块检查。根据我目前掌握的知识,我不是100%确定如何实现这些(我只是做了一点研究来找到它们),但它们应该适合你的需求)。

第一种方法是使用HashMap,它允许您存储键和值,然后访问或引用它们。这是有关如何在Spigot中实现它们的链接。

您可以使用的另一件事是SpigotAPI中的材料类。这是该类的文档。