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

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
7 Фев 2024
Сообщения
96
Реакции
0
Выберите загрузчик игры
  1. Vanilla
ss -
1761311666038.png
1761311688141.png


Чисто прикольная вт с совмещенная с белой темой :)
Код ниже



Hud | Interface:
Expand Collapse Copy
new BooleanSetting("Ватермарка", true),
new BooleanSetting("Информация", true)



final WatermarkRenderer watermarkRenderer;
final InfoRenderer infoRenderer;
            
if (this.elements.getValueByName("Ватермарка").get()) {this.watermarkRenderer.render(e);}
if (elements.getValueByName("Информация").get()) {this.infoRenderer.render(e);}

watermarkRenderer = new WatermarkRenderer();
infoRenderer = new InfoRenderer();




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

    final Minecraft mc = Minecraft.getInstance();
    final ResourceLocation logo = new ResourceLocation("FeverVisual/images/p6.png");

    @Override
    public void render(EventDisplay eventDisplay) {
        renderWatermark(eventDisplay);
    }

    private void renderWatermark(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = 5;
        final float posY = 4;
        final float padding = 5;
        final float fontSize = 6.5f;
        final float iconSize = 10;

        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }
        String feverText = "Fever";
        float feverTextWidth = Fonts.sfui.getWidth(feverText, fontSize);
        int fps = mc.getDebugFPS();
        String fpsText = String.valueOf(fps) + " Fps";
        float fpsTextWidth = Fonts.sfui.getWidth(fpsText, fontSize);
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        String timeString = sdf.format(new Date());
        float timeTextWidth = Fonts.sfui.getWidth(timeString, fontSize);
        Vector4i logoColors = new Vector4i(textColor, textColor, textColor, textColor);
        float totalWidth = iconSize + padding * 6.5f + fpsTextWidth + 20 + timeTextWidth + 10;
        DisplayUtils.drawRoundedRect(posX, posY, totalWidth, iconSize + padding * 1.3f, 4, backgroundColor);
        DisplayUtils.drawImage(logo, posX + padding - 2.5f, posY - 2.0f + padding, iconSize, iconSize, logoColors);
        Fonts.sfui.drawText(ms, feverText, posX + 26.0f - feverTextWidth/2, posY + 5.0f, textColor, fontSize, 0.00f);
        float fpsPosX = posX + 40.0f; // Было 45.0f
        Fonts.nuralphaicons.drawText(ms, "X", fpsPosX + 2.5f, posY - 1.0f + padding, textColor, 9, 0);
        Fonts.sfui.drawText(ms, fpsText, fpsPosX + 14.0f, posY + iconSize / 2 + 0.5f, textColor, fontSize, 0.00f);
        float timePosX = fpsPosX + 5.0f + fpsTextWidth; // Было 8.0f + fpsTextWidth
        Fonts.nuralphaicons.drawText(ms, "V", timePosX + 13.0f, posY - 0.3f + padding, textColor, 8, 0);
        Fonts.sfui.drawText(ms, timeString, timePosX + 23.0f, posY + iconSize / 2 + 0.5f, textColor, fontSize, 0.00f);
    }

}


InfoRenderer:
Expand Collapse Copy
package Fever.Visual.ui.display.impl;

