001    package net.minecraft.item;
002    
003    import net.minecraft.creativetab.CreativeTabs;
004    import net.minecraft.entity.player.EntityPlayer;
005    import net.minecraft.world.World;
006    
007    public class ItemBucketMilk extends Item
008    {
009        public ItemBucketMilk(int par1)
010        {
011            super(par1);
012            this.setMaxStackSize(1);
013            this.setCreativeTab(CreativeTabs.tabMisc);
014        }
015    
016        public ItemStack onFoodEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
017        {
018            if (!par3EntityPlayer.capabilities.isCreativeMode)
019            {
020                --par1ItemStack.stackSize;
021            }
022    
023            if (!par2World.isRemote)
024            {
025                par3EntityPlayer.curePotionEffects(par1ItemStack);
026            }
027    
028            return par1ItemStack.stackSize <= 0 ? new ItemStack(Item.bucketEmpty) : par1ItemStack;
029        }
030    
031        /**
032         * How long it takes to use or consume an item
033         */
034        public int getMaxItemUseDuration(ItemStack par1ItemStack)
035        {
036            return 32;
037        }
038    
039        /**
040         * returns the action that specifies what animation to play when the items is being used
041         */
042        public EnumAction getItemUseAction(ItemStack par1ItemStack)
043        {
044            return EnumAction.drink;
045        }
046    
047        /**
048         * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
049         */
050        public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
051        {
052            par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
053            return par1ItemStack;
054        }
055    }