@@ -0,0 +1,2300 @@
+package de.slikey.effectlib.util;%0A%0Aimport java.util.List;%0A%0Aimport org.bukkit.Bukkit;%0Aimport org.bukkit.Color;%0Aimport org.bukkit.Location;%0Aimport org.bukkit.Material;%0Aimport org.bukkit.Particle;%0Aimport org.bukkit.entity.Player;%0A%0Apublic class ParticleUtils %7B%0A    public static void display(Particle particle, Location center, Color color, double range) %7B%0A        display(particle, center, 0, 0, 0, 0, 0, color, null, range);%0A    %7D%0A%0A    public static void display(Particle particle, Location center, float offsetX, float offsetY, float offsetZ, float speed, int amount, Color color, Material material, double range) %7B%0A        display(particle, center, offsetX, offsetY, offsetZ, speed, amount, color, material, range);%0A    %7D%0A%0A    public static void display(Particle particle, Location center, float offsetX, float offsetY, float offsetZ, float speed, int amount, Color color, Material material, double range, List%3CPlayer%3E targetPlayers) %7B%0A        // Colorizeable!%0A        if (color != null && (particle == Particle.REDSTONE %7C%7C particle == Particle.SPELL_MOB %7C%7C particle == Particle.SPELL_MOB_AMBIENT)) %7B%0A            amount = 0;%0A            // Colored particles can't have a speed of 0.%0A            if (speed == 0) %7B%0A                speed = 1;%0A            %7D%0A            offsetX = (float) color.getRed() / 255;%0A            offsetY = (float) color.getGreen() / 255;%0A            offsetZ = (float) color.getBlue() / 255;%0A%0A            // The redstone particle reverts to red if R is 0!%0A            if (offsetX %3C Float.MIN_NORMAL) %7B%0A                offsetX = Float.MIN_NORMAL;%0A            %7D%0A        %7D%0A%0A        if (targetPlayers == null) %7B%0A            String worldName = center.getWorld().getName();%0A            double squared = range * range;%0A            for (Player player : Bukkit.getOnlinePlayers()) %7B%0A                if (!player.getWorld().getName().equals(worldName) %7C%7C player.getLocation().distanceSquared(center) %3E squared) %7B%0A                    continue;%0A                %7D%0A                player.spawnParticle(particle, center, amount, offsetX, offsetY, offsetZ, speed, material);%0A            %7D%0A        %7D else %7B%0A            for (Player player : targetPlayers) %7B%0A                player.spawnParticle(particle, center, amount, offsetX, offsetY, offsetZ, speed, material);%0A            %7D%0A        %7D%0A    %7D%0A%7D%0A

Add ParticleUtils class for playing particles using the Spigot API