    001package net.minecraft.entity;
    002
    003import net.minecraft.util.MathHelper;
    004
    005public 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 d1 = par1 - ((double)MathHelper.floor_double(par1) + 0.5D);
    017
    018        switch (EnumEntitySizeHelper.field_96565_a[this.ordinal()])
    019        {
    020            case 1:
    021                if (d1 < 0.0D)
    022                {
    023                    if (d1 < -0.3125D)
    024                    {
    025                        return MathHelper.ceiling_double_int(par1 * 32.0D);
    026                    }
    027                }
    028                else if (d1 < 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 (d1 < 0.0D)
    036                {
    037                    if (d1 < -0.3125D)
    038                    {
    039                        return MathHelper.floor_double(par1 * 32.0D);
    040                    }
    041                }
    042                else if (d1 < 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 (d1 > 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 (d1 < 0.0D)
    057                {
    058                    if (d1 < -0.1875D)
    059                    {
    060                        return MathHelper.ceiling_double_int(par1 * 32.0D);
    061                    }
    062                }
    063                else if (d1 < 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 (d1 < 0.0D)
    071                {
    072                    if (d1 < -0.1875D)
    073                    {
    074                        return MathHelper.floor_double(par1 * 32.0D);
    075                    }
    076                }
    077                else if (d1 < 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 (d1 > 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}