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