    001    package net.minecraft.client.renderer;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.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    }