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 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}