Рендер трехмерного объекта на 1.16.4

Версия Minecraft
1.16.4
API
Forge
205
12
103
Вечер добрый. Возникла необходимость отрендерить свою текстуру подобно тому, как рендерится итемстак при вызове через Minecraft.getInstance().getItemRenderer().renderItem(), т.е. с эффектом глубины объекта шириной в один "игровой пиксель". В точности как у энтити дропа:
1610912596926.png

На данный момент я могу рендерить плоскую двухстроннюю текстурку путем натягивания вертексов, чем уже похвастался:
1610912685587.png

Но, как можно заметить, такого нужного мне эффекта глубины здесь нет и подавно. Потому я решил попробовать следующий код, полностью слизанный с рендера твайлайта за одним небольшим отличием - я делаю это без слоев, т.е. рендерю прямо в соответствующем методе отрисовки куриоса:
Java:
    public static final ModelResourceLocation LOC = new ModelResourceLocation(new ResourceLocation(Reference.MODID, "models/item/shield"), "inventory");
    private static final Direction[] DIRS = ArrayUtils.add(Direction.values(), null);
    private static final Random RAND = new Random();

    @Override
    public void render(String identifier, int index, MatrixStack matrixStack, IRenderTypeBuffer renderTypeBuffer, int light, LivingEntity livingEntity, float limbSwing,
                       float limbSwikngAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, ItemStack stack) {
        IVertexBuilder builder = renderTypeBuffer.getBuffer(RenderType.getEntityCutoutNoCull(TEXTURE));
        int charges = NBTUtils.getInt(stack, TAG_CHARGE_AMOUNT, 0);
        if (charges > 0) {
            for (int i = 0; i < charges; i++) {
                matrixStack.push();
                matrixStack.translate(0.0, 1.0, 0);
                matrixStack.scale(1.75F, -1.75F, 1.75F);
                matrixStack.rotate(Vector3f.ZP.rotationDegrees((MathHelper.cos(livingEntity.ticksExisted / 10.0F) / 7.0F) * (180F / (float) Math.PI)));
                matrixStack.rotate(Vector3f.YP.rotationDegrees((livingEntity.ticksExisted / 10.0F) * (180F / (float) Math.PI) + (i * (360F / charges))));
                matrixStack.rotate(Vector3f.XP.rotationDegrees((MathHelper.sin(livingEntity.ticksExisted / 10.0F) / 7.0F) * (180F / (float) Math.PI)));
                matrixStack.translate(0F, 0F, -0.5F);
                IBakedModel model = Minecraft.getInstance().getModelManager().getModel(LOC);
                for (Direction dir : DIRS) {
                    RAND.setSeed(42L);
                    Minecraft.getInstance().getItemRenderer().renderQuads(
                            matrixStack,
                            renderTypeBuffer.getBuffer(Atlases.getTranslucentCullBlockType()),
                            model.getQuads(null, dir, RAND, EmptyModelData.INSTANCE),
                            ItemStack.EMPTY,
                            0xF000F0,
                            OverlayTexture.NO_OVERLAY);
                }
//                addVertexPoint(builder, matrixStack.getLast().getMatrix(), matrixStack.getLast().getNormal(), light, 0.0F, 0, 0, 1);
//                addVertexPoint(builder, matrixStack.getLast().getMatrix(), matrixStack.getLast().getNormal(), light, 1.0F, 0, 1, 1);
//                addVertexPoint(builder, matrixStack.getLast().getMatrix(), matrixStack.getLast().getNormal(), light, 1.0F, 1, 1, 0);
//                addVertexPoint(builder, matrixStack.getLast().getMatrix(), matrixStack.getLast().getNormal(), light, 0.0F, 1, 0, 0);
                matrixStack.pop();
            }
        }

        ICurio.RenderHelper.translateIfSneaking(matrixStack, livingEntity);
        ICurio.RenderHelper.rotateIfSneaking(matrixStack, livingEntity);
        matrixStack.scale(0.35F, 0.35F, 0.35F);
        matrixStack.translate(0.0F, 0.3F, -0.4F);
        matrixStack.rotate(Direction.DOWN.getRotation());
        Minecraft.getInstance().getItemRenderer()
                .renderItem(new ItemStack(ItemRegistry.REFLECTION_NECKLACE.get()), ItemCameraTransforms.TransformType.NONE, light, OverlayTexture.NO_OVERLAY,
                        matrixStack, renderTypeBuffer);
    }

На выходе имею следующую штуку:
1610912826479.png

Ни одного сообщения в логах о том, что у меня отсутствует какая-то текстурка или моделька, связанная с этим щитом, я не нашел. Потому степень недоумевания возрастает в соответствующей геометрической прогрессии.

Вопрос:
Как же мне можно добиться вот этого эффекта глубины, не регистрируя предмета? Я многократно пытался парсить ванильный код рендера предмета, но для меня он настолько сложен в понимании, что разобрать я его попросту не могу.
 
Сверху