Проблемы с растением (ItemSeedFood) 1.6.4

Создал растение по свойствам схожее с морковкой, но не получается задать блоком для посадки траву, а не вспаханную землю.
Как я понял данным момент должен задаваться в предмете данным образом "Block.grass.blockID", но растение все равно продолжает сажаться на вспаханную землю. Строка задающая свойства предмета взята из Itema.


Сам предмет в главном классе.
Код:
    public static Item blueberries = (new ItemSeedFood(2480, 2, 0.6F, BaseSteelMod.bush_blueberry.blockID, Block.grass.blockID)).setUnlocalizedName("blueberries").setCreativeTab(BaseSteelMod.Steel).setTextureName(ModInfo.MODID + ":blueberries");

Растение.
Код:
import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockCrops;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.item.Item;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class bush_blueberry extends BlockCrops {
 
    @SideOnly(Side.CLIENT)
    private Icon[] iconArray;
 
    protected bush_blueberry(int id) {
        super(id);
    }
 
    @SideOnly(Side.CLIENT)
 
    public Icon getIcon(int par1, int par2)
    {
        if (par2 < 0 || par2 > 7)
        {
            par2 = 7;
        }

        return this.iconArray[par2];
    }
 
    public int getRenderType()
    {
        return 1;
    }
    
    public boolean canBlockStay(World par1World, int par2, int par3, int par4)
    {
        return par1World.getBlockId(par2, par3-1, par4)==Block.grass.blockID;
    }
 
    public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
    {
        return par1World.getBlockId(par2, par3-1, par4)==Block.grass.blockID;
    }
 
    protected int getSeedItem()
    {
        return BaseSteelMod.blueberries.itemID;
    }
 
    protected int getCropItem()
    {
        return BaseSteelMod.blueberries.itemID;
    }
 
    public int quantityDropped(Random par1Random)
    {
        return 0;
    }
    
    @SideOnly(Side.CLIENT)
 
    public void registerIcons(IconRegister par1IconRegister)
    {
        this.iconArray = new Icon[8];

        for (int i = 0; i < this.iconArray.length; ++i)
        {
            this.iconArray[i] = par1IconRegister.registerIcon(ModInfo.MODID + ":bush_blueberry_" + i);
        }
    }
 
}
 
nickita45 написал(а):
Если я не ошибаюсь,то вспаханая земля и есть земля.
3 минуты поиска
Попробуйте посадить пшеницу на не вспаханную грязь.

Не нашел в видео ответа, возможно из-за плохого знания английского.

Еще раз повторю, на вспаханную грядку у меня все сажается без проблем, я не могу сделать так что бы сажалось на траву.
 
Ох, я бы сказал как можно сделать так, чтобы растение на любой блок становилось, но нужно ли?
 
А у меня так и будет. Надо кастить класс к блоку на который нужно ставить семя. Проблем в том, что у меня 1.7.10
 
Код:
    public boolean canBlockStay(World par1World, int par2, int par3, int par4)
    {
        return par1World.getBlockId(par2, par3-1, par4)==Block.grass.blockID;
    }
 
    public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
    {
        return par1World.getBlockId(par2, par3-1, par4)==Block.grass.blockID;
    }

Поэкспериментируй с этими методами.
 
Плюсую Никиту. Однако если у тебя несколько растений - можно сократить.
 
nickita45 написал(а):
Код:
    public boolean canBlockStay(World par1World, int par2, int par3, int par4)
    {
        return par1World.getBlockId(par2, par3-1, par4)==Block.grass.blockID;
    }
 
    public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
    {
        return par1World.getBlockId(par2, par3-1, par4)==Block.grass.blockID;
    }

Поэкспериментируй с этими методами.

Пока я не задал предмету "ItemSeedFood", все работало как надо, так что у меня подозрение что причина конкретно в предмете, а не в блоке. 

Вообщем то после посадки на вспаханную землю, при изменении соседнего блока, растение пропадает, то есть как я понимаю в блоке все задано верно, что-то не то в самом предмете.
 
Назад
Сверху