В настоящее время я работаю над плагином, который должен заморозить сущности.Я уже сделал большинство из них, но теперь я действительно испорчен фейерверком.У меня уже есть функция, которая телепортирует все «движущиеся» сущности обратно в их местоположение каждый тик.
Bukkit.getScheduler().runTaskTimer(instance, () -> {
for (Entity e : entities) {
//teleporting and setting velocity
if (e instanceof Firework) {
Firework f = (Firework) e;
//TODO how can I make it NOT disappear after one or two seconds
}
}
});
Теперь проблема с фейерверками заключается в том, что они автоматически удаляются после того, как они запускают определенную продолжительность жизни и детонируют,Я просто не хочу, чтобы, если сущности были заморожены.
Я уже пробовал f.setTicksLived(1);
, но, к сожалению, это ничего не изменит. (я действительно не думаю, что эта функция работает так, как она должна)
Мой следующий подход состоял в том, чтобы изменить силу фейерверка.
FireworkMeta fm = f.getFireworkMeta();
fm.setPower(127);
f.setFireworkMeta(fm);
Но поскольку 127 - максимально допустимое число для .setPower()
, фейерверк все равно исчезнет через минуту или две.
Я действительно хочу, чтобы фейерверк был виден в течение неопределенного промежутка времени.Он вообще не должен исчезать, и запуск нового фейерверка каждые 10 секунд - не вариант, поскольку он всегда будет воспроизводить звук запуска, который мне просто не нужен.