Рендер своих полигонов в рендере Блок Энтити.

Версия Minecraft
1.17.1
API
Fabric
Захотел сделать провода как в Immersive Engineering, взял код от поводка, но все никак не могу понять, как зарендерить полигон. Все перепробовал, полигон не появляется

Пример Кода:
    @Override
    public void render(RenderTestBlockEntity entity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay) {
    matrices.push();

        BlockPos pos = entity.getPos();

        double startX = pos.getX();
        double startY = pos.getY()+0.5;
        double startZ = pos.getZ();


        matrices.translate(startX, startY, startZ);
        float lengthX = 3;
        float lengthY = 0;
        float lengthZ = 4;

        BlockPos pos2 = new BlockPos(startX + lengthX, startY + lengthY, startZ + lengthZ);
        VertexConsumer vertexConsumer = vertexConsumers.getBuffer(RenderLayer.getEntityCutout(TEXTURE));

        MatrixStack.Entry entry = matrices.peek();
        Matrix4f matrix4f = entry.getModel();
        Matrix3f matrixNormal = entry.getNormal();

       //float m = 0.025F;
        float XZLengthInv = MathHelper.fastInverseSqrt(lengthX * lengthX + lengthZ * lengthZ) * 0.025F / 2.0F;
        float sinOfX_XZ = lengthZ * XZLengthInv;
        float cosOfX_XZ = lengthX * XZLengthInv;


        int u;

        renderFace(matrix4f, matrixNormal, vertexConsumer, 1, 1, 1, 1,
                (float) startX, (float)startY, (float)startZ,(float)startX+2,
                (float)startY+2, (float)startZ+2,
                0, 0, 1, 1, light);

        for(u = 0; u <= 24; ++u) {
           // renderLeashPiece(vertexConsumer, matrix4f, lengthX, lengthY, lengthZ,
           //         light, 0.025F, 0.025F, sinOfX_XZ, cosOfX_XZ, u, overlay ,false);
        }

        for(u = 24; u >= 0; --u) {
           // renderLeashPiece(vertexConsumer, matrix4f, lengthX, lengthY, lengthZ,
           //         light, 0.025F, 0.0F, sinOfX_XZ, cosOfX_XZ, u,overlay ,true);
        }
    matrices.pop();
    }

методы:
    private static void renderFace(Matrix4f modelMatrix, Matrix3f normalMatrix, VertexConsumer vertices,
                                   float red, float green, float blue, float alpha, float x1,float y1, float z1,
                                   float x2,float y2 ,float z2, float u1,
                                   float u2, float v1, float v2, int light){
        createVertex(modelMatrix, normalMatrix, vertices, red, green, blue, alpha, x1, y1, z1, u2, v1, light);
        createVertex(modelMatrix, normalMatrix, vertices, red, green, blue, alpha, x1, y2, z1, u2, v2, light);
        createVertex(modelMatrix, normalMatrix, vertices, red, green, blue, alpha, x2, y2, z2, u1, v2, light);
        createVertex(modelMatrix, normalMatrix, vertices, red, green, blue, alpha, x2, y1, z2, u1, v1, light);
    }
    private static void createVertex(Matrix4f modelMatrix, Matrix3f normalMatrix, VertexConsumer vertices,
                                     float red, float green, float blue, float alpha,
                                     float x, float y, float z, float u, float v, int light){
        vertices.vertex(modelMatrix, x, (float)y, z).color(red, green, blue, alpha).texture(u, v)
                .overlay(OverlayTexture.DEFAULT_UV).light(light)
                .normal(normalMatrix, 0.0F, 1.0F, 0.0F).next();
    }
 
Сверху