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