    001    package net.minecraft.src;
    002
    003    public enum EnumEntitySize
    004    {
    005        SIZE_1,
    006        SIZE_2,
    007        SIZE_3,
    008        SIZE_4,
    009        SIZE_5,
    010        SIZE_6;
    011
    012        public int multiplyBy32AndRound(double par1)
    013        {
    014            double var3 = par1 - ((double)MathHelper.floor_double(par1) + 0.5D);
    015
    016            switch (EnumEntitySizeHelper.enumEntitySizeMappingHelperArray[this.ordinal()])
    017            {
    018                case 1:
    019                    if (var3 < 0.0D)
    020                    {
    021                        if (var3 < -0.3125D)
    022                        {
    023                            return MathHelper.ceiling_double_int(par1 * 32.0D);
    024                        }
    025                    }
    026                    else if (var3 < 0.3125D)
    027                    {
    028                        return MathHelper.ceiling_double_int(par1 * 32.0D);
    029                    }
    030
    031                    return MathHelper.floor_double(par1 * 32.0D);
    032                case 2:
    033                    if (var3 < 0.0D)
    034                    {
    035                        if (var3 < -0.3125D)
    036                        {
    037                            return MathHelper.floor_double(par1 * 32.0D);
    038                        }
    039                    }
    040                    else if (var3 < 0.3125D)
    041                    {
    042                        return MathHelper.floor_double(par1 * 32.0D);
    043                    }
    044
    045                    return MathHelper.ceiling_double_int(par1 * 32.0D);
    046                case 3:
    047                    if (var3 > 0.0D)
    048                    {
    049                        return MathHelper.floor_double(par1 * 32.0D);
    050                    }
    051
    052                    return MathHelper.ceiling_double_int(par1 * 32.0D);
    053                case 4:
    054                    if (var3 < 0.0D)
    055                    {
    056                        if (var3 < -0.1875D)
    057                        {
    058                            return MathHelper.ceiling_double_int(par1 * 32.0D);
    059                        }
    060                    }
    061                    else if (var3 < 0.1875D)
    062                    {
    063                        return MathHelper.ceiling_double_int(par1 * 32.0D);
    064                    }
    065
    066                    return MathHelper.floor_double(par1 * 32.0D);
    067                case 5:
    068                    if (var3 < 0.0D)
    069                    {
    070                        if (var3 < -0.1875D)
    071                        {
    072                            return MathHelper.floor_double(par1 * 32.0D);
    073                        }
    074                    }
    075                    else if (var3 < 0.1875D)
    076                    {
    077                        return MathHelper.floor_double(par1 * 32.0D);
    078                    }
    079
    080                    return MathHelper.ceiling_double_int(par1 * 32.0D);
    081                case 6:
    082                default:
    083                    if (var3 > 0.0D)
    084                    {
    085                        return MathHelper.ceiling_double_int(par1 * 32.0D);
    086                    }
    087                    else
    088                    {
    089                        return MathHelper.floor_double(par1 * 32.0D);
    090                    }
    091            }
    092        }
    093    }