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

Визуальная часть Pulse watemrark simplevisual

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
29 Июн 2024
Сообщения
37
Реакции
0
Выберите загрузчик игры
  1. Fabric
Привет YouGame
Решил сделать вторую попытку "скида" пульса, получилось вроде неплохо

ss моя втшка
1774778535024.png



pulsev2:
Expand Collapse Copy
package runtime.minecraft.developer.funtime.client.ui.hud.impl;

import runtime.minecraft.developer.funtime.client.events.impl.EventRender2D;
import runtime.minecraft.developer.funtime.client.ui.hud.HudElement;
import runtime.minecraft.developer.funtime.client.managers.ThemeManager;
import runtime.minecraft.developer.funtime.client.util.renderer.Render2D;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Fonts;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Font;
import runtime.minecraft.developer.funtime.client.util.perf.Perf;
import runtime.minecraft.developer.funtime.AmethystVisuals;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;

import java.awt.Color;

public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {

    private final ThemeManager themeManager;
    private final MinecraftClient mc = MinecraftClient.getInstance();

    private static final Identifier LOGO = AmethystVisuals.id("hud/logo.png");

    private float w, h;

    private int frames = 0;
    private int currentFps = 0;
    private long lastSecond = System.nanoTime();

    public Watermark() {
        super("Watermark");
        themeManager = ThemeManager.getInstance();
        themeManager.addThemeChangeListener(this);
    }

    @Override
    public void onThemeChanged(ThemeManager.Theme t) {}

    private long getPing() {
        try {
            var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
            return entry != null ? entry.getLatency() : 0;
        } catch (Exception e) {
            return 0;
        }
    }

    @Override
    public void onRender2D(EventRender2D e) {
        if (fullNullCheck() || closed()) return;
        Perf.tryBeginFrame();
        try (var __ = Perf.scopeCpu("Watermark.onRender2D")) {

            frames++;
            long now = System.nanoTime();
            if (now - lastSecond >= 1_000_000_000L) {
                currentFps = frames;
                frames = 0;
                lastSecond = now;
            }

            var mat = e.getContext().getMatrices();
            Font regular = Fonts.REGULAR;
            Color accent = themeManager.getCurrentTheme().getAccentColor();

            String site = "AmethystVisuals";
            String ping = getPing() + " ms";
            String fps = currentFps + " FPS";

            float sz = 8f;
            float icoSz = 11f;
            float pad = 8f;
            float gap = 6f;
            float radius = 6f;

            float siteW = regular.getWidth(site, sz);
            float sepW = regular.getWidth("/", sz);
            float pingW = regular.getWidth(ping, sz);
            float fpsW = regular.getWidth(fps, sz);

            w = pad + icoSz + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
            h = pad * 2 + sz;
            setBounds(getX(), getY(), w, h);

            Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius,
                    new Color(0, 0, 0, 255));

            Render2D.drawRoundedRect(mat, getX(), getY(), w, 2f, radius,
                    accent);

            float icoX = getX() + pad;
            float icoY = getY() + (h - icoSz) / 2f;
            float textY = getY() + (h - sz) / 2f;

            Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz,
                    icoSz * 2f, accent, 120, 12);

            Render2D.drawTexture(mat, icoX, icoY, icoSz, icoSz,
                    0f, 0f, 0f, 1f, 1f, LOGO,
                    new Color(255, 255, 255, 255));

            float x = icoX + icoSz + gap;

            Render2D.drawFont(mat, regular.getFont(sz), site, x, textY,
                    new Color(220, 220, 225));
            x += siteW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), ping, x, textY,
                    new Color(220, 220, 225));
            x += pingW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), fps, x, textY,
                    new Color(220, 220, 225));

            super.onRender2D(e);
        }
    }
}
 
Привет YouGame
Решил сделать вторую попытку "скида" пульса, получилось вроде неплохо

ss моя втшка
Посмотреть вложение 331650


pulsev2:
Expand Collapse Copy
package runtime.minecraft.developer.funtime.client.ui.hud.impl;

import runtime.minecraft.developer.funtime.client.events.impl.EventRender2D;
import runtime.minecraft.developer.funtime.client.ui.hud.HudElement;
import runtime.minecraft.developer.funtime.client.managers.ThemeManager;
import runtime.minecraft.developer.funtime.client.util.renderer.Render2D;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Fonts;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Font;
import runtime.minecraft.developer.funtime.client.util.perf.Perf;
import runtime.minecraft.developer.funtime.AmethystVisuals;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;

