}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
GL11.glPushMatrix();
Dragon entitydragon = (Dragon)entity;
float f6 = entitydragon.newVar + (entitydragon.oldVar - entitydragon.newVar) * field_40317_s;
modelJaw.rotateAngleX = (float)(Math.sin(f6 * 3.141593F * 2.0F) + 1.0D) * 0.2F;
float f7 = (float)(Math.sin(f6 * 3.141593F * 2.0F - 1.0F) + 1.0D);
f7 = (f7 * f7 * 1.0F + f7 * 2.0F) * 0.05F;
GL11.glTranslatef(0.0F, f7 - 2.0F, -3F);
GL11.glRotatef(f7 * 2.0F, 1.0F, 0.0F, 0.0F);
float f8 = -30F;
float f9 = 22F;
float f10 = 0.0F;
float f11 = 1.5F;
double ad[] = entitydragon.calculateSomething(6, field_40317_s);
float f12 = func_40307_a(entitydragon.calculateSomething(5, field_40317_s)[0] - entitydragon.calculateSomething(10, field_40317_s)[0]);
float f13 = func_40307_a(entitydragon.calculateSomething(5, field_40317_s)[0] + (double)(f12 / 2.0F));
f8 += 2.0F;
float f14 = 0.0F;
float f15 = f6 * 3.141593F * 2.0F;
f8 = 20F;
f9 = -12F;
for(int i = 0; i < 5; i++)
{
double ad3[] = entitydragon.calculateSomething(5 - i, field_40317_s);
f14 = (float)Math.cos((float)i * 0.45F + f15) * 0.15F;
modelNeck.rotateAngleY = ((func_40307_a(ad3[0] - ad[0]) * 3.141593F) / 180F) * f11;
modelNeck.rotateAngleX = f14 + (((float)(ad3[1] - ad[1]) * 3.141593F) / 180F) * f11 * 5F;
modelNeck.rotateAngleZ = ((-func_40307_a(ad3[0] - (double)f13) * 3.141593F) / 180F) * f11;
modelNeck.rotationPointY = f8;
modelNeck.rotationPointZ = f9;
modelNeck.rotationPointX = f10;
f8 = (float)((double)f8 + Math.sin(modelNeck.rotateAngleX) * 10D);
f9 = (float)((double)f9 - Math.cos(modelNeck.rotateAngleY) * Math.cos(modelNeck.rotateAngleX) * 10D);
f10 = (float)((double)f10 - Math.sin(modelNeck.rotateAngleY) * Math.cos(modelNeck.rotateAngleX) * 10D);
modelNeck.render(f5);
}
modelHead.rotationPointY = f8;
modelHead.rotationPointZ = f9;
modelHead.rotationPointX = f10;
double ad1[] = entitydragon.calculateSomething(0, field_40317_s);
modelHead.rotateAngleY = ((func_40307_a(ad1[0] - ad[0]) * 3.141593F) / 180F) * 1.0F;
modelHead.rotateAngleZ = ((-func_40307_a(ad1[0] - (double)f13) * 3.141593F) / 180F) * 1.0F;
modelHead.render(f5);
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f12 * f11 * 1.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.0F, -1F, 0.0F);
modelBody.rotateAngleZ = 0.0F;
modelBody.render(f5);
for(int j = 0; j < 2; j++)
{
GL11.glEnable(2884 /*GL_CULL_FACE*/);
float f16 = f6 * 3.141593F * 2.0F;
modelWing.rotateAngleX = 0.125F - (float)Math.cos(f16) * 0.2F;
modelWing.rotateAngleY = 0.25F;
modelWing.rotateAngleZ = (float)(Math.sin(f16) + 0.125D) * 0.8F;
modelWingtip.rotateAngleZ = -(float)(Math.sin(f16 + 2.0F) + 0.5D) * 0.75F;
modelRearLeg.rotateAngleX = 1.0F + f7 * 0.1F;
modelRearLegtip.rotateAngleX = 0.5F + f7 * 0.1F;
modelRearFoot.rotateAngleX = 0.75F + f7 * 0.1F;
modelFrontLeg.rotateAngleX = 1.3F + f7 * 0.1F;
modelFrontLegtip.rotateAngleX = -0.5F - f7 * 0.1F;
modelFrontFoot.rotateAngleX = 0.75F + f7 * 0.1F;
modelWing.render(f5);
modelFrontLeg.render(f5);
modelRearLeg.render(f5);
GL11.glScalef(-1F, 1.0F, 1.0F);
if(j == 0)
{
GL11.glCullFace(1028 /*GL_FRONT*/);
}
}
GL11.glPopMatrix();
GL11.glCullFace(1029 /*GL_BACK*/);
GL11.glDisable(2884 /*GL_CULL_FACE*/);
f14 = -(float)Math.sin(f6 * 3.141593F * 2.0F) * 0.0F;
f15 = f6 * 3.141593F * 2.0F;
f8 = 10F;
f9 = 60F;
f10 = 0.0F;
ad = entitydragon.calculateSomething(11, field_40317_s);
for(int k = 0; k < 12; k++)
{
double ad2[] = entitydragon.calculateSomething(12 + k, field_40317_s);
f14 = (float)((double)f14 + Math.sin((float)k * 0.45F + f15) * 0.05000000074505806D);
modelNeck.rotateAngleY = ((func_40307_a(ad2[0] - ad[0]) * f11 + 180F) * 3.141593F) / 180F;
modelNeck.rotateAngleX = f14 + (((float)(ad2[1] - ad[1]) * 3.141593F) / 180F) * f11 * 5F;
modelNeck.rotateAngleZ = ((func_40307_a(ad2[0] - (double)f13) * 3.141593F) / 180F) * f11;
modelNeck.rotationPointY = f8;