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