001package net.minecraft.client.particle;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import net.minecraft.client.renderer.Tessellator;
006import net.minecraft.world.World;
007
008@SideOnly(Side.CLIENT)
009public class EntityHugeExplodeFX extends EntityFX
010{
011    private int timeSinceStart = 0;
012
013    /** the maximum time for the explosion */
014    private int maximumTime = 0;
015
016    public EntityHugeExplodeFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12)
017    {
018        super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D);
019        this.maximumTime = 8;
020    }
021
022    public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) {}
023
024    /**
025     * Called to update the entity's position/logic.
026     */
027    public void onUpdate()
028    {
029        for (int i = 0; i < 6; ++i)
030        {
031            double d0 = this.posX + (this.rand.nextDouble() - this.rand.nextDouble()) * 4.0D;
032            double d1 = this.posY + (this.rand.nextDouble() - this.rand.nextDouble()) * 4.0D;
033            double d2 = this.posZ + (this.rand.nextDouble() - this.rand.nextDouble()) * 4.0D;
034            this.worldObj.spawnParticle("largeexplode", d0, d1, d2, (double)((float)this.timeSinceStart / (float)this.maximumTime), 0.0D, 0.0D);
035        }
036
037        ++this.timeSinceStart;
038
039        if (this.timeSinceStart == this.maximumTime)
040        {
041            this.setDead();
042        }
043    }
044
045    public int getFXLayer()
046    {
047        return 1;
048    }
049}