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

Версия Minecraft
1.11.2
1,015
9
102
Как по-своему рендрить какой-то конкретный предмет в руке игрока? Можно ли на какой-либо части предмета зарендрить GUI? (Хотя бы текст) Так же как узнать куда наведена мышка игрока (на какой полигон или на какую его координату)?
 
1,015
9
102
Странно, но у меня почему-то полигон выше игрока не рендрится
Код:
    @SubscribeEvent
    public void renderItem(RenderSpecificHandEvent e){
        if (e.getItemStack().getItem() == ModItems.book && e.getHand() == EnumHand.MAIN_HAND){
            double x_fix = -(mc.player.lastTickPosX + (mc.player.posX - mc.player.lastTickPosX) * e.getPartialTicks());
            double y_fix = -(mc.player.lastTickPosY + (mc.player.posY - mc.player.lastTickPosY) * e.getPartialTicks());
            double z_fix = -(mc.player.lastTickPosZ + (mc.player.posZ - mc.player.lastTickPosZ) * e.getPartialTicks());
            Tessellator tes = Tessellator.getInstance();
            VertexBuffer buf = tes.getBuffer();
            Vec3d pos = mc.player.getPositionVector();
            GL11.glPushMatrix();
            GlStateManager.disableTexture2D();
            GL11.glTranslated(x_fix, y_fix, z_fix);
            //GL11.glRotated(180, 0,0, 1); Пробовал с и без поворота

            buf.begin(GL11.GL_POLYGON, DefaultVertexFormats.POSITION_COLOR);
            buf.pos(0, 2, 0).color(0, 1, 0, 1).endVertex();
            buf.pos(0, 2, 1).color(0, 1, 0, 1).endVertex();
            buf.pos(1, 2, 1).color(0, 1, 0, 1).endVertex();
            buf.pos(1, 2, 0).color(0, 1, 0, 1).endVertex();
            tes.draw();

            GlStateManager.enableTexture2D();
            GL11.glPopMatrix();
            e.setCanceled(true);
        }
    }
 
Сверху