Помогите Магический посох

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

AdraliK

Участник
Пользователь
Баллы
31
Имя в Minecraft
AdraliK
Здравствуйте, хочу разработать плагин, где есть магический посох или меч (без разницы). При нажатии на ПКМ с посохом в руке, идет магическая атака: присутствуют эффекты фейерверка, а в конце взрыв с разными эффектами огня и тд. Так вот, как это реализовать? Я думаю, что тут надо делать Vectors и Directions, но как я не знаю((
Кстати, магическая атака направлена туда, куда смотрит игрок. Я знаю, есть уже подобные плагины, но я хочу разобраться и попробовать это сделать самому.
 
Разбиваешь свою задачу на несколько мелких. Например, вот так:
1) Отловить использование посоха
2) Рассчитать вектора и позиции всех элементов
3) Отобразить игровые эффекты: звуки, партиклы, поменять блоки, заспаунить огонь и т.д

И уже по конкретным задачам задаёшь конкретные вопросы, если с чем-то справиться не можешь.
Сейчас твой вопрос звучит как "Я не пытался реализовать это самостоятельно, сделайте всё за меня".
 
Разбиваешь свою задачу на несколько мелких. Например, вот так:
1) Отловить использование посоха
2) Рассчитать вектора и позиции всех элементов
3) Отобразить игровые эффекты: звуки, партиклы, поменять блоки, заспаунить огонь и т.д

И уже по конкретным задачам задаёшь конкретные вопросы, если с чем-то справиться не можешь.
Сейчас твой вопрос звучит как "Я не пытался реализовать это самостоятельно, сделайте всё за меня".

Не совсем так, я знаю как делать,что бы была привязка к посоху и знаю как делать эффекты, но я не знаю как рассчитывать вектора и привязывать к ним эффекты, фаербол и тд. Посмотрел множество инструкций, но я не понял((
 
Не совсем так, я знаю как делать,что бы была привязка к посоху и знаю как делать эффекты, но я не знаю как рассчитывать вектора и привязывать к ним эффекты, фаербол и тд. Посмотрел множество инструкций, но я не понял((
player.getLocation().getDirection();
Дальше уже идёт математика и магия векторов.
 
player.getLocation().getDirection();
Дальше уже идёт математика и магия векторов.

Это понятно,но как сделать вектор прямолинейный, хотя бы такой. Потом уже по аналогии придумаю параболические и синусоидные
 
Это понятно,но как сделать вектор прямолинейный, хотя бы такой. Потом уже по аналогии придумаю параболические и синусоидные
PHP:
Vector direction = player.getLocation().getDirection();
Vector step = direction.normalize().multiply(0.1); //нормализуем, и делим вектор на 10 (расстояние между частицами ~ 0.1 блока)
for(int i = 0; i < 30; i++) { //30 - количество повторений, ~ 3 блока
    player.getWorld().spawnParticle(Particle.FLAME, player.getLocation().add(step.mulitiply(i)), 10);
}
 
PHP:
Vector direction = player.getLocation().getDirection();
Vector step = direction.normalize().multiply(0.1); //нормализуем, и делим вектор на 10 (расстояние между частицами ~ 0.1 блока)
for(int i = 0; i < 30; i++) { //30 - количество повторений, ~ 3 блока
    player.getWorld().spawnParticle(Particle.FLAME, player.getLocation().add(step.mulitiply(i)), 10);
}

Всё прекрасно работаёт, но эффекты распадаются вокруг игрока, а как сделать что бы траектория этих эффектов была прямолинейная ? Тоесть с одну точку, на которую направлен взгляд игрока.
Например, я смотрю на свинку или на дерево, без разницы, и эффекты идут до этого объекта ну или же эффект не доходит (смотря какая длина)
 
Всё прекрасно работаёт, но эффекты распадаются вокруг игрока, а как сделать что бы траектория этих эффектов была прямолинейная ? Тоесть с одну точку, на которую направлен взгляд игрока.
Например, я смотрю на свинку или на дерево, без разницы, и эффекты идут до этого объекта ну или же эффект не доходит (смотря какая длина)
Играйся с самой командой /particle. Например
player.getWorld().spawnParticle(Particle.FLAME, player.getLocation().add(step.mulitiply(i)), 10, 0.1, 0.1, 0.1, 0.1);
 
Всё прекрасно работаёт, но эффекты распадаются вокруг игрока, а как сделать что бы траектория этих эффектов была прямолинейная ? Тоесть с одну точку, на которую направлен взгляд игрока.
Например, я смотрю на свинку или на дерево, без разницы, и эффекты идут до этого объекта ну или же эффект не доходит (смотря какая длина)
 
Назад
Верх