Помогите Как получить точную float координату куда смотрит игрок в радиусе

  • Автор темы Автор темы MySoR
  • Дата начала Дата начала

MySoR

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
MySoR
Мне нужно получить куда смотрит игрок в радиусе 5ти блоков. Делал через BlockIterator и ставил ограничение на 5 блоков но оно дает мне конкретно целые числа координат, а мне нужна точность.
 
Ничего не понял, но возможно
player.getLocation().getDirection().multiply(5);
поможет.
 
Ничего не понял, но возможно
player.getLocation().getDirection().multiply(5);
поможет.
Это просто увеличит длинну вектора взгляда на 5. Но как мне получить конец вектора?
Код:
entity.teleport(player.getLocation().getDirection().toLocation(player.getWorld()));
Этот код просто уносит моего entity хз куда
 
Это просто увеличит длинну вектора взгляда на 5. Но как мне получить конец вектора?
Код:
entity.teleport(player.getLocation().getDirection().toLocation(player.getWorld()));
Этот код просто уносит моего entity хз куда
:lol:
Попробуй Location loc = player.getLocation().add(player.getLocation().getDirection().multiply(5));
 
:lol:
Попробуй Location loc = player.getLocation().add(player.getLocation().getDirection().multiply(5));
Спасибо! работает. А еще не знаешь как провести линию партиклами между 2х точек? такую же ровную. Тоесть BlockIterator опять отпадает.
 
Спасибо! работает. А еще не знаешь как провести линию партиклами между 2х точек? такую же ровную. Тоесть BlockIterator опять отпадает.
Уже ненадо, нашел в интернете
Код:
private void drawLine(Location point1, Location point2, double space) {
    World world = point1.getWorld();
    double distance = point1.distance(point2);
    Vector p1 = point1.toVector();
    Vector p2 = point2.toVector();
    Vector vector = p2.clone().subtract(p1).normalize().multiply(space);
    double length = 0;
    for (; length < distance; p1.add(vector)) {
        Particle.DustOptions opt = new Particle.DustOptions(Color.RED, 1);
        world.spawnParticle(Particle.REDSTONE, p1.getX(), p1.getY(), p1.getZ(), 1, opt);
        length += space;
    }
}
 
Назад
Верх