Помогите Спавн партиклов

Spsiska_13

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Yura2108
Вопроса два, как можно заспавнить партиклы вокруг игрока, как бы окружающий его щит, имея только локацию игрока. И второй вопрос, как поджигать игроков, которые будут в кругу этих партиклов, кроме игрока?
 
Player.getWorld().spigot().playEffect();
Там указывается форма партиклов основываясь на координатах, от этого ищешь игроков на нужном расстоянии от центра формы и поджигаешь их
 
Player.getWorld().spigot().playEffect();
Там указывается форма партиклов основываясь на координатах, от этого ищешь игроков на нужном расстоянии от центра формы и поджигаешь их
Окей, попробую. Вопрос ещё один, как можно создавать как бы волну, спавнить партиклы туда, куда игрок смотрит, и с каждым блоком вперёд расширять её на 1 по краям
 
Ищем блок на который смотрит игрок (вычеркивая воздух)
Код:
Block b = p.getTargetBlock((HashSet<Byte>)null, N);
Где N - максимальная дальность блока, на который смотрит игрок

Пример моего кода спауна партиклов
Код:
p.getWorld().spigot().playEffect(p.getLocation(), Effect.TILE_BREAK, id, 0, 3.5f, 0.2f, 3.5f, 10.0f, 4000, 18);
(спаунит частицы копания блока, айди блока, субайди, 3.5 протяженность по Х, 0.2 (Y), 3.5 (Z), скорость частиц, количество частиц, радиус)


Уже не помню, как соотносятся координаты и радиус, сам потестишь узнаешь.
В итоге тебе надо найти дистанцию Player.getlocation().distance(Block.getlocation())
И приплюсовывать дистанцию к радиусу частиц полагаю
 
Block b = p.getTargetBlock((HashSet<Byte>)null, N);
Во-первых, там уже не байт, а материал, в0-вторых, точно не помню, но он NPE может кинуть, потому что воздух прозрачный и он его не берёт, в-третьих лучше использовать getTargetBlockExact он ничего, вроде, не игнорит. Тут надо обычным матаном. В гугле полно туторов по созданию кругов. Там единственное надо, не помню точно, sin(radius), cos(radius). Потом синус прибавляешь к x, косинус к z, оборачиваешь в цикл и получаешь круг. Потом проверяешь дистанцию между игроками и если она окажется меньше радиуса(твоего щита), то поджечь.
Окей, попробую. Вопрос ещё один, как можно создавать как бы волну, спавнить партиклы туда, куда игрок смотрит, и с каждым блоком вперёд расширять её на 1 по краям
Тут не эксперт, но, скорее всего, берёшь x и y и пускаешь по ним синусоиду. Чтобы увеличить ширину по краям - коэффициенты. Ну, а куда смотрит - банальный рейкаст.
 
Последнее редактирование:
Тут не эксперт, но, скорее всего, берёшь x и y и пускаешь по ним синусоиду. Чтобы увеличить ширину по краям - коэффициенты. Ну, а куда смотрит - банальный рейкаст.
Можно пример в коде, а то я тупенький, ничего не понял...
 
Назад
Верх