use of am2.particles.ParticleFloatUpward in project ArsMagica2 by Mithion.
the class EnderIntervention method spawnParticles.
@Override
public void spawnParticles(World world, double x, double y, double z, EntityLivingBase caster, Entity target, Random rand, int colorModifier) {
for (int i = 0; i < 100; ++i) {
AMParticle particle = (AMParticle) AMCore.proxy.particleManager.spawn(world, "ghost", x, y - 1, z);
if (particle != null) {
particle.addRandomOffset(1, 2, 1);
particle.AddParticleController(new ParticleFloatUpward(particle, 0, 0.1f, 1, false));
particle.setMaxAge(25 + rand.nextInt(10));
particle.setRGBColorF(0.7f, 0.2f, 0.2f);
if (colorModifier > -1) {
particle.setRGBColorF(((colorModifier >> 16) & 0xFF) / 255.0f, ((colorModifier >> 8) & 0xFF) / 255.0f, (colorModifier & 0xFF) / 255.0f);
}
}
}
}
use of am2.particles.ParticleFloatUpward in project ArsMagica2 by Mithion.
the class Fling method spawnParticles.
@Override
public void spawnParticles(World world, double x, double y, double z, EntityLivingBase caster, Entity target, Random rand, int colorModifier) {
for (int i = 0; i < 25; ++i) {
AMParticle particle = (AMParticle) AMCore.proxy.particleManager.spawn(world, "wind", x, y, z);
if (particle != null) {
particle.addRandomOffset(1, 2, 1);
particle.AddParticleController(new ParticleFloatUpward(particle, 0, 0.3f + rand.nextFloat() * 0.3f, 1, false));
particle.setMaxAge(20);
if (colorModifier > -1) {
particle.setRGBColorF(((colorModifier >> 16) & 0xFF) / 255.0f, ((colorModifier >> 8) & 0xFF) / 255.0f, (colorModifier & 0xFF) / 255.0f);
}
}
}
}
use of am2.particles.ParticleFloatUpward in project ArsMagica2 by Mithion.
the class Haste method spawnParticles.
@Override
public void spawnParticles(World world, double x, double y, double z, EntityLivingBase caster, Entity target, Random rand, int colorModifier) {
for (int i = 0; i < 25; ++i) {
AMParticle particle = (AMParticle) AMCore.proxy.particleManager.spawn(world, "mystic", x, y - 1, z);
if (particle != null) {
particle.addRandomOffset(1, 1, 1);
particle.AddParticleController(new ParticleFloatUpward(particle, 0, 0.1f, 1, false));
particle.AddParticleController(new ParticleOrbitPoint(particle, x, y, z, 2, false).setIgnoreYCoordinate(true).SetOrbitSpeed(0.1f).SetTargetDistance(0.3f + rand.nextDouble() * 0.3));
particle.AddParticleController(new ParticleFadeOut(particle, 1, false).setFadeSpeed(0.05f).setKillParticleOnFinish(true));
particle.setMaxAge(20);
particle.setParticleScale(0.1f);
if (colorModifier > -1) {
particle.setRGBColorF(((colorModifier >> 16) & 0xFF) / 255.0f, ((colorModifier >> 8) & 0xFF) / 255.0f, (colorModifier & 0xFF) / 255.0f);
}
}
}
}
use of am2.particles.ParticleFloatUpward in project ArsMagica2 by Mithion.
the class AstralDistortion method spawnParticles.
@Override
public void spawnParticles(World world, double x, double y, double z, EntityLivingBase caster, Entity target, Random rand, int colorModifier) {
for (int i = 0; i < 10; ++i) {
AMParticle particle = (AMParticle) AMCore.proxy.particleManager.spawn(world, "pulse", x, y, z);
if (particle != null) {
particle.addRandomOffset(5, 4, 5);
particle.AddParticleController(new ParticleFloatUpward(particle, 0.2f, 0, 1, false));
particle.setMaxAge(25 + rand.nextInt(10));
particle.setRGBColorF(0.7f, 0.2f, 0.9f);
if (colorModifier > -1) {
particle.setRGBColorF(((colorModifier >> 16) & 0xFF) / 255.0f, ((colorModifier >> 8) & 0xFF) / 255.0f, (colorModifier & 0xFF) / 255.0f);
}
}
}
}
use of am2.particles.ParticleFloatUpward in project ArsMagica2 by Mithion.
the class TileEntityArcaneReconstructor method updateEntity.
@Override
public void updateEntity() {
if (isFirstTick) {
outerRingRotationSpeeds = new AMVector3(worldObj.rand.nextDouble() * 4 - 2, worldObj.rand.nextDouble() * 4 - 2, worldObj.rand.nextDouble() * 4 - 2);
middleRingRotationSpeeds = new AMVector3(worldObj.rand.nextDouble() * 4 - 2, worldObj.rand.nextDouble() * 4 - 2, worldObj.rand.nextDouble() * 4 - 2);
innerRingRotationSpeeds = new AMVector3(worldObj.rand.nextDouble() * 4 - 2, worldObj.rand.nextDouble() * 4 - 2, worldObj.rand.nextDouble() * 4 - 2);
isFirstTick = false;
}
if (PowerNodeRegistry.For(this.worldObj).checkPower(this, this.getRepairCost())) {
// has enough power
if ((repairCounter++ % getRepairRate() == 0) && (!queueRepairableItem())) {
// has ticked and already has item queued
if (performRepair()) {
// something to repair
if (!worldObj.isRemote) {
PowerNodeRegistry.For(this.worldObj).consumePower(this, PowerNodeRegistry.For(worldObj).getHighestPowerType(this), this.getRepairCost());
}
}
}
deactivationDelayTicks = 0;
} else if (!worldObj.isRemote && active) {
// out of power, on server and active
if (deactivationDelayTicks++ > 100) {
// 5 seconds
deactivationDelayTicks = 0;
this.active = false;
if (!worldObj.isRemote)
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
}
if (worldObj.isRemote) {
updateRotations();
if (shouldRenderItemStack()) {
AMParticle p = (AMParticle) AMCore.instance.proxy.particleManager.spawn(worldObj, "sparkle2", xCoord + 0.2 + (worldObj.rand.nextDouble() * 0.6), yCoord + 0.4, zCoord + 0.2 + (worldObj.rand.nextDouble() * 0.6));
if (p != null) {
p.AddParticleController(new ParticleFloatUpward(p, 0.0f, 0.02f, 1, false));
p.setIgnoreMaxAge(true);
p.setParticleScale(0.1f);
p.AddParticleController(new ParticleFadeOut(p, 1, false).setFadeSpeed(0.035f).setKillParticleOnFinish(true));
p.setRGBColorF(1, 0, 1);
}
}
}
super.updateEntity();
}
Aggregations