import java.awt.Color;

public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {

    private final ThemeManager themeManager;
    private final MinecraftClient mc = MinecraftClient.getInstance();

    private static final Identifier LOGO = AmethystVisuals.id("hud/logo.png");

    private float w, h;

    private int frames = 0;
    private int currentFps = 0;
    private long lastSecond = System.nanoTime();

    public Watermark() {
        super("Watermark");
        themeManager = ThemeManager.getInstance();
        themeManager.addThemeChangeListener(this);
    }

    @Override
    public void onThemeChanged(ThemeManager.Theme t) {}

    private long getPing() {
        try {
            var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
            return entry != null ? entry.getLatency() : 0;
        } catch (Exception e) {
            return 0;
        }
    }

    @Override
    public void onRender2D(EventRender2D e) {
        if (fullNullCheck() || closed()) return;
        Perf.tryBeginFrame();
        try (var __ = Perf.scopeCpu("Watermark.onRender2D")) {

            frames++;
            long now = System.nanoTime();
            if (now - lastSecond >= 1_000_000_000L) {
                currentFps = frames;
                frames = 0;
                lastSecond = now;
            }

            var mat = e.getContext().getMatrices();
            Font regular = Fonts.REGULAR;
            Color accent = themeManager.getCurrentTheme().getAccentColor();

            String site = "AmethystVisuals";
            String ping = getPing() + " ms";
            String fps = currentFps + " FPS";

            float sz = 8f;
            float icoSz = 11f;
            float pad = 8f;
            float gap = 6f;
            float radius = 6f;

            float siteW = regular.getWidth(site, sz);
            float sepW = regular.getWidth("/", sz);
            float pingW = regular.getWidth(ping, sz);
            float fpsW = regular.getWidth(fps, sz);

            w = pad + icoSz + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
            h = pad * 2 + sz;
            setBounds(getX(), getY(), w, h);

            Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius,
                    new Color(0, 0, 0, 255));

            Render2D.drawRoundedRect(mat, getX(), getY(), w, 2f, radius,
                    accent);

            float icoX = getX() + pad;
            float icoY = getY() + (h - icoSz) / 2f;
            float textY = getY() + (h - sz) / 2f;

            Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz,
                    icoSz * 2f, accent, 120, 12);

            Render2D.drawTexture(mat, icoX, icoY, icoSz, icoSz,
                    0f, 0f, 0f, 1f, 1f, LOGO,
                    new Color(255, 255, 255, 255));

            float x = icoX + icoSz + gap;

            Render2D.drawFont(mat, regular.getFont(sz), site, x, textY,
                    new Color(220, 220, 225));
            x += siteW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), ping, x, textY,
                    new Color(220, 220, 225));
            x += pingW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), fps, x, textY,
                    new Color(220, 220, 225));

            super.onRender2D(e);
        }
    }
}
годно
 
Привет YouGame
Решил сделать вторую попытку "скида" пульса, получилось вроде неплохо

ss моя втшка
Посмотреть вложение 331650


pulsev2:
Expand Collapse Copy
package runtime.minecraft.developer.funtime.client.ui.hud.impl;

import runtime.minecraft.developer.funtime.client.events.impl.EventRender2D;
import runtime.minecraft.developer.funtime.client.ui.hud.HudElement;
import runtime.minecraft.developer.funtime.client.managers.ThemeManager;
import runtime.minecraft.developer.funtime.client.util.renderer.Render2D;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Fonts;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Font;
import runtime.minecraft.developer.funtime.client.util.perf.Perf;
import runtime.minecraft.developer.funtime.AmethystVisuals;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;

import java.awt.Color;

public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {

    private final ThemeManager themeManager;
    private final MinecraftClient mc = MinecraftClient.getInstance();

    private static final Identifier LOGO = AmethystVisuals.id("hud/logo.png");

    private float w, h;

    private int frames = 0;
    private int currentFps = 0;
    private long lastSecond = System.nanoTime();

    public Watermark() {
        super("Watermark");
        themeManager = ThemeManager.getInstance();
        themeManager.addThemeChangeListener(this);
    }

    @Override
    public void onThemeChanged(ThemeManager.Theme t) {}

    private long getPing() {
        try {
            var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
            return entry != null ? entry.getLatency() : 0;
        } catch (Exception e) {
            return 0;
        }
    }

    @Override
    public void onRender2D(EventRender2D e) {
        if (fullNullCheck() || closed()) return;
        Perf.tryBeginFrame();
        try (var __ = Perf.scopeCpu("Watermark.onRender2D")) {

            frames++;
            long now = System.nanoTime();
            if (now - lastSecond >= 1_000_000_000L) {
                currentFps = frames;
                frames = 0;
                lastSecond = now;
            }

            var mat = e.getContext().getMatrices();
            Font regular = Fonts.REGULAR;
            Color accent = themeManager.getCurrentTheme().getAccentColor();

            String site = "AmethystVisuals";
            String ping = getPing() + " ms";
            String fps = currentFps + " FPS";

            float sz = 8f;
            float icoSz = 11f;
            float pad = 8f;
            float gap = 6f;
            float radius = 6f;

            float siteW = regular.getWidth(site, sz);
            float sepW = regular.getWidth("/", sz);
            float pingW = regular.getWidth(ping, sz);
            float fpsW = regular.getWidth(fps, sz);

            w = pad + icoSz + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
            h = pad * 2 + sz;
            setBounds(getX(), getY(), w, h);

            Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius,
                    new Color(0, 0, 0, 255));

            Render2D.drawRoundedRect(mat, getX(), getY(), w, 2f, radius,
                    accent);

            float icoX = getX() + pad;
            float icoY = getY() + (h - icoSz) / 2f;
            float textY = getY() + (h - sz) / 2f;

            Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz,
                    icoSz * 2f, accent, 120, 12);

            Render2D.drawTexture(mat, icoX, icoY, icoSz, icoSz,
                    0f, 0f, 0f, 1f, 1f, LOGO,
                    new Color(255, 255, 255, 255));

            float x = icoX + icoSz + gap;

            Render2D.drawFont(mat, regular.getFont(sz), site, x, textY,
                    new Color(220, 220, 225));
            x += siteW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), ping, x, textY,
                    new Color(220, 220, 225));
            x += pingW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), fps, x, textY,
                    new Color(220, 220, 225));

            super.onRender2D(e);
        }
    }
}
уродство
 
Привет YouGame
Решил сделать вторую попытку "скида" пульса, получилось вроде неплохо

ss моя втшка
Посмотреть вложение 331650


pulsev2:
Expand Collapse Copy
package runtime.minecraft.developer.funtime.client.ui.hud.impl;

import runtime.minecraft.developer.funtime.client.events.impl.EventRender2D;
import runtime.minecraft.developer.funtime.client.ui.hud.HudElement;
import runtime.minecraft.developer.funtime.client.managers.ThemeManager;
import runtime.minecraft.developer.funtime.client.util.renderer.Render2D;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Fonts;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Font;
import runtime.minecraft.developer.funtime.client.util.perf.Perf;
import runtime.minecraft.developer.funtime.AmethystVisuals;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;

import java.awt.Color;

public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {

    private final ThemeManager themeManager;
    private final MinecraftClient mc = MinecraftClient.getInstance();

    private static final Identifier LOGO = AmethystVisuals.id("hud/logo.png");

    private float w, h;

    private int frames = 0;
    private int currentFps = 0;
    private long lastSecond = System.nanoTime();

    public Watermark() {
        super("Watermark");
        themeManager = ThemeManager.getInstance();
        themeManager.addThemeChangeListener(this);
    }

    @Override
    public void onThemeChanged(ThemeManager.Theme t) {}

    private long getPing() {
        try {
            var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
            return entry != null ? entry.getLatency() : 0;
        } catch (Exception e) {
            return 0;
        }
    }

    @Override
    public void onRender2D(EventRender2D e) {
        if (fullNullCheck() || closed()) return;
        Perf.tryBeginFrame();
        try (var __ = Perf.scopeCpu("Watermark.onRender2D")) {

            frames++;
            long now = System.nanoTime();
            if (now - lastSecond >= 1_000_000_000L) {
                currentFps = frames;
                frames = 0;
                lastSecond = now;
            }

            var mat = e.getContext().getMatrices();
            Font regular = Fonts.REGULAR;
            Color accent = themeManager.getCurrentTheme().getAccentColor();

            String site = "AmethystVisuals";
            String ping = getPing() + " ms";
            String fps = currentFps + " FPS";

            float sz = 8f;
            float icoSz = 11f;
            float pad = 8f;
            float gap = 6f;
            float radius = 6f;

            float siteW = regular.getWidth(site, sz);
            float sepW = regular.getWidth("/", sz);
            float pingW = regular.getWidth(ping, sz);
            float fpsW = regular.getWidth(fps, sz);

            w = pad + icoSz + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
            h = pad * 2 + sz;
            setBounds(getX(), getY(), w, h);

            Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius,
                    new Color(0, 0, 0, 255));

            Render2D.drawRoundedRect(mat, getX(), getY(), w, 2f, radius,
                    accent);

            float icoX = getX() + pad;
            float icoY = getY() + (h - icoSz) / 2f;
            float textY = getY() + (h - sz) / 2f;

            Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz,
                    icoSz * 2f, accent, 120, 12);

            Render2D.drawTexture(mat, icoX, icoY, icoSz, icoSz,
                    0f, 0f, 0f, 1f, 1f, LOGO,
                    new Color(255, 255, 255, 255));

            float x = icoX + icoSz + gap;

            Render2D.drawFont(mat, regular.getFont(sz), site, x, textY,
                    new Color(220, 220, 225));
            x += siteW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), ping, x, textY,
                    new Color(220, 220, 225));
            x += pingW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), fps, x, textY,
                    new Color(220, 220, 225));

            super.onRender2D(e);
        }
    }
}
/del В каком месте здесь пульс?
 
