drawTexturedModalRect растяжение текстуры не в зависимости от исходного размера. [UV map]

Версия Minecraft
1.6.4
Hi, народ давно к вам не обращался, мне нужна помощь можно ли в методе drawTexturedModalRect сделать так чтобы текстура например полоса имеет исходный размер в файле 10x50, а мне нужно чтобы она на экране отображалась на пример 10x100 не дублируя изображение каждый раз и не меняя само расположение ибо выйдет мусор, или для того чтобы реализовать это нужно писать отдельный метод ?!
 
Решение
В классе GUI должен быть метод для отрисовки текстуры с заданным размером, ты можешь задать в нём желаемый размер и текстура будет подогнана.

Если нет, то вот:

Java:
    public static void drawCustomSizedTexturedRect(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight) {
        
        float f = 1.0F / (float) textureWidth;
        float f1 = 1.0F / (float) textureHeight;
        
        Tessellator tessellator = Tessellator.instance;
        
        tessellator.startDrawingQuads();
        
        tessellator.addVertexWithUV((double) (x), (double) (y + height), 0, (double) ((float) (u) * f), (double) ((float) (v + height) * f1));
        tessellator.addVertexWithUV((double) (x + width), (double)...
243
28
202
В классе GUI должен быть метод для отрисовки текстуры с заданным размером, ты можешь задать в нём желаемый размер и текстура будет подогнана.

Если нет, то вот:

Java:
    public static void drawCustomSizedTexturedRect(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight) {
        
        float f = 1.0F / (float) textureWidth;
        float f1 = 1.0F / (float) textureHeight;
        
        Tessellator tessellator = Tessellator.instance;
        
        tessellator.startDrawingQuads();
        
        tessellator.addVertexWithUV((double) (x), (double) (y + height), 0, (double) ((float) (u) * f), (double) ((float) (v + height) * f1));
        tessellator.addVertexWithUV((double) (x + width), (double) (y + height), 0, (double) ((float) (u + width) * f), (double) ((float) (v + height) * f1));
        tessellator.addVertexWithUV((double) (x + width), (double) (y), 0, (double) ((float) (u + width) * f), (double) ((float) (v) * f1));
        tessellator.addVertexWithUV((double) (x), (double) (y), 0, (double) ((float) (u) * f), (double) ((float) (v) * f1));
        
        tessellator.draw();
    }
 
382
2
24
В классе GUI должен быть метод для отрисовки текстуры с заданным размером, ты можешь задать в нём желаемый размер и текстура будет подогнана.

Если нет, то вот:

Java:
    public static void drawCustomSizedTexturedRect(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight) {
       
        float f = 1.0F / (float) textureWidth;
        float f1 = 1.0F / (float) textureHeight;
       
        Tessellator tessellator = Tessellator.instance;
       
        tessellator.startDrawingQuads();
       
        tessellator.addVertexWithUV((double) (x), (double) (y + height), 0, (double) ((float) (u) * f), (double) ((float) (v + height) * f1));
        tessellator.addVertexWithUV((double) (x + width), (double) (y + height), 0, (double) ((float) (u + width) * f), (double) ((float) (v + height) * f1));
        tessellator.addVertexWithUV((double) (x + width), (double) (y), 0, (double) ((float) (u + width) * f), (double) ((float) (v) * f1));
        tessellator.addVertexWithUV((double) (x), (double) (y), 0, (double) ((float) (u) * f), (double) ((float) (v) * f1));
       
        tessellator.draw();
    }
Какой аргумент за что отвечает? Я вроде понял, но лучше проверить, чтобы какая-нибудь фигня не вылезла)
 
Сверху