    001    package net.minecraft.src;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.SideOnly;
    005    import java.util.List;
    006
    007    public class ItemAppleGold extends ItemFood
    008    {
    009        public ItemAppleGold(int par1, int par2, float par3, boolean par4)
    010        {
    011            super(par1, par2, par3, par4);
    012            this.setHasSubtypes(true);
    013        }
    014
    015        @SideOnly(Side.CLIENT)
    016        public boolean hasEffect(ItemStack par1ItemStack)
    017        {
    018            return par1ItemStack.getItemDamage() > 0;
    019        }
    020
    021        @SideOnly(Side.CLIENT)
    022
    023        /**
    024         * Return an item rarity from EnumRarity
    025         */
    026        public EnumRarity getRarity(ItemStack par1ItemStack)
    027        {
    028            return par1ItemStack.getItemDamage() == 0 ? EnumRarity.rare : EnumRarity.epic;
    029        }
    030
    031        protected void func_77849_c(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    032        {
    033            if (par1ItemStack.getItemDamage() > 0)
    034            {
    035                if (!par2World.isRemote)
    036                {
    037                    par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.regeneration.id, 600, 3));
    038                    par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.resistance.id, 6000, 0));
    039                    par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 6000, 0));
    040                }
    041            }
    042            else
    043            {
    044                super.func_77849_c(par1ItemStack, par2World, par3EntityPlayer);
    045            }
    046        }
    047
    048        @SideOnly(Side.CLIENT)
    049
    050        /**
    051         * returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
    052         */
    053        public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
    054        {
    055            par3List.add(new ItemStack(par1, 1, 0));
    056            par3List.add(new ItemStack(par1, 1, 1));
    057        }
    058    }