О рендере при созданиии мода.

Версия Minecraft
1.12.2
21
1
Учусь создавать моды. Сделал предмет. С рендером всё было нормально. После добавления текстуры и модели предмета я наблюдаю такую вот картину:
 

Вложения

  • 2018-06-17_14.56.14.png
    2018-06-17_14.56.14.png
    136.3 KB · Просмотры: 24
Решение
В классе ItemsRegister вот эта часть кода не правильная:
Java:
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(PMONEY, 0, new ModelResourceLocation(PMONEY.getRegistryName(), "inventory"));
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(PBNOTE, 0, new ModelResourceLocation(PBNOTE.getRegistryName(), "inventory"));
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(SANDWICH, 0, new ModelResourceLocation(SANDWICH.getRegistryName(), "inventory"));
}
Java:
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
Ты пытаешься присвоить рендер каждому предмету отдельно...
21
1
Возможно кривовато зарегистрирован рендер. Код классов клиентского прокси, регистра предметов и самого предмета в студию!
Модель обычная, плоская. Текстура 16х16. Вот код файла с регистрацией предметов, мне кажется, в нём что-то не так:
==============================================================================================
Java:
public class ItemsRegister

{

    public static Item PMONEY = new PackMoney("pmoney");

    public static Item PBNOTE = new PackBanknote("pbnote");

    public static Item SANDWICH = new Sandwich("sandwich", 1, 0.5F, false);



    public static void register()

    {

        setRegister(PMONEY);

        setRegister(PBNOTE);

        setRegister(SANDWICH);

    }



    @SideOnly(Side.CLIENT)

    public static void registerRender()

    {

        setRender(PMONEY);

        setRender(PBNOTE);

        setRender(SANDWICH);

    }



    private static void setRegister(Item item)

    {

        ForgeRegistries.ITEMS.register(item);

    }



    @SideOnly(Side.CLIENT)

    private static void setRender(Item item)

    {

        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(PMONEY, 0, new ModelResourceLocation(PMONEY.getRegistryName(), "inventory"));

        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(PBNOTE, 0, new ModelResourceLocation(PBNOTE.getRegistryName(), "inventory"));

        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(SANDWICH, 0, new ModelResourceLocation(SANDWICH.getRegistryName(), "inventory"));

    }

}

==============================================================================================

А вот клиентский прокси:

===============================================================================================

public class ClientProxy extends CommonProxy

{

    @Override

    public void preInit(FMLPreInitializationEvent event)

    {

        super.preInit(event);

    }



    @Override

    public void init(FMLInitializationEvent event)

    {

        super.init(event);

        ItemsRegister.registerRender();

    }



    @Override

    public void postInit(FMLPostInitializationEvent event)

    {

        super.postInit(event);

    }

}

===============================================================================================

Вот код предмета, из-за которого появилась ошибка:

===============================================================================================

public class PackMoney extends Item

{

    public PackMoney(String name)

    {

        this.setRegistryName("pmoney");

        this.setUnlocalizedName("Money");

        this.setCreativeTab(CreativeTabs.MATERIALS);

    }

}

===============================================================================================

Ну и вот код модели, но с ней всё норм:

==============================================================================================

{

  "parent": "item/generated",

  "textures": {

    "layer0": "tameetpack:items/pmoney"

  }

}
==============================================================================================
А вот иерархия файлов, если нужно:
Безымянный.png
 
Последнее редактирование модератором:
1,031
19
87
В классе ItemsRegister вот эта часть кода не правильная:
Java:
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(PMONEY, 0, new ModelResourceLocation(PMONEY.getRegistryName(), "inventory"));
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(PBNOTE, 0, new ModelResourceLocation(PBNOTE.getRegistryName(), "inventory"));
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(SANDWICH, 0, new ModelResourceLocation(SANDWICH.getRegistryName(), "inventory"));
}
Java:
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
Ты пытаешься присвоить рендер каждому предмету отдельно, что вызывает конфликты, тогда как в оригинале данный отрывок кода указывает на рендер для всех предметов, и в нём не нужно ничего менять, только не забыть импорты.
 
Сверху