- Баллы
- 66
- Имя в Minecraft
- Yura2108
Вопроса два, как можно заспавнить партиклы вокруг игрока, как бы окружающий его щит, имея только локацию игрока. И второй вопрос, как поджигать игроков, которые будут в кругу этих партиклов, кроме игрока?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Окей, попробую. Вопрос ещё один, как можно создавать как бы волну, спавнить партиклы туда, куда игрок смотрит, и с каждым блоком вперёд расширять её на 1 по краямPlayer.getWorld().spigot().playEffect();
Там указывается форма партиклов основываясь на координатах, от этого ищешь игроков на нужном расстоянии от центра формы и поджигаешь их
Block b = p.getTargetBlock((HashSet<Byte>)null, N);
p.getWorld().spigot().playEffect(p.getLocation(), Effect.TILE_BREAK, id, 0, 3.5f, 0.2f, 3.5f, 10.0f, 4000, 18);
Во-первых, там уже не байт, а материал, в0-вторых, точно не помню, но он NPE может кинуть, потому что воздух прозрачный и он его не берёт, в-третьих лучше использовать getTargetBlockExact он ничего, вроде, не игнорит. Тут надо обычным матаном. В гугле полно туторов по созданию кругов. Там единственное надо, не помню точно, sin(radius), cos(radius). Потом синус прибавляешь к x, косинус к z, оборачиваешь в цикл и получаешь круг. Потом проверяешь дистанцию между игроками и если она окажется меньше радиуса(твоего щита), то поджечь.Block b = p.getTargetBlock((HashSet<Byte>)null, N);
Тут не эксперт, но, скорее всего, берёшь x и y и пускаешь по ним синусоиду. Чтобы увеличить ширину по краям - коэффициенты. Ну, а куда смотрит - банальный рейкаст.Окей, попробую. Вопрос ещё один, как можно создавать как бы волну, спавнить партиклы туда, куда игрок смотрит, и с каждым блоком вперёд расширять её на 1 по краям
Можно пример в коде, а то я тупенький, ничего не понял...Тут не эксперт, но, скорее всего, берёшь x и y и пускаешь по ним синусоиду. Чтобы увеличить ширину по краям - коэффициенты. Ну, а куда смотрит - банальный рейкаст.
Math + googleМожно пример в коде, а то я тупенький, ничего не понял...
y = sin(x)Можно пример в коде, а то я тупенький, ничего не понял...