001    package net.minecraft.client.renderer;
002    
003    import cpw.mods.fml.relauncher.Side;
004    import cpw.mods.fml.relauncher.SideOnly;
005    import java.nio.IntBuffer;
006    import org.lwjgl.opengl.GL11;
007    
008    @SideOnly(Side.CLIENT)
009    public 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    }