gpt4 book ai didi

events - Minecraft Bukkit 标志操作

转载 作者:行者123 更新时间:2023-12-05 01:13:56 26 4
gpt4 key购买 nike

我在 Bukkit 工作,基本上我需要制作一个方法,以便在右键单击标志时执行某些操作。在这种情况下,它将是套件 list ,但我会在到达它时穿过那座桥。

现在我对如何右键单击标志来让它们做事感到困惑。我想我应该得到右键单击的 block ,检查它是否是一个标志,然后检查标志上写的是什么。但是,我不知道如何将其识别为标志,因为我对两种标志 Material SIGNSIGN_POST 的存在感到困惑。之后,我需要调用一些特殊事件吗?

如果您知道对我来说很好的引用,请随时在评论中发表。但我到处检查,发现的只是愚蠢的 SignChangeEvent,这不是我需要的。非常感谢所有帮助!

最佳答案

您应该使用方 block 类型 ID 来确认它是一个标志。标志有两个 id,一个是墙上的标志 (68),另一个是立在柱子上的标志 (63)。使用 PlayerInteractEvent 检查玩家是否右键单击了标志。检查玩家是否右键单击了一个方 block 。检查被右键单击的方 block 的 ID 是 63 还是 68。将方 block 状态转换为标志。做任何你想做的事。如果更改标牌上的文字,请确保之后进行更新,否则文字不会显示。这是您应该使用的 Player Listener 函数。

    @EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
if(event.getClickedBlock().getTypeId() == 63 || event.getClickedBlock().getTypeId() == 68) {

Sign sign = (Sign) event.getClickedBlock().getState();
sign.setLine(0, "Boo Yeah");
sign.update();

// Do other stuff if you need to
}
}
}

关于events - Minecraft Bukkit 标志操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18213718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com