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    }