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 }