弥猫うた
本帖最后由 Mucrazy 于 2019-12-22 16:21 编辑

请问如何判断一个生物上方是否有方块?答案:
                if(entity.getLocation().getBlockY() + 2 < world.getHighestBlockYAt(entity.getLocation())) {
                        player.sendMessage("有障碍");
                }else {
                        player.sendMessage("无障碍");
                }






星晨曦
6666666666

AzureHanChen
本帖最后由 AzureHanChen 于 2019-12-22 16:26 编辑

Entity en;
Location loc = en.getLocation();
loc.setY(loc.getY() + 2);
//这里的2可以根据生物大小更改
Material block = loc.getBlock().getType();
if (block != (Material.AIR)) {  
//有障碍物     
}

else {
//没有障碍物
}

//纯手打,如有错误请指出
//2019/12/22 14:47 修改了一处错误
//2019/12/22 16:25 修复了一个逻辑错误

13602342818
7777766666666666666666666666666666666666666666666666666666666666666666666666666666666666666666






13602342818
qwqwqwqwqwq

弥猫うた
AzureHanChen 发表于 2019-12-22 14:38
Entity en;
Location loc = en.getLocation();
loc.setY(loc.getY() + 2);

谢谢你,但是这样判断会有限制,我已经摸索出来方法了

第一页 上一页 下一页 最后一页