@Override public void setRotationAngles( float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { // super.setRotationAngles(par1, par2, par3, par4, par5, par6); tusk1.isHidden = true; tusk2.isHidden = true; this.head.rotateAngleX = par5 / (180F / (float) Math.PI); this.head.rotateAngleY = par4 / (180F / (float) Math.PI); this.body.rotateAngleX = ((float) Math.PI / 2F); this.leg1.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2; this.leg2.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float) Math.PI) * 1.4F * par2; this.leg3.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float) Math.PI) * 1.4F * par2; this.leg4.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2; }
/** Sets the models various rotation angles. */ public void setRotationAngles( float par1, float par2, float par3, float par4, float par5, float par6) { this.head.rotateAngleX = par5 / (180F / (float) Math.PI); this.head.rotateAngleY = par4 / (180F / (float) Math.PI); this.body.rotateAngleX = ((float) Math.PI / 2F); this.udders.rotateAngleX = ((float) Math.PI / 2F); this.leg1.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2; this.leg2.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float) Math.PI) * 1.4F * par2; this.leg3.rotateAngleX = MathHelper.cos(par1 * 0.6662F + (float) Math.PI) * 1.4F * par2; this.leg4.rotateAngleX = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2; horn1.rotateAngleX = 0F; horn2.rotateAngleX = 0F; horn1.isHidden = false; horn1b.isHidden = false; horn2.isHidden = false; horn2b.isHidden = false; udders.isHidden = false; }
@Override public void render( Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) { float percent = TFC_Core.getPercentGrown((IAnimal) entity); float ageScale = 2.0F - percent; float ageHeadScale = (float) Math.pow(1 / ageScale, 0.66); // float offset = 1.4f - percent; this.setRotationAngles(par2, par3, par4, par5, par6, par7, entity); if (entity instanceof IAnimal) { if (((IAnimal) entity).getGender() == GenderEnum.MALE) { if (((IAnimal) entity).isAdult()) { tusk1.isHidden = false; tusk2.isHidden = false; } } GL11.glPushMatrix(); GL11.glTranslatef(0.0F, (0.75f - (0.75f * percent)), 0f); GL11.glScalef(ageHeadScale, ageHeadScale, ageHeadScale); GL11.glTranslatef(0.0F, (ageScale - 1) * -0.125f, 0.1875f - (0.1875f * percent)); head.render(par7); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glTranslatef(0.0F, (0.75f - (0.75f * percent)), 0f); GL11.glScalef(1 / ageScale, 1 / ageScale, 1 / ageScale); body.render(par7); leg1.render(par7); leg2.render(par7); leg3.render(par7); leg4.render(par7); GL11.glPopMatrix(); } }
@Override public void render( Entity entity, float par2, float par3, float par4, float par5, float par6, float par7) { this.setRotationAngles(par2, par3, par4, par5, par6, par7); float percent = TFC_Core.getPercentGrown((IAnimal) entity); float ageScale = 2.0F - percent; float ageHeadScale = (float) Math.sqrt(1 / ageScale); float offset = 1.4f - percent; GL11.glPushMatrix(); GL11.glTranslatef(0.0F, (0.75f - (0.75f * percent)), 0f); GL11.glScalef(ageHeadScale, ageHeadScale, ageHeadScale); GL11.glTranslatef(0.0F, 0, 0.1875f - (0.1875f * percent)); if (percent < 0.5) { horn1.isHidden = true; // rotateAngleX = (float)Math.PI; horn2.isHidden = true; // rotateAngleX = -(float)Math.PI; if (percent < 0.75) { horn1b.isHidden = true; horn2b.isHidden = true; } } if (((IAnimal) entity).getGender() == GenderEnum.MALE) { udders.isHidden = true; } else { horn1b.isHidden = true; horn2b.isHidden = true; } head.render(par7); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glTranslatef(0.0F, (0.75f - (0.75f * percent)), 0f); GL11.glScalef(1 / ageScale, 1 / ageScale, 1 / ageScale); body.render(par7); udders.render(par7); leg1.render(par7); leg2.render(par7); leg3.render(par7); leg4.render(par7); GL11.glPopMatrix(); }