Начинающий
- Статус
- Оффлайн
- Регистрация
- 20 Июл 2025
- Сообщения
- 87
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
пр юг, перенес эту вт (noad) на еву в3 вроде как нормана (ВНИМАНИЕ В КОДЕ ВАЙБКОД BY HEXADEV w/CHAT LGBT)
ss (будет внизу после кода)
ss долгожданный
reworked list
- изменил цвет с ярко-красного на обычный белый
- изменил градиент, теперь акцентированные элементы берут градиент из тем
- изменил форму 2 панели (просто немного отзеркалив ее)
ss (будет внизу после кода)
reworked watermarkk$$:
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 долгожданный
reworked list
- изменил цвет с ярко-красного на обычный белый
- изменил градиент, теперь акцентированные элементы берут градиент из тем
- изменил форму 2 панели (просто немного отзеркалив ее)
Последнее редактирование: