package ru.legendary.lwmod.lwmfarm.item;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemSeeds;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.EnumPlantType;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.util.ForgeDirection;
import ru.legendary.lwmod.lwmfarm.LWMFarm;
import ru.legendary.lwmod.lwmfarm.api.RecipeItemSeedFood;
import ru.legendary.lwmod.lwmfarm.core.ModBlocks;
import ru.legendary.lwmod.lwmfarm.core.ModCreativeTabs;
public class itemCorn extends ItemFood implements IPlantable {
public itemCorn(String name, int parHealAmount, float parSaturationModifier, Block parBlockPlant, Block parSoilBlock) {
super(1, 1.2F, true);
setUnlocalizedName(name);
setTextureName(LWMFarm.MOD_ID + ":itemCorn");
setCreativeTab(ModCreativeTabs.tabLWMFarm);
}
@Override
public boolean onItemUse(ItemStack parItemStack, EntityPlayer parPlayer,
World parWorld, int parX, int parY, int parZ, int par7, float par8,
float par9, float par10)
{
// не уверен, что это делает, скопировал из картофеля
if (par7 != 1)
{
return false;
}
// проверить, если игрок имеет возможность редактировать
else if (parPlayer.canPlayerEdit(parX, parY+1, parZ, par7, parItemStack))
{
// проверить, что почва подходит для блока
// а так же, проверить наличие блока воздуха над ним
if ((parWorld.getBlock(parX, parY, parZ).canSustainPlant(parWorld, parX, parY, parZ, ForgeDirection.UP, this) && parWorld.isAirBlock(parX, parY+1, parZ)) && parWorld.isAirBlock(parX, parY+2, parZ))
{
// помещаем блок саженца
parWorld.setBlock(parX, parY+1, parZ, ModBlocks.blockCornCrop);
// уменьшаем количество семян в руке на одну штуку
--parItemStack.stackSize;
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
//тип растения
@Override
public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z) {
return EnumPlantType.Crop;
}
//какое растенеие сажает
@Override
public Block getPlant(IBlockAccess world, int x, int y, int z) {
return ModBlocks.blockCornCrop;
}
@Override
public int getPlantMetadata(IBlockAccess world, int x, int y, int z) {
return 0;
}
//на какой блок можно сажать
public Block getSoilId()
{
return Blocks.farmland;
}
}