Исходник Селфкод RenderUtility2

Expensive Client
Пользователь
Статус
Оффлайн
Регистрация
12 Ноя 2022
Сообщения
151
Реакции[?]
40
Поинты[?]
40K
эксперт в майнкрафт апи
Пользователь
Статус
Онлайн
Регистрация
8 Сен 2023
Сообщения
257
Реакции[?]
115
Поинты[?]
21K
Forge Api ;-;
Забаненный
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
876
Реакции[?]
18
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
read only ambassador
Пользователь
Статус
Оффлайн
Регистрация
28 Июн 2022
Сообщения
619
Реакции[?]
112
Поинты[?]
16K
сливаю свой селфкод RenderUtility2 для вас пастеров если что нужен proekt-lobok (писал +- 20 минут но пастерам сойдет)
p.s. спс за помощь metafaze

Посмотреть вложение 265755

пример использования:
RenderUtility2.drawRectangle(50, 50, 50, 50, ColorUtility3.rgb(255, 0, 255));
код:
Utility1.java:
package ваша.паста.utils;

import net.minecraft.client.Minecraft;

public abstract class Utility1 {
    public static final Minecraft mc = Minecraft.getInstance();
}
RenderUtility2.java:
package ваша.паста.utils;

import lombok.experimental.UtilityClass;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;

import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL14.glBlendFuncSeparate;

@UtilityClass
public class RenderUtility2 extends Utility1 {

    private final Tessellator tessellator = Tessellator.getInstance();
    private final BufferBuilder buffer = tessellator.getBuffer();

    public void drawRectangle(float x, float y, float width, float height, int color) {
        int red = color >> 16 & 0xFF;
        int green = color >> 8 & 0xFF;
        int blue = color & 0xFF;
        int alpha = color >> 24 & 0xFF;
        boolean blend = glIsEnabled(GL_BLEND);
        glEnable(GL_BLEND);
        glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
        glDisable(GL_TEXTURE_2D);
        buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
        buffer.pos(x + width, y, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x, y, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x, y + height, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x + width, y + height, 0).color(red, green, blue, alpha).endVertex();
        tessellator.draw();
        glEnable(GL_TEXTURE_2D);
        if (blend)
            glEnable(GL_BLEND);
        else glDisable(GL_BLEND);
    }

}
ColorUtility3:
package ваша.паста.utils;

import lombok.experimental.UtilityClass;

@UtilityClass
public class ColorUtility3 extends Utility1 {

    public int rgba(int r, int g, int b, int a) {
        return a << 24 | r << 16 | g << 8 | b;
    }

    public int rgba(double r, double g, double b, double a) {
        return rgba((int) r, (int) g, (int) b, (int) a);
    }

    public int rgb(int r, int g, int b) {
        return rgba(r, g, b, 255);
    }

    public int rgb(double r, double g, double b) {
        return rgb((int) r, (int) g, (int) b);
    }

}
селфкодерам сойдет
 
Забаненный
Статус
Оффлайн
Регистрация
9 Дек 2022
Сообщения
47
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сливаю свой селфкод RenderUtility2 для вас пастеров если что нужен proekt-lobok (писал +- 20 минут но пастерам сойдет)
p.s. спс за помощь metafaze

Посмотреть вложение 265755

пример использования:
RenderUtility2.drawRectangle(50, 50, 50, 50, ColorUtility3.rgb(255, 0, 255));
код:
Utility1.java:
package ваша.паста.utils;

import net.minecraft.client.Minecraft;

public abstract class Utility1 {
    public static final Minecraft mc = Minecraft.getInstance();
}
RenderUtility2.java:
package ваша.паста.utils;

import lombok.experimental.UtilityClass;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;

import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL14.glBlendFuncSeparate;

@UtilityClass
public class RenderUtility2 extends Utility1 {

    private final Tessellator tessellator = Tessellator.getInstance();
    private final BufferBuilder buffer = tessellator.getBuffer();

