Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Визуальная часть Watermark // Evaware v3 (Reworked)

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
20 Июл 2025
Сообщения
87
Реакции
0
Выберите загрузчик игры
  1. Fabric
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
reworked watermarkk$$:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;
        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = UIColors.primary();
        Color accent2 = UIColors.secondary();

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(2f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(2f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, versionWidth);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border42, border42, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent2, font1.getWidth(first, fontSize));
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                float prefixWidth = font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent2, prefixWidth);
                currentX += prefixWidth;

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
                currentX += font1.getWidth(middle, fontSize);

                float suffixWidth = font1.getWidth(suffix, fontSize);
                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent2, suffixWidth);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                float prefixWidth = font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent2, prefixWidth);
                currentX += prefixWidth;
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
1772200123804.png


reworked list
- изменил цвет с ярко-красного на обычный белый
- изменил градиент, теперь акцентированные элементы берут градиент из тем
- изменил форму 2 панели (просто немного отзеркалив ее)
 
Последнее редактирование:
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
$$0чная ватерmarkk:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;

        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = new Color(196, 81, 255, 255);
        Color accent2 = new Color(255, 92, 214, 255);

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(9f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(9f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, 8f);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border43, border43, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent1, 0f);
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
                currentX += font1.getWidth(middle, fontSize);

                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent1, 0f);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328824

там должно выглядеть по другому, но я думаю кто то может норм под корректировать чтоб норм выглядело
мог бы хотябы края зделать
 
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
$$0чная ватерmarkk:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;

        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = new Color(196, 81, 255, 255);
        Color accent2 = new Color(255, 92, 214, 255);

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(9f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(9f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, 8f);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border43, border43, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent1, 0f);
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
                currentX += font1.getWidth(middle, fontSize);

                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent1, 0f);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328824

там должно выглядеть по другому, но я думаю кто то может норм под корректировать чтоб норм выглядело
так себе
 
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
$$0чная ватерmarkk:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;

        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = new Color(196, 81, 255, 255);
        Color accent2 = new Color(255, 92, 214, 255);

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(9f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(9f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, 8f);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border43, border43, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent1, 0f);
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
                currentX += font1.getWidth(middle, fontSize);

                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent1, 0f);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328824

там должно выглядеть по другому, но я думаю кто то может норм под корректировать чтоб норм выглядело
пиздецок
 
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
$$0чная ватерmarkk:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;

        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = new Color(196, 81, 255, 255);
        Color accent2 = new Color(255, 92, 214, 255);

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(9f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(9f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, 8f);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border43, border43, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent1, 0f);
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
                currentX += font1.getWidth(middle, fontSize);

                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent1, 0f);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328824

там должно выглядеть по другому, но я думаю кто то может норм под корректировать чтоб норм выглядело
ты туп*й ряльно
 
Пипец. ты бы хотябы ровно сделал и правильные скругления.
я завтр переделаю уже нормально, а получилось это дерьмо тк лгбт не понимал в чем причина лол
 
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
$$0чная ватерmarkk:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;

        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = new Color(196, 81, 255, 255);
        Color accent2 = new Color(255, 92, 214, 255);

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(9f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(9f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, 8f);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border43, border43, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent1, 0f);
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
                currentX += font1.getWidth(middle, fontSize);

                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent1, 0f);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328824

там должно выглядеть по другому, но я думаю кто то может норм под корректировать чтоб норм выглядело
Неплохо, но все равно на ориг не похоже, подправь и будет гуд
 
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
$$0чная ватерmarkk:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;

        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = new Color(196, 81, 255, 255);
        Color accent2 = new Color(255, 92, 214, 255);

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(9f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(9f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, 8f);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border43, border43, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent1, 0f);
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
                currentX += font1.getWidth(middle, fontSize);

                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent1, 0f);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent1, 0f);
                currentX += font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, UIColors.textColor(), UIColors.textColor(), 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328824

там должно выглядеть по другому, но я думаю кто то может норм под корректировать чтоб норм выглядело
фигня
 
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)

ss (будет внизу после кода)
reworked watermarkk$$:
Expand Collapse Copy
package sweetie.evaware.client.ui.widget.overlay;

import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.SharedConstants;
import org.joml.Vector4f;
import sweetie.evaware.api.system.backend.ClientInfo;
import sweetie.evaware.api.utils.color.UIColors;
import sweetie.evaware.api.utils.render.RenderUtil;
import sweetie.evaware.api.utils.render.fonts.Font;
import sweetie.evaware.api.utils.render.fonts.Fonts;
import sweetie.evaware.client.ui.widget.Widget;

import java.awt.*;

public class WatermarkWidget extends Widget {
    private float watermarkWidth = 0f;

    @Override
    public String getName() {
        return "Watermark";
    }

    public WatermarkWidget() {
        super(3f, 3f);
    }

    @Override
    public void render(MatrixStack matrixStack) {
        waterMark(matrixStack);
    }

