Помогите Как настроить время действия частиц

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

Stas021

Новичок
Пользователь
Баллы
16
Мне нужно спавнить частицы на блоке чтобы они оставались на нём на некоторое время (секунд 60). Например координаты блока - p.getLocation(). Получилось спавнить частицы на этом блоке, но они пропадают через пару секунд.
public class Particles extends JavaPlugin {
public void onEnable() {
BukkitScheduler scheduler = getServer().getScheduler();
scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
@Override
public void run() {
for (Player p : Bukkit.getOnlinePlayers()) {
p.spawnParticle(Particle.PORTAL, p.getLocation(), 400); //здесь пробовал указывать второй
//аргумент - тогда частицы вообще не спавняться
}
}
}, 0L, 450L);
}
}

Да, я ходил в гугл, но там в основном предлагают использовать сторонние библиотеки и при этом пишут, что можно и с помощью BukkitAPI. Как сделать с помощью Bukkit нашёл, то что выше
Как это сделать до конца?

UPD:
Сделал цикл для спавна частиц (это не помогло, ну логично - просто облако частиц) , понизил им скорость - тоже не помогло - они всё равно падают под блоки. Как сдлеать чтобы частицы оставались на блоке 60 секунд?
 
Последнее редактирование:
А как сделать не ужасную?
Вы говорили:
Удалять из листа что? Координаты для спавна партиклов, время, которое они ещё доджны висеть...
Вруби фантазию. Я что ли за тебя реализацию писать должен?
 
Создай класс, наследуй BukkitRunnable, в конструкторе впиши метод на запуск асинхронного таймера скоростью 1 сек.
Добавь счетчик, в метод run отсчитывай число. Когда оно станет нулем, выключай шедулер.
Впиши в этот же метод логику спавна частиц.

В итоге каждую сек будет спавниться частицы столько времени, сколько тебе нужно.
 
Вруби фантазию. Я что ли за тебя реализацию писать должен?
Я сделал через двумерный массив и один дополнительный поток, который отсчитывает время. Теперь второй игрок может бегать с частицами и всё работает. На двух и более игроках не проверял, но это и не требуется. Нужно было сделать только для одного игрока.
Всем спасибо!
Тему можно закрывать
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