Tessellator. Рендер любого изображения в GUI/Где угодно. [РЕШЕНО]

318
12
Доброго времени суток уважаемые форумачани, давно я не заглядывал на форум, но пришлось)
Сам код то хорошо работает, но когда майн развернуть на весь экран то картинка исчезает. То есть она подпрыгивает.. что с этим делать? Не подскажете? Спасибо всем..
Код:
        int w = 295;
        int h = 75;
        int x = this.width - w - 10;
        int y = 34;
        
        Tessellator tessellator = Tessellator.instance;
        ResourceLocation skin = new ResourceLocation("xmodmenu", "textures/gui/wasted.png");
        Minecraft.getMinecraft().getTextureManager().bindTexture(skin);
        
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(x, h, 0.0D, 0.0D, 1.0D);
        tessellator.addVertexWithUV(0 + w, 0 + h, 0.0D, 1.0D, 1.0D);
        tessellator.addVertexWithUV(0 + w, y, 0.0D, 1.0D, 0.0D);
        tessellator.addVertexWithUV(x, y, 0.0D, 0.0D, 0.0D);
        tessellator.draw();
 
Liahim написал(а):
Может тебе от середины плясать?
Код из ванильной печки:
Код:
int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2;

Ну а с этими величинами уже работать.
Вообще не рендерит не на малом/большом расширении экрана :(
 
Решено!
Код:
        int w = 152;
        int h = 40;
        int y = 34;
        int x = (this.width - w) / 2;

        ResourceLocation skin = new ResourceLocation("xmodmenu", "textures/gui/1wasted.png");
        Minecraft.getMinecraft().getTextureManager().bindTexture(skin);
  
        drawTexturedQuadFit(x,y,w,h,0);

    public static void drawTexturedQuadFit(double x,double y,double width,double height,double zLevel){
        Tessellator tessellator = Tessellator.instance;
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(x + 0, y + height, zLevel, 0, 1);
        tessellator.addVertexWithUV(x + width, y + height, zLevel, 1, 1);
        tessellator.addVertexWithUV(x + width, y + 0, zLevel, 1, 0);
        tessellator.addVertexWithUV(x + 0, y + 0, zLevel, 0, 0);
        tessellator.draw();
   }
 
Liahim написал(а):
И в чом разница?
Сначала забиндил текстуру, а потом вызвал тесселятор?
Я без понятия)
Не врубаюсь просто вообще в тесселятор, я просто нашел вот этот кусок кода где то на форуме и заюзал - заработало. Выложил сюда.
 
Назад
Сверху