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