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 i = 0; i < this.particles.size(); ++i)
024        {
025            Particle particle = (Particle)this.particles.get(i);
026            particle.preUpdate();
027            particle.update(this);
028
029            if (particle.isDead)
030            {
031                this.particles.remove(i--);
032            }
033        }
034    }
035
036    public void draw(float par1)
037    {
038        this.mc.renderEngine.bindTexture("/gui/particles.png");
039
040        for (int i = 0; i < this.particles.size(); ++i)
041        {
042            Particle particle = (Particle)this.particles.get(i);
043            int j = (int)(particle.prevPosX + (particle.posX - particle.prevPosX) * (double)par1 - 4.0D);
044            int k = (int)(particle.prevPosY + (particle.posY - particle.prevPosY) * (double)par1 - 4.0D);
045            float f1 = (float)(particle.prevTintAlpha + (particle.tintAlpha - particle.prevTintAlpha) * (double)par1);
046            float f2 = (float)(particle.prevTintRed + (particle.tintRed - particle.prevTintRed) * (double)par1);
047            float f3 = (float)(particle.prevTintGreen + (particle.tintGreen - particle.prevTintGreen) * (double)par1);
048            float f4 = (float)(particle.prevTintBlue + (particle.tintBlue - particle.prevTintBlue) * (double)par1);
049            GL11.glColor4f(f2, f3, f4, f1);
050            this.drawTexturedModalRect(j, k, 40, 0, 8, 8);
051        }
052    }
053}