    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}