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

Визуальная часть Watermark 3.1

Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
вроде кайф
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
дайте норм сс, у меня не грузит
 
дайте норм сс, у меня не грузит
1767542207136.png
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
      
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
ты чуток перепутал тему нужно в визуал часть, картинка мыльная дай норм сс пж
 
c
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
святая вода тут не поможет
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
/del, выписывал типам под постами то что они делают хуйню, а сам насрал тупо блять XDDD
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
так стоп это же дефолт худ экспы
 
так стоп это же дефолт худ экспы
Вообще там дохуя поменяли, аж убрали иконку и добавили миллион элементов в вотермарку.
Вообще там дохуя поменяли, аж убрали иконку и добавили миллион элементов в вотермарку.
Причем даже так выглядит убого
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
так это худ экспы 3.1, че ты изменил тут
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
1. деф экспа с доп. текстом
2. ЗАЧЕМ?!?!?!
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

кому надо переделают
/del принимаю

WatermarkRenderer:
Expand Collapse Copy
package expensive.display.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import expensive.main.Expensive;
import expensive.events.EventDisplay;
import expensive.display.display.ElementRenderer;
import expensive.display.styles.Style;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        int fps = Minecraft.getInstance().getDebugFPS();
        String serverIP = "Singleplayer";
        if (mc.getConnection() != null) {
            serverIP = Minecraft.getInstance().getCurrentServerData() != null
                    ? Minecraft.getInstance().getCurrentServerData().serverIP
                    : "Singleplayer";
        }

        int ping = 0;
        if (mc.player != null && mc.getConnection() != null) {
            var playerInfo = mc.player.connection.getPlayerInfo(mc.player.getGameProfile().getId());
            if (playerInfo != null) {
                ping = playerInfo.getResponseTime();
            }
        }


        String watermarkText = String.format("Destruct | FPS: %d | %s | Ping: %d", fps, serverIP, ping);
        ITextComponent gradientText = GradientUtil.gradient(watermarkText);

        float textWidth = Fonts.sfbold.getWidth(watermarkText, fontSize);

        DisplayUtils.drawShadow(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, textWidth + padding * 2, fontSize + padding * 2, 4);
       
        Fonts.sfbold.drawText(ms, gradientText, posX + padding, posY + padding, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
Деф Експа /del
 
Назад
Сверху Снизу