import Fever.Visual.FeverVisual;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.ui.display.ElementRenderer;
import Fever.Visual.utils.client.IMinecraft;
import Fever.Visual.utils.PingUtil;
import Fever.Visual.utils.render.ColorUtils;
import Fever.Visual.utils.render.DisplayUtils;
import Fever.Visual.utils.render.font.Fonts;
import com.mojang.blaze3d.matrix.MatrixStack;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class InfoRenderer implements ElementRenderer {

    final Minecraft mc = Minecraft.getInstance();

    @Override
    public void render(EventDisplay eventDisplay) {
        renderCoordinates(eventDisplay);
        renderBPS(eventDisplay);
        renderPing(eventDisplay);
    }

    private void renderCoordinates(EventDisplay eventDisplay) {
        float fontSize = 7f;
        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }
        float posX = 7;
        float posY = 20;
        float CalcWidth = Fonts.sfui.getWidth("XYZ:", fontSize);
        float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
        DisplayUtils.drawRoundedRect(posX - 2, posY + 6, 22.0f + CalcWidth2, 16.5f, 4, backgroundColor);
        Fonts.sfui.drawText(eventDisplay.getMatrixStack(), (int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), posX - 3.5f + CalcWidth, posY + 11, textColor, fontSize, 0.00f);
        MatrixStack ms = new MatrixStack();
        Fonts.nuralphaicons.drawText(ms, "F", posX + 1.5f, posY + 9.8f, textColor, 9, 0);
    }

    private void renderBPS(EventDisplay eventDisplay) {
        float fontSize = 7f;
        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }
        float posX = 33;
        float posY = 20;
        float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
        float CalcWidth3 = Fonts.sfui.getWidth(String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20), fontSize);
        DisplayUtils.drawRoundedRect(posX - 2 + CalcWidth2, posY + 6, 24.0f + CalcWidth3, 16.5f, 4, backgroundColor);
        Fonts.sfui.drawText(eventDisplay.getMatrixStack(), String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20),
                posX + 15.5f + CalcWidth2, posY + 11, textColor, fontSize, 0.00f);
        MatrixStack ms = new MatrixStack();
        Fonts.nuralphaicons.drawText(ms, "S", posX + CalcWidth2 + 1.5f, posY + 9.8f, textColor, 9, 0);
    }

    private void renderPing(EventDisplay eventDisplay) {
        float fontSize = 7f;
        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }

        float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
        float CalcWidth3 = Fonts.sfui.getWidth(String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20), fontSize);
        float posX = 33 + CalcWidth2 + 24.0f + CalcWidth3 + 5;
        float posY = 20;

        String ticksText = (PingUtil.calculatePing()) + " ms";
        float CalcWidth = Fonts.sfui.getWidth("XYZ:", fontSize);
        float pingTextWidth = Fonts.sfui.getWidth(ticksText, fontSize);
        DisplayUtils.drawRoundedRect(posX - 2, posY + 6, 24.0f + pingTextWidth, 16.5f, 4, backgroundColor);
        Fonts.sfui.drawText(eventDisplay.getMatrixStack(), ticksText, posX - 3.5f + CalcWidth, posY + 11, textColor, fontSize, 0.00f);
        MatrixStack ms = new MatrixStack();
        Fonts.nuralphaicons.drawText(ms, "Q", posX + 1.5f, posY + 9.8f, textColor, 9, 0);
    }
}
 
ss - Посмотреть вложение 318179Посмотреть вложение 318180

Чисто прикольная вт с совмещенная с белой темой :)
Код ниже



Hud | Interface:
Expand Collapse Copy
new BooleanSetting("Ватермарка", true),
new BooleanSetting("Информация", true)



final WatermarkRenderer watermarkRenderer;
final InfoRenderer infoRenderer;
           
if (this.elements.getValueByName("Ватермарка").get()) {this.watermarkRenderer.render(e);}
if (elements.getValueByName("Информация").get()) {this.infoRenderer.render(e);}

watermarkRenderer = new WatermarkRenderer();
infoRenderer = new InfoRenderer();




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

    final Minecraft mc = Minecraft.getInstance();
    final ResourceLocation logo = new ResourceLocation("FeverVisual/images/p6.png");

    @Override
    public void render(EventDisplay eventDisplay) {
        renderWatermark(eventDisplay);
    }

    private void renderWatermark(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = 5;
        final float posY = 4;
        final float padding = 5;
        final float fontSize = 6.5f;
        final float iconSize = 10;

        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }
        String feverText = "Fever";
        float feverTextWidth = Fonts.sfui.getWidth(feverText, fontSize);
        int fps = mc.getDebugFPS();
        String fpsText = String.valueOf(fps) + " Fps";
        float fpsTextWidth = Fonts.sfui.getWidth(fpsText, fontSize);
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        String timeString = sdf.format(new Date());
        float timeTextWidth = Fonts.sfui.getWidth(timeString, fontSize);
        Vector4i logoColors = new Vector4i(textColor, textColor, textColor, textColor);
        float totalWidth = iconSize + padding * 6.5f + fpsTextWidth + 20 + timeTextWidth + 10;
        DisplayUtils.drawRoundedRect(posX, posY, totalWidth, iconSize + padding * 1.3f, 4, backgroundColor);
        DisplayUtils.drawImage(logo, posX + padding - 2.5f, posY - 2.0f + padding, iconSize, iconSize, logoColors);
        Fonts.sfui.drawText(ms, feverText, posX + 26.0f - feverTextWidth/2, posY + 5.0f, textColor, fontSize, 0.00f);
        float fpsPosX = posX + 40.0f; // Было 45.0f
        Fonts.nuralphaicons.drawText(ms, "X", fpsPosX + 2.5f, posY - 1.0f + padding, textColor, 9, 0);
        Fonts.sfui.drawText(ms, fpsText, fpsPosX + 14.0f, posY + iconSize / 2 + 0.5f, textColor, fontSize, 0.00f);
        float timePosX = fpsPosX + 5.0f + fpsTextWidth; // Было 8.0f + fpsTextWidth
        Fonts.nuralphaicons.drawText(ms, "V", timePosX + 13.0f, posY - 0.3f + padding, textColor, 8, 0);
        Fonts.sfui.drawText(ms, timeString, timePosX + 23.0f, posY + iconSize / 2 + 0.5f, textColor, fontSize, 0.00f);
    }

}


