Свой рендер для предмета

Версия Minecraft
1.12.2
API
Forge
Как добавить свой рендер для предмета?
В 1.7.10 было так MinecraftForgeClient.registerItemRenderer(item, new IItemRenderer());
Как сделать тоже самое но в 1.12?
 
153
21
41
Есть у нас Item#setTileEntityItemStackRenderer, но рендер TEISR будет только если IBakedModel#isBuiltInRenderer вернет true.
А значит, подписываемся на ModelBakeEvent, ставим нашему предмету правильную модель, и рендерим.

EventListener:
public class EventListener
{
    @SubscribeEvent
    public void onModelRegistry(ModelRegistryEvent event)
    {
        Items.APPLE.setTileEntityItemStackRenderer(new TEISR());
    }

    @SubscribeEvent
    public void onModelBake(ModelBakeEvent event)
    {
        event.getModelRegistry().putObject(new ModelResourceLocation(Items.APPLE.getRegistryName(), "inventory"), new BakedModel());
    }
}

BakedModel:
public class BakedModel implements IBakedModel
{
    @Override
    public boolean isBuiltInRenderer() { return true; }
}


TEISR:
public class TEISR extends TileEntityItemStackRenderer
{
    @Override
    public void renderByItem(ItemStack itemStack, float partialTicks)
    {
        // render.
    }
}
 
153
21
41
Мне этот вариант не подойдет, тут используется IBakedModel, а я использую не их, а свои модели.
Еще как подойдет, тут используется TEISR, который предоставляет все тот же функционал IItemRenderer, но без таскания порта с 1.7 к 1.12.
Посмотри спойлер, если не видел.
 
Сверху