Code
Emitter emitter = Particles.initialize(pt, "graphics/fx/explosion1.png");
emitter.circleOffset(30f, 50f);
emitter.life(0.75f, 1.25f);
emitter.fadeTime(0.1f, 0.1f, 0.3f, 0.5f);
emitter.facing(0f, 360f);
emitter.turnRate(-50f, 50f);
emitter.turnAcceleration(-50f, 50f);
emitter.circleVelocity(100f, 100f);
emitter.radialAcceleration(-50f, -100f);
emitter.revolutionRate(-20f, 20f);
emitter.color(colorIn);
emitter.randomHSVA(20f, 0.1f, 0f, 0f);
emitter.colorShiftHSVA(0f, -0.3f, -0.3f, -0.05f);
emitter.size(150f, 200f);
emitter.growthRate(100f, 150f);
emitter.growthAcceleration(-50f, -75f);
Particles.burst(emitter, 50);
Emitter ringEmitter = Particles.initialize(pt, "graphics/fx/custom_ring.png"); // Just a simple white ring
ringEmitter.setAxis(proj.getFacing());
ringEmitter.life(0.75f, 1f);
ringEmitter.fadeTime(0.1f, 0.1f, 0.5f, 0.7f);
ringEmitter.size(300f, 400f, 40f, 60f);
ringEmitter.growthRate(400f, 500f);
ringEmitter.growthAcceleration(-50f, -60f);
ringEmitter.color(ringColorIn);
ringEmitter.hueShift(-50f, 50f);
ringEmitter.saturationShift(-0.2f, -0.2f);
ringEmitter.facing(-55f, -35f);
Particles.burst(ringEmitter, 10);
ringEmitter.facing(35f, 55f);
Particles.burst(ringEmitter, 10);
Emitter arcEmitter = Particles.initialize(pt, "graphics/fx/custom_emp_arcs.png"); // Just emp_arcs.png with a darkening filter applied to border
arcEmitter.life(0.25f, 0.3f);
arcEmitter.fadeTime(0f, 0f, 0.15f, 0.25f);
arcEmitter.size(350f, 350f, 300f, 300f);
arcEmitter.growthRate(-40f, -80f);
arcEmitter.turnRate(-10f, 10f);
arcEmitter.facing(0f, 360f);
arcEmitter.color(0.7f, 1f, 1f, 0.7f);
arcEmitter.facing(0f, 360f);
arcEmitter.alphaShift(-0.5f, -0.5f);
Particles.stream(arcEmitter, 1, 50, 0.75f);