[1.7.10] Использование одного id у предметов

Версия Minecraft
1.7.10
15
0
Здравствуйте уважаемые участники форума. С прошлым вопросом разобрались, теперь начинаю играться с Item'ами. Я создал кучу предметов, но так как у меня куча предметов 1 типа, например Фотоэлементы, хочется сделать их 1 айди, но разных под типов, типо 940:1 - фотоэлемент первого, 940:4 - фотоэлемент четвертого. Прому помочь :3
 
Решение
Метадата называется

Java:
public class ItemGlowstoneDusts extends Item
{
    public static String[] names = 
        { 
                "CeresGlowstoneDust",         //0 
                "IoGlowstoneDust"              //1
                //"EnceladusGlowstoneDust",     //2
                //"ProteusGlowstoneDust",     //3
                //"PlutoGlowstoneDust"         //4
        };
    protected IIcon[] icons = new IIcon[ItemGlowstoneDusts.names.length];

    public ItemGlowstoneDusts()
    {
        super();
        this.setMaxDamage(0);
        this.setHasSubtypes(true);
        this.setMaxStackSize(64);
        this.setUnlocalizedName("GlowstoneDusts");
    }

    @SideOnly(Side.CLIENT)
    @Override
    public CreativeTabs...
1,057
50
234
Метадата называется

Java:
public class ItemGlowstoneDusts extends Item
{
    public static String[] names = 
        { 
                "CeresGlowstoneDust",         //0 
                "IoGlowstoneDust"              //1
                //"EnceladusGlowstoneDust",     //2
                //"ProteusGlowstoneDust",     //3
                //"PlutoGlowstoneDust"         //4
        };
    protected IIcon[] icons = new IIcon[ItemGlowstoneDusts.names.length];

    public ItemGlowstoneDusts()
    {
        super();
        this.setMaxDamage(0);
        this.setHasSubtypes(true);
        this.setMaxStackSize(64);
        this.setUnlocalizedName("GlowstoneDusts");
    }

    @SideOnly(Side.CLIENT)
    @Override
    public CreativeTabs getCreativeTab()
    {
        return GSCreativeTabs.GSItemsTab;
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void registerIcons(IIconRegister iconRegister)
    {
        int i = 0;

        for (String name : ItemGlowstoneDusts.names)
        {
            this.icons[i++] = iconRegister.registerIcon(GalaxySpace.ASSET_PREFIX + ":" + "glowstonedusts/" + name);
        }
    }

    @Override
    public IIcon getIconFromDamage(int damage)
    {
        if (this.icons.length > damage)
        {
            return this.icons[damage];
        }

        return super.getIconFromDamage(damage);
    }

    @SuppressWarnings({ "unchecked", "rawtypes" })
    @Override
    public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List)
    {
        for (int i = 0; i < ItemGlowstoneDusts.names.length; i++)
        {
            par3List.add(new ItemStack(par1, 1, i));
        }
    }

    @Override
    public String getUnlocalizedName(ItemStack par1ItemStack)
    {
        if (this.icons.length > par1ItemStack.getItemDamage())
        {
            return "item." + ItemGlowstoneDusts.names[par1ItemStack.getItemDamage()];
        }

        return "unnamed";
    }

    @Override
    public int getMetadata(int par1)
    {
        return par1;
    }

}
 
Сверху