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