001package net.minecraft.client.renderer;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import java.nio.IntBuffer;
006import org.lwjgl.opengl.GL11;
007
008@SideOnly(Side.CLIENT)
009public class RenderList
010{
011    private int field_78429_a;
012    private int field_78427_b;
013    private int field_78428_c;
014    private double field_78425_d;
015    private double field_78426_e;
016    private double field_78423_f;
017    private IntBuffer field_78424_g = GLAllocation.createDirectIntBuffer(65536);
018    private boolean field_78430_h = false;
019    private boolean field_78431_i = false;
020
021    public void func_78422_a(int par1, int par2, int par3, double par4, double par6, double par8)
022    {
023        this.field_78430_h = true;
024        this.field_78424_g.clear();
025        this.field_78429_a = par1;
026        this.field_78427_b = par2;
027        this.field_78428_c = par3;
028        this.field_78425_d = par4;
029        this.field_78426_e = par6;
030        this.field_78423_f = par8;
031    }
032
033    public boolean func_78418_a(int par1, int par2, int par3)
034    {
035        return !this.field_78430_h ? false : par1 == this.field_78429_a && par2 == this.field_78427_b && par3 == this.field_78428_c;
036    }
037
038    public void func_78420_a(int par1)
039    {
040        this.field_78424_g.put(par1);
041
042        if (this.field_78424_g.remaining() == 0)
043        {
044            this.func_78419_a();
045        }
046    }
047
048    public void func_78419_a()
049    {
050        if (this.field_78430_h)
051        {
052            if (!this.field_78431_i)
053            {
054                this.field_78424_g.flip();
055                this.field_78431_i = true;
056            }
057
058            if (this.field_78424_g.remaining() > 0)
059            {
060                GL11.glPushMatrix();
061                GL11.glTranslatef((float)((double)this.field_78429_a - this.field_78425_d), (float)((double)this.field_78427_b - this.field_78426_e), (float)((double)this.field_78428_c - this.field_78423_f));
062                GL11.glCallLists(this.field_78424_g);
063                GL11.glPopMatrix();
064            }
065        }
066    }
067
068    public void func_78421_b()
069    {
070        this.field_78430_h = false;
071        this.field_78431_i = false;
072    }
073}