Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Хм, эффект не такой, как хотелось бы...spawnParticle Particle.FIREWORKS_SPARK с большим радиусом.
@Override
public void onEnable() {
Bukkit.getScheduler().runTaskTimer(this, () -> {
for(Player player : Bukkit.getOnlinePlayers()) {
if(player.getWorld().getName().equals(Bukkit.getWorlds().get(0).getName())) {
player.getWorld().spawnParticle(Particle.FIREWORKS_SPARK, player.getLocation(), 500, 20, 40, 20);
}
}
}, 20L, 20L);
}
Точно! Спасибо, вроде, все как надо!Скорость установи в 0.
Делай асинхронный рунейбл в нем проход по онлайн игрокам и спавн частиц, партиклы нормально спавнит.Точно! Спасибо, вроде, все как надо!
Только у меня встает вопрос нагрузки..
Думаю, серверу не очень понравится спавн 500+ частиц каждую секунду, для каждого игрока...
Еще у player есть свой спавн партикл. Как я понял, данные партиклы будут видны только для этого игрока? Возможно, стоит использовать этот метод?
С чего ты взял, что на каждого игрока спаунится по 500+ частиц?Только у меня встает вопрос нагрузки..
Думаю, серверу не очень понравится спавн 500+ частиц каждую секунду, для каждого игрока...
Еще у player есть свой спавн партикл. Как я понял, данные партиклы будут видны только для этого игрока? Возможно, стоит использовать этот метод?
Более того, как ты отметил, можно пакеты отправлять только тому игроку, вокруг которого эти частицы должны отображаться.Еще у player есть свой спавн партикл. Как я понял, данные партиклы будут видны только для этого игрока? Возможно, стоит использовать этот метод?
Особого смысла нет для такой легкой задачи. Можно даже хуже сделать - асинхронность тоже не бесплатная )Делай асинхронный рунейбл в нем проход по онлайн игрокам и спавн частиц, партиклы нормально спавнит.
Спасибо!С чего ты взял, что на каждого игрока спаунится по 500+ частиц?
Начнем с того, что на сервере частицы вообще не спаунятся, потому что это клиентская фишка.
Единственная задача сервера - отправить пакеты спауна частиц.
И этих пакетов не 500 на игрока, как ты думаешь.
А ровно по одному на игрока, потому что в одном пакете может быть указано произвольное количество частиц.
Т.е. для каждой частицы не создается отдельный пакет в твоём случае.
Более того, как ты отметил, можно пакеты отправлять только тому игроку, вокруг которого эти частицы должны отображаться.
А раз в секунду всем игрокам отправлять по одному легенькому пакету - это мизерная нагрузка.
Единственное, где может лагать - это клиент.
Но, как показывает практика, 500 частиц для клиента - это тоже практически ничто с текущим уровнем оптимизаций.
Короче говоря, не парься, пока не начнутся проблемы (а из-за этих частиц они вряд ли начнутся).
Особого смысла нет для такой легкой задачи. Можно даже хуже сделать - асинхронность тоже не бесплатная )