InfoRenderer:
Expand Collapse Copy
package Fever.Visual.ui.display.impl;

import Fever.Visual.FeverVisual;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.ui.display.ElementRenderer;
import Fever.Visual.utils.client.IMinecraft;
import Fever.Visual.utils.PingUtil;
import Fever.Visual.utils.render.ColorUtils;
import Fever.Visual.utils.render.DisplayUtils;
import Fever.Visual.utils.render.font.Fonts;
import com.mojang.blaze3d.matrix.MatrixStack;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class InfoRenderer implements ElementRenderer {

    final Minecraft mc = Minecraft.getInstance();

    @Override
    public void render(EventDisplay eventDisplay) {
        renderCoordinates(eventDisplay);
        renderBPS(eventDisplay);
        renderPing(eventDisplay);
    }

    private void renderCoordinates(EventDisplay eventDisplay) {
        float fontSize = 7f;
        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }
        float posX = 7;
        float posY = 20;
        float CalcWidth = Fonts.sfui.getWidth("XYZ:", fontSize);
        float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
        DisplayUtils.drawRoundedRect(posX - 2, posY + 6, 22.0f + CalcWidth2, 16.5f, 4, backgroundColor);
        Fonts.sfui.drawText(eventDisplay.getMatrixStack(), (int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), posX - 3.5f + CalcWidth, posY + 11, textColor, fontSize, 0.00f);
        MatrixStack ms = new MatrixStack();
        Fonts.nuralphaicons.drawText(ms, "F", posX + 1.5f, posY + 9.8f, textColor, 9, 0);
    }

    private void renderBPS(EventDisplay eventDisplay) {
        float fontSize = 7f;
        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }
        float posX = 33;
        float posY = 20;
        float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
        float CalcWidth3 = Fonts.sfui.getWidth(String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20), fontSize);
        DisplayUtils.drawRoundedRect(posX - 2 + CalcWidth2, posY + 6, 24.0f + CalcWidth3, 16.5f, 4, backgroundColor);
        Fonts.sfui.drawText(eventDisplay.getMatrixStack(), String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20),
                posX + 15.5f + CalcWidth2, posY + 11, textColor, fontSize, 0.00f);
        MatrixStack ms = new MatrixStack();
        Fonts.nuralphaicons.drawText(ms, "S", posX + CalcWidth2 + 1.5f, posY + 9.8f, textColor, 9, 0);
    }

    private void renderPing(EventDisplay eventDisplay) {
        float fontSize = 7f;
        int backgroundColor, textColor;
        if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
            backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
            textColor = ColorUtils.rgba(0, 0, 0, 255);
        } else {
            backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
            textColor = -1;
        }

        float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
        float CalcWidth3 = Fonts.sfui.getWidth(String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20), fontSize);
        float posX = 33 + CalcWidth2 + 24.0f + CalcWidth3 + 5;
        float posY = 20;

        String ticksText = (PingUtil.calculatePing()) + " ms";
        float CalcWidth = Fonts.sfui.getWidth("XYZ:", fontSize);
        float pingTextWidth = Fonts.sfui.getWidth(ticksText, fontSize);
        DisplayUtils.drawRoundedRect(posX - 2, posY + 6, 24.0f + pingTextWidth, 16.5f, 4, backgroundColor);
        Fonts.sfui.drawText(eventDisplay.getMatrixStack(), ticksText, posX - 3.5f + CalcWidth, posY + 11, textColor, fontSize, 0.00f);
        MatrixStack ms = new MatrixStack();
        Fonts.nuralphaicons.drawText(ms, "Q", posX + 1.5f, posY + 9.8f, textColor, 9, 0);
    }
}
дефолтная скукота
 
Назад
Сверху Снизу