Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
private Block getBlockOnLineSight(Player p) {
@SuppressWarnings("deprecation")
Block block = p.getTargetBlock(null, 2); // 2 - расстояние перед игроком.
if (block.getType() != AIR) {
return block;
} else {
return null;
}
}
Можно циклом по всем кордам, но мне кажется это костыль, и есть решение легчеЭто не то что я имел ввиду у нас есть кординаты и радиусом я должен проверить есть ли в этих кординатах блок допустим земли если есть то я получаю эго кординаты
HashSet<Block> blocks = new HashSet<>();
int rad = 2;//радиус
Location centre = player.getLocation(); //точка центра
Location min = centre.add(rad*-1,rad*-1,rad*-1); //задаем диагональ описаного куба
Location max = centre.add(rad,rad,rad);
for (int x=min.getBlockX(); x<=max.getBlockX(); x++){
for (int y=min.getBlockY(); y<=max.getBlockY(); y++){ //перебираем все блоки описаного куба
for (int z=min.getBlockZ(); z<=max.getBlockZ(); z++){
Location now = new Location(centre.getWorld(), x, y, z);
if (now.distance(centre)>rad) continue; //отсекаем те части куба, которые не попали в сферу
blocks.add(now.getBlock()); //складываем блок в сет блоков
}
}
}
//используем наши блоки как хотим