Начинающий
			
			
				
					
				
			
		Начинающий
		- Статус
- Оффлайн
- Регистрация
- 6 Июн 2025
- Сообщения
- 6
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
- OptiFine
 
некоторым не понравилась моя прошлая работа (noad),
так что я переделал её + есть на выбор две ватермарки, эта и акриен премиум (noad)
SS:
     
		
		
	
	
		 
	
    
		 
	
И в этой ватермарке можно отключать рендер ника
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
И это в HUD.java
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
				
			так что я переделал её + есть на выбор две ватермарки, эта и акриен премиум (noad)
SS:
И в этой ватермарке можно отключать рендер ника
			
				WatermarkRenderer.java:
			
		
		
		package expensive.display.display.impl;
import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.display.display.ElementRenderer;
import expensive.events.EventDisplay;
import expensive.modules.impl.render.HUD;
import expensive.util.math.main.Vector4i;
import expensive.util.visual.main.color.ColorUtils;
import expensive.util.visual.main.display.DisplayUtils;
import expensive.util.visual.main.fonts.Fonts;
import expensive.util.visual.main.color.fonts.GradientUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.ITextComponent;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {
    final Minecraft mc = Minecraft.getInstance();
    final ResourceLocation logo = new ResourceLocation("expensive/images/hud/logo.png");
    final Dragging dragging;
    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float x = 7f;
        float y = 8f;
        float height = 14f;
        float fontSize = 8f;
        float padding = 4f;
        float gap = 6f;
        float logoSize = 10f;
        float nicknameHeight = 14f;
        int ping = mc.getConnection() != null && mc.getConnection().getPlayerInfo(mc.player.getUniqueID()) != null
                ? mc.getConnection().getPlayerInfo(mc.player.getUniqueID()).getResponseTime() : 0;
        if (HUD.typeWatermark.is("Client")) {
            ITextComponent expensiveText = GradientUtil.gradient("Expensive");
            String fpsText = mc.debugFPS + "fps";
            String pingText = ping + "ms";
            String nicknameText = mc.player != null ? mc.player.getName().getString() : "Expensive";
            float expensiveWidth = Fonts.sfui.getWidth(expensiveText, fontSize);
            float fpsWidth = Fonts.sfui.getWidth(fpsText, fontSize);
            float pingWidth = Fonts.sfui.getWidth(pingText, fontSize);
            float separatorWidth = Fonts.sfui.getWidth("|", fontSize);
            float nicknameWidth = Fonts.sfui.getWidth(nicknameText, fontSize);
            float logoRectWidth = padding * 2 + logoSize;
            float firstRectWidth = padding * 2 + expensiveWidth;
            float secondRectWidth = padding * 2 + fpsWidth + 4f + separatorWidth + 4f + pingWidth;
            float nicknameRectWidth = padding * 2 + nicknameWidth;
            int color1 = HUD.getColor(0);
            int color2 = HUD.getColor(90);
            int shadowColor1 = ColorUtils.rgba(ColorUtils.getRed(color1), ColorUtils.getGreen(color1), ColorUtils.getBlue(color1), 80);
            int shadowColor2 = ColorUtils.rgba(ColorUtils.getRed(color2), ColorUtils.getGreen(color2), ColorUtils.getBlue(color2), 80);
            DisplayUtils.drawShadow(x - 2, y - 2, logoRectWidth + 4, height + 4, 10, shadowColor1, shadowColor2);
            DisplayUtils.drawShadow(x + logoRectWidth + gap - 2, y - 2, firstRectWidth + 4, height + 4, 10, shadowColor1, shadowColor2);
            DisplayUtils.drawShadow(x + logoRectWidth + gap + firstRectWidth + gap - 2, y - 2, secondRectWidth + 4, height + 4, 10, shadowColor1, shadowColor2);
            if (HUD.nicknameInWatermark.get())
                DisplayUtils.drawShadow(x - 2, y + height + gap - 2, nicknameRectWidth + 4, nicknameHeight + 4, 10, shadowColor1, shadowColor2);
            DisplayUtils.drawRoundedRect(x, y, logoRectWidth - 2, height, 3f, ColorUtils.rgba(0, 0, 0, 160));
            DisplayUtils.drawRoundedRect(x + logoRectWidth + gap, y, firstRectWidth, height, 3f, ColorUtils.rgba(0, 0, 0, 160));
            DisplayUtils.drawRoundedRect(x + logoRectWidth + gap + firstRectWidth + gap, y, secondRectWidth, height, 3f, ColorUtils.rgba(0, 0, 0, 160));
            if (HUD.nicknameInWatermark.get())
                DisplayUtils.drawRoundedRect(x, y + height + gap, nicknameRectWidth, nicknameHeight, 3f, ColorUtils.rgba(0, 0, 0, 160));
            float currentX = x + padding;
            float logoY = y + (height - logoSize) / 2;
            DisplayUtils.drawImage(logo, currentX - 1, logoY, logoSize, logoSize, ColorUtils.rgba(255, 255, 255, 255));
            currentX = x + logoRectWidth + gap + padding;
            float textY = y + (height - fontSize) / 2;
            Fonts.sfui.drawText(ms, expensiveText, currentX, textY, fontSize, 255);
            currentX = x + logoRectWidth + gap + firstRectWidth + gap + padding;
            Fonts.sfui.drawText(ms, fpsText, currentX, textY, ColorUtils.rgba(255, 255, 255, 255), (int) fontSize);
            currentX += fpsWidth + 4f;
            Fonts.sfui.drawText(ms, "|", currentX, textY, ColorUtils.rgba(89, 88, 88, 255), (int) fontSize);
            currentX += separatorWidth + 4f;
            Fonts.sfui.drawText(ms, pingText, currentX, textY, ColorUtils.rgba(255, 255, 255, 255), (int) fontSize);
            currentX = x + padding;
            float nicknameY = y + height + gap + (nicknameHeight - fontSize) / 2;
            if (HUD.nicknameInWatermark.get())
                Fonts.sfui.drawText(ms, nicknameText, currentX, nicknameY, ColorUtils.rgba(255, 255, 255, 255), (int) fontSize);
        } else if (HUD.typeWatermark.is("Akrien Premium")) {
            MatrixStack stack = new MatrixStack();
            Vector4i gradientColors = new Vector4i(
                    ColorUtils.setAlpha(HUD.getColor(0), 255),
                    ColorUtils.setAlpha(HUD.getColor(90), 255),
                    ColorUtils.setAlpha(HUD.getColor(90), 255),
                    ColorUtils.setAlpha(HUD.getColor(0), 255)
            );
            String playerName = mc.player != null ? mc.player.getName().getString() : "Unknown";
            int fps = mc.getDebugFPS();
            String serverIp = mc.getCurrentServerData() != null ? mc.getCurrentServerData().serverIP : "Singleplayer";
            String text = String.format("Expensive Client v1.00 | %s | %dfps | %s", playerName, fps, serverIp);
            float textWidth = Fonts.montserrat.getWidth(text, 6f) + 4f;
            float rectWidth = textWidth + 2 * 4f;
            float textX = 11f;
            float textY = 9f + (14f - Fonts.montserrat.getHeight(6f)) / 2f;
            DisplayUtils.drawRoundedRect(7f, 7f + 1f, rectWidth, 1f + 1.5f, new Vector4f(0, 0, 0, 0), gradientColors);
            DisplayUtils.drawRoundedRect(7f, 7f + 1f + 1f, rectWidth, 14f, new Vector4f(0, 0, 0, 0), ColorUtils.rgba(33, 33, 33, 255));
            Fonts.montserrat.drawText(stack, text, textX, textY, ColorUtils.rgb(255, 255, 255), 6f, 0.1f);
        }
    }
}И это в HUD.java
			
				HUD.java:
			
		
		
		public static final ModeSetting typeWatermark = new ModeSetting("Watermark", "Client", "Client","Akrien Premium");
public static final BooleanSetting nicknameInWatermark = new BooleanSetting("Никнейм в Watermark", false); 
				 
	
 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		