package nl.sugcube.crystalquest;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.Location;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Player;
import org.bukkit.entity.Snowball;
import org.bukkit.inventory.meta.FireworkMeta;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.ArrayList;
import java.util.List;
/**
* @author SugarCaney
*/
public class ParticleHandler implements Runnable {
public static CrystalQuest plugin;
public static List<Snowball> balls = new ArrayList<>();
public ParticleHandler(CrystalQuest instance) {
plugin = instance;
}
public void run() {
try {
for (Snowball ball : balls) {
FireworkEffect fe = FireworkEffect.builder()
.withColor(plugin.getArenaManager().getTeam((Player)ball.getShooter()).getColour())
.with(Type.BURST).build();
try {
playFirework(ball.getLocation(), fe);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
catch (Exception ignored) {
}
}
public void playFirework(Location location, FireworkEffect effect) {
final Firework firework = location.getWorld().spawn(location, Firework.class);
FireworkMeta fMeta = firework.getFireworkMeta();
fMeta.addEffect(effect);
firework.setFireworkMeta(fMeta);
new BukkitRunnable() {
public void run() {
firework.detonate();
}
}.runTaskLater(plugin, 1);
}
}