001 package net.minecraft.client.particle; 002 003 import cpw.mods.fml.relauncher.Side; 004 import cpw.mods.fml.relauncher.SideOnly; 005 import net.minecraft.client.renderer.Tessellator; 006 import net.minecraft.world.World; 007 008 @SideOnly(Side.CLIENT) 009 public 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 var1 = 0; var1 < 6; ++var1) 030 { 031 double var2 = this.posX + (this.rand.nextDouble() - this.rand.nextDouble()) * 4.0D; 032 double var4 = this.posY + (this.rand.nextDouble() - this.rand.nextDouble()) * 4.0D; 033 double var6 = this.posZ + (this.rand.nextDouble() - this.rand.nextDouble()) * 4.0D; 034 this.worldObj.spawnParticle("largeexplode", var2, var4, var6, (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 }