Проблема со спавном частиц [Решено]

Статус
Закрыто для дальнейших ответов.

_TheZit445_

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
_TheZit445_
Ещё раз взываю вас, о святые кодеры этих мест. В общем, сразу к делу. Была такая проблема - хочу одновременно заспавнить частицы в определённых координатах, но на деле они все спавнятся в одной точки. (Может это из-за счедулера, версия 1.12, ранее использовал Particle API, но сейчас версии на 1.12 нет и при попытке использовать, он выдаёт ошибку, поэтому использую стандартные)
Код:
// Допустим
@Override
public void run(){
   <...> // код
   Location eye = <...>; // Тут первая локация
   Location target = <...>; // вторая
   Vector vector = target.subtract(eye).toVector().normalize();
   Location bullet = eye;
   bullet.add(vector.multiply(0.1));
   for (int i = 1; i<=100; i++){
      bullet.add(vector.multiply(0.2));
      bullet.getWorld().spawnParticle(Particle.REDSTONE, bullet, 1, 0, 0, 0, 0);
   }
   <...> // код
}
Собственно вот. И эта проблема у меня не в первый раз. В прошлый раз я увернулся тем, что знал координаты изначально и поточечно спаунил их, благо их было не много. Сейчас же они идут по вектору, и их не мало. Подскажите, пожалуйста, что не так то? Или есть у кого какой-нибудь Particle API на 1.12?

(P.S. ошибок в консоли нет, всё работает так, буд-то так и было задумано)

UPD: Решено
Код:
// Допустим
@Override
public void run(){
   <...> // код
   Location eye = <...>; // Тут первая локация
   Location target = <...>; // вторая
   Vector vector = target.subtract(eye).toVector().normalize().multiply(0.2);
   Location bullet = eye;
   bullet.add(vector);
   for (int i = 1; i<=100; i++){
      bullet.add(vector);
      bullet.getWorld().spawnParticle(Particle.REDSTONE, bullet, 1, 0, 0, 0, 0);
   }
   <...> // код
}
 
Последнее редактирование:
@HunterGaming Нет, в том то и дело. Всё работает так, буд-то так и было задумано. И в смысле не ванги. Я вроде всё описал, если не в курсах, то чего возмущаться то сразу. Попробуй сам написать нечто подобное и посмотри реакцию, может у тебя получится и это я косорукий, а может быть и тоже самое будет.
 
Последнее редактирование:
@HunterGaming так вроде описал всё. Частицы должны заспаунится одновременно по вектору, 100 частиц с промежутков в 0.2, то есть должна образоваться прямая линия из частиц, но на деле они все 100 частиц спаунятся в одной точке, в начальной. Консоль ошибок не даёт, в коде вроде всё верно. Ранее использовал эту конструкцию, но с Particle API и всё работало прекрасно, сейчас же АПИ, которое использовал на 1.12 нету и я использую стандартные методы, которые есть в спигот. Весь код в счедулере
 
@Cool_boy пора прекращать садится поддатым за ПК. Дурак, ой дурак. .multiply возвращает этот же вектор, работает только на себя. Глупец. Спасибо большое. Почему-то что-то более сложное получается проще, а нечто простое уже начинает вылетать из головы. Пока ты не написал, не осенило... Старею.
Спасибо большое, ещё раз
 
@Cool_boy пора прекращать садится поддатым за ПК. Дурак, ой дурак. .multiply возвращает этот же вектор, работает только на себя. Глупец. Спасибо большое. Почему-то что-то более сложное получается проще, а нечто простое уже начинает вылетать из головы. Пока ты не написал, не осенило... Старею.
Спасибо большое, ещё раз
Сам раньше тупил с локациями, пока не вспомнил про .clone()
 
@Cool_boy слушай, а не подскажешь ещё, нет ли сейчас какого-нибудь Particle API на 1.12?
 
@Cool_boy я ленивая задница. Буду ждать обновления. Спасибо за отзывчивость
Закрываю
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх