    001package net.minecraft.client.gui;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import java.util.ArrayList;
    006import java.util.List;
    007import net.minecraft.client.Minecraft;
    008import org.lwjgl.opengl.GL11;
    009
    010@SideOnly(Side.CLIENT)
    011public class GuiParticle extends Gui
    012{
    013    private List particles = new ArrayList();
    014    private Minecraft mc;
    015
    016    public GuiParticle(Minecraft par1Minecraft)
    017    {
    018        this.mc = par1Minecraft;
    019    }
    020
    021    public void update()
    022    {
    023        for (int var1 = 0; var1 < this.particles.size(); ++var1)
    024        {
    025            Particle var2 = (Particle)this.particles.get(var1);
    026            var2.preUpdate();
    027            var2.update(this);
    028
    029            if (var2.isDead)
    030            {
    031                this.particles.remove(var1--);
    032            }
    033        }
    034    }
    035
    036    public void draw(float par1)
    037    {
    038        this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture("/gui/particles.png"));
    039
    040        for (int var2 = 0; var2 < this.particles.size(); ++var2)
    041        {
    042            Particle var3 = (Particle)this.particles.get(var2);
    043            int var4 = (int)(var3.prevPosX + (var3.posX - var3.prevPosX) * (double)par1 - 4.0D);
    044            int var5 = (int)(var3.prevPosY + (var3.posY - var3.prevPosY) * (double)par1 - 4.0D);
    045            float var6 = (float)(var3.prevTintAlpha + (var3.tintAlpha - var3.prevTintAlpha) * (double)par1);
    046            float var7 = (float)(var3.prevTintRed + (var3.tintRed - var3.prevTintRed) * (double)par1);
    047            float var8 = (float)(var3.prevTintGreen + (var3.tintGreen - var3.prevTintGreen) * (double)par1);
    048            float var9 = (float)(var3.prevTintBlue + (var3.tintBlue - var3.prevTintBlue) * (double)par1);
    049            GL11.glColor4f(var7, var8, var9, var6);
    050            this.drawTexturedModalRect(var4, var5, 40, 0, 8, 8);
    051        }
    052    }
    053}