Привет YouGame
Решил сделать вторую попытку "скида" пульса, получилось вроде неплохо

ss моя втшка
Посмотреть вложение 331650


pulsev2:
Expand Collapse Copy
package runtime.minecraft.developer.funtime.client.ui.hud.impl;

import runtime.minecraft.developer.funtime.client.events.impl.EventRender2D;
import runtime.minecraft.developer.funtime.client.ui.hud.HudElement;
import runtime.minecraft.developer.funtime.client.managers.ThemeManager;
import runtime.minecraft.developer.funtime.client.util.renderer.Render2D;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Fonts;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Font;
import runtime.minecraft.developer.funtime.client.util.perf.Perf;
import runtime.minecraft.developer.funtime.AmethystVisuals;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;

import java.awt.Color;

public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {

    private final ThemeManager themeManager;
    private final MinecraftClient mc = MinecraftClient.getInstance();

    private static final Identifier LOGO = AmethystVisuals.id("hud/logo.png");

    private float w, h;

    private int frames = 0;
    private int currentFps = 0;
    private long lastSecond = System.nanoTime();

    public Watermark() {
        super("Watermark");
        themeManager = ThemeManager.getInstance();
        themeManager.addThemeChangeListener(this);
    }

    @Override
    public void onThemeChanged(ThemeManager.Theme t) {}

    private long getPing() {
        try {
            var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
            return entry != null ? entry.getLatency() : 0;
        } catch (Exception e) {
            return 0;
        }
    }

    @Override
    public void onRender2D(EventRender2D e) {
        if (fullNullCheck() || closed()) return;
        Perf.tryBeginFrame();
        try (var __ = Perf.scopeCpu("Watermark.onRender2D")) {

            frames++;
            long now = System.nanoTime();
            if (now - lastSecond >= 1_000_000_000L) {
                currentFps = frames;
                frames = 0;
                lastSecond = now;
            }

            var mat = e.getContext().getMatrices();
            Font regular = Fonts.REGULAR;
            Color accent = themeManager.getCurrentTheme().getAccentColor();

            String site = "AmethystVisuals";
            String ping = getPing() + " ms";
            String fps = currentFps + " FPS";

            float sz = 8f;
            float icoSz = 11f;
            float pad = 8f;
            float gap = 6f;
            float radius = 6f;

            float siteW = regular.getWidth(site, sz);
            float sepW = regular.getWidth("/", sz);
            float pingW = regular.getWidth(ping, sz);
            float fpsW = regular.getWidth(fps, sz);

            w = pad + icoSz + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
            h = pad * 2 + sz;
            setBounds(getX(), getY(), w, h);

            Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius,
                    new Color(0, 0, 0, 255));

            Render2D.drawRoundedRect(mat, getX(), getY(), w, 2f, radius,
                    accent);

            float icoX = getX() + pad;
            float icoY = getY() + (h - icoSz) / 2f;
            float textY = getY() + (h - sz) / 2f;

            Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz,
                    icoSz * 2f, accent, 120, 12);

            Render2D.drawTexture(mat, icoX, icoY, icoSz, icoSz,
                    0f, 0f, 0f, 1f, 1f, LOGO,
                    new Color(255, 255, 255, 255));

            float x = icoX + icoSz + gap;

            Render2D.drawFont(mat, regular.getFont(sz), site, x, textY,
                    new Color(220, 220, 225));
            x += siteW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), ping, x, textY,
                    new Color(220, 220, 225));
            x += pingW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), fps, x, textY,
                    new Color(220, 220, 225));

            super.onRender2D(e);
        }
    }
}
/del все кроме ватермарки уебищно выглядит
 
