如何从Minecraft中的BlockEvent获取Block位置 - Spigot

时间:2017-05-08 17:53:36

标签: java minecraft

好的,所以在制作Minecraft的插件时,我发现了一个我似乎无法克服的问题。所以问题是,我想获得放置Diamond Block的位置,所以我可以检查该块周围的其他块。我想制作一个自动化农业插件。
'直到现在我已经尝试用

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

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


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

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

提前感谢所有人。

编辑: 工作代码:

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

1 个答案:

答案 0 :(得分:2)

这将获得该块的Location

Location blockLocation = b.getLocation();

Location课程允许您使用getBlockX()getBlockY()getBlockZ()以及getWorld()和其他人(Reference)访问坐标

如果您想使用RegionCoordinates,可以在blockLocation上使用此功能:

RegionCoordinates regionCoords = RegionCoordinates.fromLocation(blockLocation);