    001    package net.minecraft.item;
    002
    003    import net.minecraft.entity.player.EntityPlayer;
    004    import net.minecraft.world.World;
    005
    006    public class ItemSeedFood extends ItemFood
    007    {
    008        /** Block ID of the crop this seed food should place. */
    009        private int cropId;
    010
    011        /** Block ID of the soil this seed food should be planted on. */
    012        private int soilId;
    013
    014        public ItemSeedFood(int par1, int par2, float par3, int par4, int par5)
    015        {
    016            super(par1, par2, par3, false);
    017            this.cropId = par4;
    018            this.soilId = par5;
    019        }
    020
    021        /**
    022         * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return
    023         * True if something happen and false if it don't. This is for ITEMS, not BLOCKS
    024         */
    025        public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
    026        {
    027            if (par7 != 1)
    028            {
    029                return false;
    030            }
    031            else if (par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) && par2EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack))
    032            {
    033                int var11 = par3World.getBlockId(par4, par5, par6);
    034
    035                if (var11 == this.soilId && par3World.isAirBlock(par4, par5 + 1, par6))
    036                {
    037                    par3World.setBlockWithNotify(par4, par5 + 1, par6, this.cropId);
    038                    --par1ItemStack.stackSize;
    039                    return true;
    040                }
    041                else
    042                {
    043                    return false;
    044                }
    045            }
    046            else
    047            {
    048                return false;
    049            }
    050        }
    051    }