    001    package net.minecraft.item;
    002
    003    import net.minecraft.creativetab.CreativeTabs;
    004    import net.minecraft.entity.EntityLiving;
    005    import net.minecraft.entity.passive.EntityPig;
    006
    007    public class ItemSaddle extends Item
    008    {
    009        public ItemSaddle(int par1)
    010        {
    011            super(par1);
    012            this.maxStackSize = 1;
    013            this.setCreativeTab(CreativeTabs.tabTransport);
    014        }
    015
    016        /**
    017         * dye sheep, place saddles, etc ...
    018         */
    019        public boolean itemInteractionForEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving)
    020        {
    021            if (par2EntityLiving instanceof EntityPig)
    022            {
    023                EntityPig var3 = (EntityPig)par2EntityLiving;
    024
    025                if (!var3.getSaddled() && !var3.isChild())
    026                {
    027                    var3.setSaddled(true);
    028                    --par1ItemStack.stackSize;
    029                }
    030
    031                return true;
    032            }
    033            else
    034            {
    035                return false;
    036            }
    037        }
    038
    039        /**
    040         * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise
    041         * the damage on the stack.
    042         */
    043        public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving)
    044        {
    045            this.itemInteractionForEntity(par1ItemStack, par2EntityLiving);
    046            return true;
    047        }
    048    }