    private void waterMark(MatrixStack matrixStack) {
        float x = getDraggable().getX();
        float y = getDraggable().getY();

        String name = "Sure client";
        String version = mc.getGameVersion();
        if (version == null || version.equalsIgnoreCase("fabric") || version.equalsIgnoreCase("forge")) {
            version = SharedConstants.getGameVersion().getName();
        }
        if (version != null) {
            String found = version.replaceAll(".*?(\\d+(?:\\.\\d+)+).*", "$1");
            if (!found.equals(version)) {
                version = found;
            }
        }
        String user = mc.getSession().getUsername();
        String serverIP = mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "Singleplayer";

        Font font1 = Fonts.SF_MEDIUM;
        float fontSize = scaled(7.5f);

        float padLeft = scaled(5f);
        float padRight = scaled(5f);
        float gapNameVersion = scaled(5f);

        Color accent1 = UIColors.primary();
        Color accent2 = UIColors.secondary();

        float nameWidth = font1.getWidth(name, fontSize);
        float versionWidth = font1.getWidth(version, fontSize);
        float logoWidth = padLeft + nameWidth + gapNameVersion + versionWidth + padRight;

        float userWidth = font1.getWidth(user, fontSize);
        float ipWidth = font1.getWidth(serverIP, fontSize);
        String separator = " • ";
        float separatorWidth = font1.getWidth(separator, fontSize);

        float gapBetweenWindows = scaled(8f);
        float windowHeight = scaled(18f);

        float secondWindowWidth = padLeft + userWidth + separatorWidth + ipWidth + padRight;
        float totalWidth = logoWidth + gapBetweenWindows + secondWindowWidth;

        Vector4f radius1 = new Vector4f(scaled(9f), scaled(2f), scaled(2f), scaled(2f));
        Vector4f radius2 = new Vector4f(scaled(2f), scaled(2f), scaled(2f), scaled(9f));

        Color bg15 = new Color(15, 15, 15, 255);
        Color bg40 = new Color(40, 40, 40, 255);
        Color border5 = new Color(5, 5, 5, 255);
        Color border42 = new Color(42, 42, 42, 255);
        Color border43 = new Color(43, 43, 43, 255);

        float borderThickness = scaled(0.5f);

        float w1x = x;
        float w1y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w1x - borderThickness, w1y - borderThickness,
                logoWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius1,
                border5, border5, border42, border42);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w1x, w1y, logoWidth, windowHeight, radius1, bg15, bg15, bg40, bg40);

        float textY = w1y + (windowHeight - fontSize) / 2f;
        float nameX = w1x + padLeft;
        font1.drawGradientText(matrixStack, name, nameX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);

        float versionX = nameX + nameWidth + gapNameVersion;
        font1.drawGradientText(matrixStack, version, versionX, textY, fontSize, accent1, accent2, versionWidth);

        float w2x = w1x + logoWidth + gapBetweenWindows;
        float w2y = y;

        RenderUtil.GRADIENT_RECT.draw(matrixStack,
                w2x - borderThickness, w2y - borderThickness,
                secondWindowWidth + borderThickness * 2f, windowHeight + borderThickness * 2f,
                radius2,
                border42, border42, border5, border5);
        RenderUtil.GRADIENT_RECT.draw(matrixStack, w2x, w2y, secondWindowWidth, windowHeight, radius2, bg40, bg40, bg15, bg15);

        float userX = w2x + padLeft;
        if (!user.isEmpty()) {
            float currentX = userX;
            String first = user.substring(0, 1);
            font1.drawGradientText(matrixStack, first, currentX, textY, fontSize, accent1, accent2, font1.getWidth(first, fontSize));
            currentX += font1.getWidth(first, fontSize);
            if (user.length() > 1) {
                font1.drawGradientText(matrixStack, user.substring(1), currentX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
            }
        }

        float sepX = userX + userWidth;
        font1.drawText(matrixStack, separator, sepX, textY, fontSize, new Color(80, 80, 80, 255));

        float ipX = sepX + separatorWidth;
        if (serverIP.contains(".")) {
            int firstDot = serverIP.indexOf(".");
            int lastDot = serverIP.lastIndexOf(".");

            if (firstDot > 0 && firstDot != lastDot) {
                String prefix = serverIP.substring(0, firstDot);
                String middle = serverIP.substring(firstDot, lastDot + 1);
                String suffix = serverIP.substring(lastDot + 1);

                float currentX = ipX;
                float prefixWidth = font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent2, prefixWidth);
                currentX += prefixWidth;

                font1.drawGradientText(matrixStack, middle, currentX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
                currentX += font1.getWidth(middle, fontSize);

                float suffixWidth = font1.getWidth(suffix, fontSize);
                font1.drawGradientText(matrixStack, suffix, currentX, textY, fontSize, accent1, accent2, suffixWidth);
            } else if (firstDot > 0) {
                String prefix = serverIP.substring(0, firstDot);
                String rest = serverIP.substring(firstDot);

                float currentX = ipX;
                float prefixWidth = font1.getWidth(prefix, fontSize);
                font1.drawGradientText(matrixStack, prefix, currentX, textY, fontSize, accent1, accent2, prefixWidth);
                currentX += prefixWidth;
                font1.drawGradientText(matrixStack, rest, currentX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
            } else {
                font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
            }
        } else {
            font1.drawGradientText(matrixStack, serverIP, ipX, textY, fontSize, Color.WHITE, Color.WHITE, 0f);
        }

        watermarkWidth = totalWidth;
        getDraggable().setWidth(totalWidth);
        getDraggable().setHeight(windowHeight);
    }

    private String getTitle() {
        return "Сладких снов";
    }

    private String getClientVersion() {
        return " v" + ClientInfo.VERSION;
    }

    private String getClientName() {
        return ClientInfo.NAME;
    }
}

ss долгожданный
Посмотреть вложение 328935

reworked list
- изменил цвет с ярко-красного на обычный белый
- изменил градиент, теперь акцентированные элементы берут градиент из тем
- изменил форму 2 панели (просто немного отзеркалив ее)
ну и че это за хуйня
 

Похожие темы

Назад
Сверху Снизу