Только 3 из 4 стадий у растения.

476
9
39
У кастномного растения только 3 их 4 стадий :/
Блок
Код:
    import net.minecraft.block.Block;
import net.minecraft.block.BlockCrops;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import ru.unirevivalworld.talosdx.revivalapi.ModInfo;
import ru.unirevivalworld.talosdx.revivalapi.resource.ItemList;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

    public class VechniumPlant extends BlockCrops {

        private Icon[] iconArray;

        public VechniumPlant(int id) {
            super(id);
        }

        @SideOnly(Side.CLIENT)

        public Icon getIcon(int par1, int par2)
        {
            if (par2 < 0 || par2 > 3)
            {
                par2 = 3;
            }

            return this.iconArray[par2];
        }
        


        public boolean canBlockStay(World par1World, int par2, int par3, int par4)
        {
            return par1World.getBlockId(par2, par3-1, par4)==Block.obsidian.blockID;
        }

        public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
        {
            return par1World.getBlockId(par2, par3-1, par4)==Block.obsidian.blockID;
        }

        protected int getSeedItem()
        {
            return ItemList.vechniumSeeds.itemID;
        }

        protected int getCropItem()
        {
            return ItemList.vechniumFragment.itemID;
        }

        @SideOnly(Side.CLIENT)

        public void registerIcons(IconRegister par1IconRegister)
        {
            this.iconArray = new Icon[4];

            for (int i = 0; i < this.iconArray.length; ++i)
            {
                this.iconArray[i] = par1IconRegister.registerIcon(ModInfo.MODID + ":vechniumplant_stage_" + i);
            }
        }

    }

Итем:
Код:
import java.util.List;

import ru.unirevivalworld.talosdx.revivalapi.ModInfo;
import ru.unirevivalworld.talosdx.revivalapi.resource.BlockList;
import ru.unirevivalworld.talosdx.revivalapi.resource.gui.RevivalTab;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemReed;
import net.minecraft.item.ItemStack;

    public class VechniumSeeds extends ItemReed {

        public VechniumSeeds(int par1) {
            super(par1, BlockList.vechniumPlant);
            this.setCreativeTab(RevivalTab.tabRevivalapi);
        }

        @SideOnly(Side.CLIENT)
        public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par2List, boolean par4)
        {
        par2List.add("\u00A77" + I18n.getString("tooltip.item.vechniumSeeds"));
        }
        
        @SideOnly(Side.CLIENT)
        public boolean hasEffect(ItemStack par1ItemStack)
        {
            return true;
        }
        
        @Override

        public void registerIcons(IconRegister par1IconRegister)
        {
         this.itemIcon = par1IconRegister.registerIcon(ModInfo.MODID + ":vechniumSeeds");
        }

    }
 
Попробуй заменить метод getIcon на вот этот правильный:

Код:
public Icon getIcon(int par1, int par2)
        {
            if (par2 < 0 || par2 > 4)
            {
                par2 = 4;
            }

            return this.iconArray[par2];
        }
 
Ничего не изменилось.
image.png

Стадий 4 на самом деле.
 
Замени свой getIcon на этот.

 public Icon getIcon(int side, int meta) {
         if(iconArray[meta] != null) 
            return iconArray[meta];
        }
 
Dragon2488 написал(а):
Замени свой getIcon на этот.

 public Icon getIcon(int side, int meta) {
         if(iconArray[meta] != null) 
            return iconArray[meta];
        }
Эффект нулевой текстурки есть. Поправка, первой стадии нету, нулевая, вторая и третья есть, всего стадий 4.
[merge_posts_bbcode]Добавлено: 07.09.2014 23:28:02[/merge_posts_bbcode]

Так же 3 стадия(заключительная) начинается на ~43 процентах, как вариант думаю прикрутить ещё пару текстур. Сейчас попробую, отпишусь.

[merge_posts_bbcode]Добавлено: 07.09.2014 23:38:37[/merge_posts_bbcode]

Нифига, добавил ещё стадий пропускает первую, перескакивает сразу на последнюю.
 
Не работало, из-за того, что я случайно удалил библиотеку и майн компилился по старым исходникам. 
Всем спасибо. Писец просто. =_=
 
Оба представленных метода выше неверны, вот верный:
Код:
       public Icon getIcon(int side, int meta) {
           if(meta < 7){
               if(meta == 6){
                   meta = 5;
               }
               return iconArray[meta >> 1];
           }
        return iconArray[3];
          }
 
Назад
Сверху