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 }