gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:37:36 25 4
gpt4 key购买 nike

我正在制作一个 Bukkit 插件,我想在玩家接触墙壁时运行一段代码(用他的 body ,而不是十字线!)所以,我认为这对于 PlayerMoveEvent 是可能的。问题是,如何。一些注意事项:

  • 如果玩家看向另一个方向并撞到了墙上,我想运行相同的代码
  • 玩家必须用 body 接触墙壁,而不是用十字准线

我真的无法弄清楚这一点,而且我在网上也找不到这个。你们是我最后的希望;)提前致谢,布拉姆

最佳答案

我同意 Finn 的观点,这种方法将在每次玩家移动时运行大量服务器,但这可能会有所帮助:

@EventHandler
public void onPlayerMove(PlayerMoveEvent e)
{
for(int x = e.getPlayer().getLocation().getBlockX() - 1; x < x + 2; x++)
{
for(int z = e.getPlayer().getLocation().getBlockZ() - 1; z < z + 2; z++)
{
Block b = e.getPlayer().getWorld().getBlockAt(x, e.getPlayer().getLocation().getBlockY(), z);

if(b.getType() != Material.AIR)
{
doSomething();
}
}
}
}

从理论上讲,这应该可行。它只是循环遍历玩家周围的方 block 。如果它们不是空的(由空气组成),那么它就会做你想做的任何事情。

关于Java/Bukkit - 检查玩家是否撞到了墙上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25447558/

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