001 package net.minecraft.src; 002 003 public class EntityBodyHelper 004 { 005 /** Instance of EntityLiving. */ 006 private EntityLiving theLiving; 007 private int field_75666_b = 0; 008 private float field_75667_c = 0.0F; 009 010 public EntityBodyHelper(EntityLiving par1EntityLiving) 011 { 012 this.theLiving = par1EntityLiving; 013 } 014 015 public void func_75664_a() 016 { 017 double var1 = this.theLiving.posX - this.theLiving.prevPosX; 018 double var3 = this.theLiving.posZ - this.theLiving.prevPosZ; 019 020 if (var1 * var1 + var3 * var3 > 2.500000277905201E-7D) 021 { 022 this.theLiving.renderYawOffset = this.theLiving.rotationYaw; 023 this.theLiving.rotationYawHead = this.func_75665_a(this.theLiving.renderYawOffset, this.theLiving.rotationYawHead, 75.0F); 024 this.field_75667_c = this.theLiving.rotationYawHead; 025 this.field_75666_b = 0; 026 } 027 else 028 { 029 float var5 = 75.0F; 030 031 if (Math.abs(this.theLiving.rotationYawHead - this.field_75667_c) > 15.0F) 032 { 033 this.field_75666_b = 0; 034 this.field_75667_c = this.theLiving.rotationYawHead; 035 } 036 else 037 { 038 ++this.field_75666_b; 039 040 if (this.field_75666_b > 10) 041 { 042 var5 = Math.max(1.0F - (float)(this.field_75666_b - 10) / 10.0F, 0.0F) * 75.0F; 043 } 044 } 045 046 this.theLiving.renderYawOffset = this.func_75665_a(this.theLiving.rotationYawHead, this.theLiving.renderYawOffset, var5); 047 } 048 } 049 050 private float func_75665_a(float par1, float par2, float par3) 051 { 052 float var4 = MathHelper.wrapAngleTo180_float(par1 - par2); 053 054 if (var4 < -par3) 055 { 056 var4 = -par3; 057 } 058 059 if (var4 >= par3) 060 { 061 var4 = par3; 062 } 063 064 return par1 - var4; 065 } 066 }