Metadata неверные иконки

Заткнулся на неверном отображении иконок в креативном меню и в руках но при установке блока отображается верная текстурка
вот код
Код:
package com.bmg.fence.meta;

import java.util.List;

import com.bmg.door.ModDoors;
import com.bmg.tabs.TMCreativeTabs;

import net.minecraft.block.Block;
import net.minecraft.block.BlockFence;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class MetaFence extends BlockFence
{

    public static String[] type = new String[] {"block1", "block2", "block3", "block4", "block5", "block6", "block7", "block8", "block9", "block10", "block11", "block12", "block13", "block14", "block15", "block16"};
    private IIcon Icon1,Icon2,Icon3,Icon4,Icon5,Icon6,Icon7, Icon8, Icon9, Icon10, Icon11, Icon12, Icon13, Icon14, Icon15, Icon16;

    public MetaFence(String unlocalizedName)
    {
        super(unlocalizedName, Material.rock);
        this.setCreativeTab(TMCreativeTabs.tabBlock);
        this.setBlockName(unlocalizedName);
        }

    
    public int getMetadata(int metadata)
    {
        return metadata;
    }

    
    public void registerBlockIcons(IIconRegister iconregister)
    {
        Icon1 = iconregister.registerIcon("bmg:basic/bricks/brick_black");
        Icon2 = iconregister.registerIcon("bmg:basic/bricks/brick_brown");
        Icon3 = iconregister.registerIcon("bmg:basic/bricks/brick_cyan");
        Icon4 = iconregister.registerIcon("bmg:basic/bricks/brick_gray");
        Icon5 = iconregister.registerIcon("bmg:basic/bricks/brick_green");
        Icon6 = iconregister.registerIcon("bmg:basic/bricks/brick_lasurite");
        Icon7 = iconregister.registerIcon("bmg:basic/bricks/brick_lightblue");
        Icon8 = iconregister.registerIcon("bmg:basic/bricks/brick_lime");
        Icon9 = iconregister.registerIcon("bmg:basic/bricks/brick_magenta");
        Icon10 = iconregister.registerIcon("bmg:basic/bricks/brick_orange");
        Icon11 = iconregister.registerIcon("bmg:basic/bricks/brick_pink");
        Icon12 = iconregister.registerIcon("bmg:basic/bricks/brick_purple");
        Icon13 = iconregister.registerIcon("bmg:basic/bricks/brick_red");
        Icon14 = iconregister.registerIcon("bmg:basic/bricks/brick_silver");
        Icon15 = iconregister.registerIcon("bmg:basic/bricks/brick_white");
        Icon16 = iconregister.registerIcon("bmg:basic/bricks/brick_yellow");
    }

    @SideOnly(Side.CLIENT)
    public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
    {
        for(int metadata = 0; metadata < type.length; metadata++)
        {
            list.add(new ItemStack(item, 1, metadata));
        }
    }

    @SideOnly(Side.CLIENT)
    public IIcon getIcon(int side, int metadata)
    {
        switch(metadata)
        {
        case 0:
            return Icon1;
        case 1:
            return Icon2;
        case 2:
            return Icon3;
        case 3:
            return Icon4;
        case 4:
            return Icon5;
        case 5:
            return Icon6;
        case 6:
            return Icon7;
        case 7:
            return Icon8;
        case 8:
            return Icon9;
        case 9:
            return Icon10;
        case 10:
            return Icon11;
        case 11:
            return Icon12;
        case 12:
            return Icon13;
        case 13:
            return Icon14;
        case 14:
            return Icon15;
        case 15:
            return Icon16;
        default:
            return blockIcon;
        }
    }

    public int damageDropped(int metadata)
    {
        return metadata;
    }


    public String getUnlocalizedName(ItemStack stack)
    {
        int metadata = stack.getItemDamage();
        if(metadata > type.length || metadata < 0)
        {
            metadata = 0;
        }
        return super.getUnlocalizedName() + "." + type[metadata];
    }
    

    public void onBlockClicked(World w, int x, int y, int z, EntityPlayer p)
    {
    }

    public boolean canConnectFenceTo(IBlockAccess p_149826_1_, int p_149826_2_, int p_149826_3_, int p_149826_4_)
    {
/*  42*/        Block block = p_149826_1_.getBlock(p_149826_2_, p_149826_3_, p_149826_4_);
/*  43*/        Material bol = block.getMaterial();
/*  44*/        return block == this || block == Blocks.fence_gate ? true : !bol.isOpaque() || !block.renderAsNormalBlock() ? block == ModDoors.armouredFenceGate : bol != Material.gourd;
    }
    

    }
 
Почему тогда при замене на public class MetaFence extends Block
кубы нормально показываются без этой проблемы?
 
Пересмотрел массивы перепробовал несколько вариаций невышло решилось добавлением рендера забора может чтото не там смотрел?
 
Назад
Сверху