Привет YouGame
Решил сделать вторую попытку "скида" пульса, получилось вроде неплохо

ss моя втшка
Посмотреть вложение 331650


pulsev2:
Expand Collapse Copy
package runtime.minecraft.developer.funtime.client.ui.hud.impl;

import runtime.minecraft.developer.funtime.client.events.impl.EventRender2D;
import runtime.minecraft.developer.funtime.client.ui.hud.HudElement;
import runtime.minecraft.developer.funtime.client.managers.ThemeManager;
import runtime.minecraft.developer.funtime.client.util.renderer.Render2D;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Fonts;
import runtime.minecraft.developer.funtime.client.util.renderer.fonts.Font;
import runtime.minecraft.developer.funtime.client.util.perf.Perf;
import runtime.minecraft.developer.funtime.AmethystVisuals;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;

import java.awt.Color;

public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {

    private final ThemeManager themeManager;
    private final MinecraftClient mc = MinecraftClient.getInstance();

    private static final Identifier LOGO = AmethystVisuals.id("hud/logo.png");

    private float w, h;

    private int frames = 0;
    private int currentFps = 0;
    private long lastSecond = System.nanoTime();

    public Watermark() {
        super("Watermark");
        themeManager = ThemeManager.getInstance();
        themeManager.addThemeChangeListener(this);
    }

    @Override
    public void onThemeChanged(ThemeManager.Theme t) {}

    private long getPing() {
        try {
            var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
            return entry != null ? entry.getLatency() : 0;
        } catch (Exception e) {
            return 0;
        }
    }

    @Override
    public void onRender2D(EventRender2D e) {
        if (fullNullCheck() || closed()) return;
        Perf.tryBeginFrame();
        try (var __ = Perf.scopeCpu("Watermark.onRender2D")) {

            frames++;
            long now = System.nanoTime();
            if (now - lastSecond >= 1_000_000_000L) {
                currentFps = frames;
                frames = 0;
                lastSecond = now;
            }

            var mat = e.getContext().getMatrices();
            Font regular = Fonts.REGULAR;
            Color accent = themeManager.getCurrentTheme().getAccentColor();

            String site = "AmethystVisuals";
            String ping = getPing() + " ms";
            String fps = currentFps + " FPS";

            float sz = 8f;
            float icoSz = 11f;
            float pad = 8f;
            float gap = 6f;
            float radius = 6f;

            float siteW = regular.getWidth(site, sz);
            float sepW = regular.getWidth("/", sz);
            float pingW = regular.getWidth(ping, sz);
            float fpsW = regular.getWidth(fps, sz);

            w = pad + icoSz + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
            h = pad * 2 + sz;
            setBounds(getX(), getY(), w, h);

            Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius,
                    new Color(0, 0, 0, 255));

            Render2D.drawRoundedRect(mat, getX(), getY(), w, 2f, radius,
                    accent);

            float icoX = getX() + pad;
            float icoY = getY() + (h - icoSz) / 2f;
            float textY = getY() + (h - sz) / 2f;

            Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz,
                    icoSz * 2f, accent, 120, 12);

            Render2D.drawTexture(mat, icoX, icoY, icoSz, icoSz,
                    0f, 0f, 0f, 1f, 1f, LOGO,
                    new Color(255, 255, 255, 255));

            float x = icoX + icoSz + gap;

            Render2D.drawFont(mat, regular.getFont(sz), site, x, textY,
                    new Color(220, 220, 225));
            x += siteW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), ping, x, textY,
                    new Color(220, 220, 225));
            x += pingW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), "/", x, textY,
                    new Color(90, 90, 100));
            x += sepW + gap;

            Render2D.drawFont(mat, regular.getFont(sz), fps, x, textY,
                    new Color(220, 220, 225));

            super.onRender2D(e);
        }
    }
}
ну почему вы все просто рект по центру ставите и говорите что это pulse но посмотри как он выглядит хотябы
 
Назад
Сверху Снизу