Метахавка на коленке.

Версия Minecraft
1.12.2
5,018
47
783
Сидел я в общем, и захотелось прям чет код пописать. Захотелось запилить предметы метадатой. Сделал я значит класс с массивом имен, сделал класс регистрации, но почему то крашит. Последнее, на что указал мне умирающий фордж, это строчка с ItemReg.register(); в проксиклиенте.
Это класс регистрации
Java:
public static String[] names = new String[] {"raspberry","strawberry"};
public static int numbers = names.length;
public static Item metafood = new MetaFoods(names, numbers);
public static void register() {
        registerItem(metafood);
    }
    public static void registerRender() {
        registerRenderItem(metafood);
    }
    private static void registerItem(Item item) {
        ForgeRegistries.ITEMS.register(item);
    }
    private static void registerRenderItem(Item item)
    {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
    }

А это класс метахавки
Код:
public class MetaFoods extends Item{
    public MetaFoods(String[] name,int number) {
        this.setHasSubtypes(true);
        this.setRegistryName(name[number]);
        this.setCreativeTab(MainClass.tabMain);
        this.setUnlocalizedName(name[number]);
    }
    public boolean getHasSubtypes()
    {
        return this.hasSubtypes;
    }
   
   
}
Чет не пойму, где ошибка то?
Субтипы включил даже :\
 
5,018
47
783
Переопределил, ничего не изменилось. Что то при регистрации еще надо делать, я не помню только что...
 

Icosider

Kotliner
Администратор
3,600
99
663
Переопределил, ничего не изменилось. Что то при регистрации еще надо делать, я не помню только что...
getSubItems нужен. В лист добавляешь стак, в стаке указываешь метадату и все.
 
5,018
47
783
getSubItems нужен. В лист добавляешь стак, в стаке указываешь метадату и все.
Так, да?

Java:
public class MetaFoods extends Item{
    public MetaFoods(String[] name,int number) {
        this.setHasSubtypes(true);
        this.setRegistryName(name[number]);
        this.setCreativeTab(MainClass.tabMain);
        this.setUnlocalizedName(name[number]);
        
    }
    public boolean getHasSubtypes()
    {
        return this.hasSubtypes;
    }
    public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items)
    {
        for(int i = 0; i < 3; i++)
            items.add(new ItemStack(this, i));
    }

    
}
 
5,018
47
783
5,018
47
783
Ага... Теперь бы как нибудь блоки похожим образом можно делать, не знаете?
 
3,005
192
592
Переопределить это же, но у ItemBlock, и при реге применить блоку этот ItemBlock.
 
5,018
47
783
Сверху