package be.isach.ultracosmetics.cosmetics.particleeffects;
import be.isach.ultracosmetics.UltraCosmetics;
import be.isach.ultracosmetics.cosmetics.type.ParticleEffectType;
import be.isach.ultracosmetics.player.UltraPlayer;
import be.isach.ultracosmetics.util.Particles;
import be.isach.ultracosmetics.util.UtilParticles;
import org.bukkit.Location;
import org.bukkit.util.Vector;
/**
* Represents an instance of blood helix particles summoned by a player.
*
* @author iSach
* @since 08-12-2015
*/
public class ParticleEffectBloodHelix extends ParticleEffect {
double i = 0;
public ParticleEffectBloodHelix(UltraPlayer owner, UltraCosmetics ultraCosmetics) {
super(ultraCosmetics, owner, ParticleEffectType.BLOODHELIX);
}
@Override
public void onUpdate() {
Location location = getPlayer().getLocation();
Location location2 = location.clone();
double radius = 1.1d;
double radius2 = 1.1d;
double particles = 100;
for (int step = 0; step < 100; step += 4) {
double interval = (2 * Math.PI) / particles;
double angle = step * interval + i;
Vector v = new Vector();
v.setX(Math.cos(angle) * radius);
v.setZ(Math.sin(angle) * radius);
UtilParticles.display(Particles.REDSTONE, location.add(v));
location.subtract(v);
location.add(0, 0.12d, 0);
radius -= 0.044f;
}
for (int step = 0; step < 100; step += 4) {
double interval = (2 * Math.PI) / particles;
double angle = step * interval + i + 3.5;
Vector v = new Vector();
v.setX(Math.cos(angle) * radius2);
v.setZ(Math.sin(angle) * radius2);
UtilParticles.display(Particles.REDSTONE, location2.add(v));
location2.subtract(v);
location2.add(0, 0.12d, 0);
radius2 -= 0.044f;
}
i += 0.05;
}
}