Отрисовка картинки через tessellator

Версия Minecraft
1.7.10
API
Forge
Пытаюсь отрисовать картинку - не получается .Подскажите пожалуйста в чём дело
code:
    @SubscribeEvent(priority = EventPriority.LOWEST)
    public void eventHandler(RenderGameOverlayEvent.Post event) throws IOException {
        Minecraft mc = Minecraft.getMinecraft();
        mc.renderEngine.bindTexture(textures);
        if(needRender) {
            GL11.glPushMatrix();
            GL11.glScaled(0.3, 0.1, 0.1);
            mc.getTextureManager().bindTexture(textures);
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV(11,20,31,0.3,0.1);
            tessellator.addVertexWithUV(11,21,31,0.3,0.0);
            tessellator.addVertexWithUV(10,21,31,0.2,0.0);
            tessellator.addVertexWithUV(10,20,31,0.2,0.1);
            tessellator.draw();
            GL11.glPopMatrix();
        }
 
346
25
94
Мне лень разжёвывать, так что просто скопируй и используй вместо всего того, что написал в if (needRender) { ... }

Java:
public void drawTexture(int posX, int posY, int width, int height) {
    GL11.glPushMatrix();
    GL11.glEnable(GL11.GL_BLEND);
    GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
    GL11.glTranslatef((float) posX, (float) posY, 0.0F);
    Tessellator tessellator = Tessellator.instance;
    tessellator.startDrawingQuads();
    tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
    tessellator.addVertexWithUV(0.0D, (double) height, 0.0D, 0.0D, 1.0D);
    tessellator.addVertexWithUV((double) width, (double) height, 0.0D, 1.0D, 1.0D);
    tessellator.addVertexWithUV((double) width, 0.0D, 0.0D, 1.0D, 0.0D);
    tessellator.draw();
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glPopMatrix();
}
 
346
25
94
Оставив привязку текстуры.
Так я ж всё правильно написал, привязка текстуры у него вне проверки делается, а так да, привязку нужно оставить.

UPD: Только заметил, что у него одна и та же текстура дважды привязывается...
 
Подскажите пожалуйста .Что я тут делаю не так .Понимаю что бесят вопросы тупые ,но я задам , ибо не понимаю почему так происходит.
srh:
  if(needRender) {
            GL11.glPushMatrix();
            GL11.glEnable(GL11.GL_BLEND);
            GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
            GL11.glTranslatef((float) posX, (float) posY, 0.0F);
            mc.getTextureManager().bindTexture(textures);
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
            tessellator.addVertexWithUV(0.0D, (double) height, 0.0D, 0.0D, 1.0D);
            tessellator.addVertexWithUV((double) width, (double) height, 0.0D, 1.0D, 1.0D);
            tessellator.addVertexWithUV((double) width, 0.0D, 0.0D, 1.0D, 0.0D);
            tessellator.draw();
            GL11.glDisable(GL11.GL_BLEND);
            GL11.glPopMatrix();
        }
 
27
1
1
вот так
Java:
public void drawTexture(int posX, int posY, int width, int height) {
    GL11.glPushMatrix();
    GL11.glEnable(GL11.GL_BLEND);
    GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
    GL11.glTranslatef((float) posX, (float) posY, 0.0F);
    Tessellator tessellator = Tessellator.instance;
    tessellator.startDrawingQuads();
    tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
    tessellator.addVertexWithUV(0.0D, (double) height, 0.0D, 0.0D, 1.0D);
    tessellator.addVertexWithUV((double) width, (double) height, 0.0D, 1.0D, 1.0D);
    tessellator.addVertexWithUV((double) width, 0.0D, 0.0D, 1.0D, 0.0D);
    tessellator.draw();
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glPopMatrix();
}

mc.getTextureManager().bindTexture(textures);
drawTexture(100,100,100,100)
 
346
25
94
Что я тут делаю не так
Абсолютно всё. Я тебе дал готовый метод, тебе нужно было скопировать его полностью, а не только тело. Изменять никак не нужно. Вызов максимально простой:
Java:
if (needRender) {
    mc.getTextureManager().bindTexture(textures);
    drawTexture(posX, posY, width, height)
}
 
Сверху