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