java - 如何从 Minecraft - Spigot 中的 BlockEvent 获取方 block 位置

标签 java minecraft

好的,所以在为 Minecraft 制作插件时,我发现了一个我似乎无法克服的问题。所以问题是,我想获得放置的钻石 block 的位置,这样我就可以检查该 block 周围是否有其他 block 。我想制作一个自动农业插件。
'到目前为止,我一直在尝试用

public void OnDiaBlockPlace(BlockPlaceEvent e){
    Block b = e.getBlock();
    b.getPosition();
}


public void onPlantGrow(BlockGrowEvent e){
    Block b = e.getBlock();
    b.getPosition();
}


但是 b.getPosition(); 在 spigot/craftbukkit API 中不存在。
我只想知道是否有解决此问题的方法以及我该如何解决。

TL/DR:如何以 x、y、z 格式从 BlockPlaceEvent 或 BlockGrowEvent 获取 block 位置?

提前感谢大家。

编辑: 工作代码:

public void onPlantGrow(BlockGrowEvent e){
    Block b = e.getBlock();
    int x = b.getLocation().getBlockX();
    int y = b.getLocation().getBlockY();
    int z = b.getLocation().getBlockZ();
}

最佳答案

这将为您提供 Location该 block 的:

Location blockLocation = b.getLocation();

Location类允许您使用 getBlockX() 访问坐标, getBlockY()getBlockZ()还有getWorld()和其他人(Reference)。

如果您想使用 RegionCoordinates你可以在你的 blockLocation 上使用它:

RegionCoordinates regionCoords = RegionCoordinates.fromLocation(blockLocation);

关于java - 如何从 Minecraft - Spigot 中的 BlockEvent 获取方 block 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854244/

相关文章:

java - MongoDB (Java) - 如何运行保存在 javascript 文件中的查询?

java - org.apache.http.ssl.TrustStrategy 上的 ClassNotFoundException

java - 运算符 != 未定义参数类型 boolean, int

java - 为什么这个MySQL不能正确执行?

java - minecraft forge 1.10 创建工艺配方导致 minecraft 崩溃

java - JOptionPane 中的 URL

java - Oracle 是否有官方文档说我们不应该在新项目中使用 java.util.Date

java - Minecraft 从自定义药水效果中添加新的药水效果

java - 使用 JTable 和 JTextField 打印 JPanel

java.io.StreamCorruptedException : invalid stream header: 48656C6C