Начинающий
- Статус
- Оффлайн
- Регистрация
- 29 Июн 2024
- Сообщения
- 36
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
Привет YouGame
Это моя первая тема и первая попытка сделать что либо.
Не судите строго
ss (моя)
odobrite pls
Это моя первая тема и первая попытка сделать что либо.
Не судите строго
ss (моя)
pulse pizdec:
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 net.minecraft.client.MinecraftClient;
import java.awt.Color;
public class Watermark extends HudElement implements ThemeManager.ThemeChangeListener {
private final ThemeManager themeManager;
private final MinecraftClient mc = MinecraftClient.getInstance();
private Color bgColor, textColor, sepColor, shadowColor;
private float w, h;
private int frames = 0;
private int currentFps = 0;
private long lastSecond = System.nanoTime();
public Watermark() {
super("Watermark");
themeManager = ThemeManager.getInstance();
applyTheme(themeManager.getCurrentTheme());
themeManager.addThemeChangeListener(this);
}
private void applyTheme(ThemeManager.Theme t) {
bgColor = new Color(30, 30, 35, 235);
textColor = new Color(210, 210, 215);
sepColor = new Color(90, 90, 100, 180);
shadowColor = new Color(0, 0, 0, 90);
}
@Override
public void onThemeChanged(ThemeManager.Theme t) {
applyTheme(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;
Font icons = Fonts.ICONS;
Color accent = themeManager.getCurrentTheme().getAccentColor();
String site = "pizdasexvideo.pro";
String ping = getPing() + " ms";
String fps = currentFps + " FPS";
float sz = 8f;
float icoSz = 10f;
float pad = 10f;
float gap = 7f;
float radius = 8f;
float icoW = icons.getWidth("R", icoSz);
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 + icoW + gap + siteW + gap + sepW + gap + pingW + gap + sepW + gap + fpsW + pad;
h = 7 * 2 + sz;
setBounds(getX(), getY(), w, h);
for (int i = 3; i >= 1; i--) {
Render2D.drawRoundedRect(mat,
getX() - i, getY() - i,
w + i * 2, h + i * 2,
radius + i,
new Color(0, 0, 0, 25 * i));
}
Render2D.drawRoundedRect(mat, getX(), getY(), w, h, radius, bgColor);
Render2D.drawRoundedRect(mat,
getX(), getY(),
w, h,
radius,
new Color(255, 255, 255, 6));
float icoX = getX() + pad;
float icoY = getY() + (h - icoSz) / 2f;
Render2D.drawGlowOutline(mat, icoX, icoY, icoSz, icoSz, icoSz / 0.4f, accent, 120, 12);
float x = icoX;
float y = getY() + (h - sz) / 2f;
Render2D.drawFont(mat, icons.getFont(icoSz), "R", x, icoY, accent);
x += icoW + gap;
Render2D.drawFont(mat, regular.getFont(sz), site, x, y, textColor);
x += siteW + gap;
Render2D.drawFont(mat, regular.getFont(sz), "/", x, y, sepColor);
x += sepW + gap;
Render2D.drawFont(mat, regular.getFont(sz), ping, x, y, textColor);
x += pingW + gap;
Render2D.drawFont(mat, regular.getFont(sz), "/", x, y, sepColor);
x += sepW + gap;
Render2D.drawFont(mat, regular.getFont(sz), fps, x, y, textColor);
super.onRender2D(e);
}
}
}