@Override public void onRun() { Location location = getLocation(); for (int i = 0; i < particles; i++) { Vector vector = RandomUtils.getRandomVector().multiply(radius); if (!sphere) { vector.setY(Math.abs(vector.getY())); } location.add(vector); display(particle, location); location.subtract(vector); } }
@Override public void onRun() { if (radiusIncrease != 0) { radius += radiusIncrease; } Location location = getLocation(); location.add(0, yOffset, 0); for (int i = 0; i < particles; i++) { Vector vector = RandomUtils.getRandomVector().multiply(radius); location.add(vector); display(particle, location); location.subtract(vector); } }
Vector vector = RandomUtils.getRandomVector().multiply(sphereRadius); location.add(vector); display(sphereParticle, location, sphereColor);
@Override public void onRun() { Location location = getLocation(); for (int i = 0; i < particlesNucleus; i++) { Vector v = RandomUtils.getRandomVector().multiply(radius * radiusNucleus); location.add(v); display(particleNucleus, location, colorNucleus); location.subtract(v); } for (int i = 0; i < particlesOrbital; i++) { double angle = step * angularVelocity; for (int j = 0; j < orbitals; j++) { double xRotation = (Math.PI / orbitals) * j; Vector v = new Vector(Math.cos(angle), Math.sin(angle), 0).multiply(radius); VectorUtils.rotateAroundAxisX(v, xRotation); VectorUtils.rotateAroundAxisY(v, rotation); location.add(v); display(particleOrbital, location, colorOrbital); location.subtract(v); } step++; } }
@Override public void onRun() { if (firework == null) { Builder b = FireworkEffect.builder().with(fireworkType); b.withColor(color).withColor(color2).withColor(color3); b.withFade(fadeColor); b.trail(true); firework = b.build(); } Location location = getLocation(); for (int i = 0; i < explosions; i++) { Vector v = RandomUtils.getRandomVector().multiply(radius); detonate(location, v); if (soundInterval != 0 && step % soundInterval == 0) { location.getWorld().playSound(location, sound, soundVolume, soundPitch); } } step++; }