    public void drawRectangle(float x, float y, float width, float height, int color) {
        int red = color >> 16 & 0xFF;
        int green = color >> 8 & 0xFF;
        int blue = color & 0xFF;
        int alpha = color >> 24 & 0xFF;
        boolean blend = glIsEnabled(GL_BLEND);
        glEnable(GL_BLEND);
        glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
        glDisable(GL_TEXTURE_2D);
        buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
        buffer.pos(x + width, y, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x, y, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x, y + height, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x + width, y + height, 0).color(red, green, blue, alpha).endVertex();
        tessellator.draw();
        glEnable(GL_TEXTURE_2D);
        if (blend)
            glEnable(GL_BLEND);
        else glDisable(GL_BLEND);
    }

}
ColorUtility3:
package ваша.паста.utils;

import lombok.experimental.UtilityClass;

@UtilityClass
public class ColorUtility3 extends Utility1 {

    public int rgba(int r, int g, int b, int a) {
        return a << 24 | r << 16 | g << 8 | b;
    }

    public int rgba(double r, double g, double b, double a) {
        return rgba((int) r, (int) g, (int) b, (int) a);
    }

    public int rgb(int r, int g, int b) {
        return rgba(r, g, b, 255);
    }

    public int rgb(double r, double g, double b) {
        return rgb((int) r, (int) g, (int) b);
    }

}
А не проще использовать это? (MCP 1.19.4)
public static void RenderGradient(int x, int y, int weight, int height, int color, int color1) {
Gui.fillGradient(matrix4f, x ,y, x + weight, y+ height, color, color1);
}
 

Вложения

эксперт в майнкрафт апи
Пользователь
Статус
Онлайн
Регистрация
8 Сен 2023
Сообщения
257
Реакции[?]
115
Поинты[?]
21K
А не проще использовать это? (MCP 1.19.4)
public static void RenderGradient(int x, int y, int weight, int height, int color, int color1) {
Gui.fillGradient(matrix4f, x ,y, x + weight, y+ height, color, color1);
}
а не проще перестать срать в теме и пастить то что дают?
1702624567480.png
 
Начинающий
Статус
Оффлайн
Регистрация
30 Июн 2023
Сообщения
125
Реакции[?]
1
Поинты[?]
3K
сливаю свой селфкод RenderUtility2 для вас пастеров если что нужен proekt-lobok (писал +- 20 минут но пастерам сойдет)
p.s. спс за помощь metafaze

Посмотреть вложение 265755

пример использования:
RenderUtility2.drawRectangle(50, 50, 50, 50, ColorUtility3.rgb(255, 0, 255));
код:
Utility1.java:
package ваша.паста.utils;

import net.minecraft.client.Minecraft;

public abstract class Utility1 {
    public static final Minecraft mc = Minecraft.getInstance();
}
RenderUtility2.java:
package ваша.паста.utils;

import lombok.experimental.UtilityClass;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;

import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL14.glBlendFuncSeparate;

@UtilityClass
public class RenderUtility2 extends Utility1 {

    private final Tessellator tessellator = Tessellator.getInstance();
    private final BufferBuilder buffer = tessellator.getBuffer();

    public void drawRectangle(float x, float y, float width, float height, int color) {
        int red = color >> 16 & 0xFF;
        int green = color >> 8 & 0xFF;
        int blue = color & 0xFF;
        int alpha = color >> 24 & 0xFF;
        boolean blend = glIsEnabled(GL_BLEND);
        glEnable(GL_BLEND);
        glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
        glDisable(GL_TEXTURE_2D);
        buffer.begin(GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
        buffer.pos(x + width, y, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x, y, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x, y + height, 0).color(red, green, blue, alpha).endVertex();
        buffer.pos(x + width, y + height, 0).color(red, green, blue, alpha).endVertex();
        tessellator.draw();
        glEnable(GL_TEXTURE_2D);
        if (blend)
            glEnable(GL_BLEND);
        else glDisable(GL_BLEND);
    }

}
ColorUtility3:
package ваша.паста.utils;

import lombok.experimental.UtilityClass;

@UtilityClass
public class ColorUtility3 extends Utility1 {

    public int rgba(int r, int g, int b, int a) {
        return a << 24 | r << 16 | g << 8 | b;
    }

    public int rgba(double r, double g, double b, double a) {
        return rgba((int) r, (int) g, (int) b, (int) a);
    }

    public int rgb(int r, int g, int b) {
        return rgba(r, g, b, 255);
    }

    public int rgb(double r, double g, double b) {
        return rgb((int) r, (int) g, (int) b);
    }

}
а смысл ? С ролика BadLuck
 
Сверху Снизу