Начинающий
- Статус
- Оффлайн
- Регистрация
- 5 Май 2025
- Сообщения
- 76
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
Мне понравилась вотермарка минцеда на 1.21.4, решил сделать скид и залить вам. Вроде вышло похоже. База рич 1.21.4.
Вот моя вотермарка(сорри за то что иконки не такие, я их просто брал с минцеда 1.20.4):
А вот минцеда:
И вот иконки:
Вот моя вотермарка(сорри за то что иконки не такие, я их просто брал с минцеда 1.20.4):
А вот минцеда:
Code:
package fun.rich.display.hud;
import fun.rich.features.impl.render.Hud;
import fun.rich.features.module.setting.implement.ColorSetting;
import fun.rich.utils.client.managers.api.draggable.AbstractDraggable;
import fun.rich.utils.display.font.Fonts;
import fun.rich.utils.display.shape.ShapeProperties;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.util.math.MatrixStack;
import java.awt.Color;
public class Minced extends AbstractDraggable {
private int fpsCount = 0;
public Minced() {
super("Minced", 10, 10, 120, 15, true);
}
@Override
public void tick() {
fpsCount = mc.getCurrentFps();
}
@Override
public void drawDraggable(DrawContext e) {
if (mc.player == null || mc.world == null) return;
MatrixStack matrix = e.getMatrices();
String clientName = "Minced";
String userName = System.getenv("username");
String serverIp = mc.isInSingleplayer() ? "Singleplayer" : (mc.getCurrentServerEntry() != null ? mc.getCurrentServerEntry().address : "None");
String fpsVal = "FPS: " + fpsCount;
int white = -1;
int iconColor = Hud.getInstance().colorSetting.getColor();
var logoFont = Fonts.getSize(14, Fonts.Type.LOGO);
var minilogoFont = Fonts.getSize(18, Fonts.Type.LOGO);
var boldFont = Fonts.getSize(14, Fonts.Type.BOLD);
var defaultFont = Fonts.getSize(14, Fonts.Type.DEFAULT);
float spacing = 4f;
float iconLWidth = logoFont.getStringWidth("L") + 3;
float iconUWidth = logoFont.getStringWidth("U") + 3;
float iconWWidth = logoFont.getStringWidth("W") + 3;
float iconYWidth = logoFont.getStringWidth("y") + 3;
float totalWidth = 4;
totalWidth += iconLWidth + boldFont.getStringWidth(clientName);
totalWidth += spacing;
totalWidth += iconUWidth + defaultFont.getStringWidth(userName);
totalWidth += spacing;
totalWidth += iconWWidth + defaultFont.getStringWidth(serverIp);
totalWidth += spacing;
totalWidth += iconYWidth + defaultFont.getStringWidth(fpsVal);
totalWidth += 5;
float bgHeight = 15f;
setWidth((int) totalWidth);
setHeight((int) bgHeight);
blur.render(ShapeProperties.create(matrix, getX(), getY(), totalWidth, bgHeight)
.round(4f).quality(12).color(new Color(20, 20, 25, 220).getRGB()).build());
rectangle.render(ShapeProperties.create(matrix, getX(), getY(), totalWidth, bgHeight)
.round(4f).thickness(0.5f).outlineColor(new Color(50, 50, 55, 120).getRGB())
.color(new Color(25, 26, 28, 180).getRGB()).build());
float centerY = getY() + (bgHeight / 2f) - (7f / 2f) + 1.0f;
float currentX = getX() + 5;
logoFont.drawString(matrix, "L", currentX, centerY + 1f, iconColor);
currentX += iconLWidth;
boldFont.drawString(matrix, clientName, currentX, centerY + 0.5f, white);
currentX += boldFont.getStringWidth(clientName) + spacing;
minilogoFont.drawString(matrix, "U", currentX, centerY + 0.5f, iconColor);
currentX += iconUWidth;
defaultFont.drawString(matrix, userName, currentX, centerY + 0.5f, white);
currentX += defaultFont.getStringWidth(userName) + spacing;
minilogoFont.drawString(matrix, "W", currentX, centerY + 0.5f, iconColor);
currentX += iconWWidth;
defaultFont.drawString(matrix, serverIp, currentX, centerY + 0.5f, white);
currentX += defaultFont.getStringWidth(serverIp) + spacing;
minilogoFont.drawString(matrix, "y", currentX, centerY + 0.5f, iconColor);
currentX += iconYWidth;
defaultFont.drawString(matrix, fpsVal, currentX, centerY + 0.5f, white);
}
private int calculatePing() {
if (mc.getNetworkHandler() != null && mc.player != null) {
var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
if (entry != null) return entry.getLatency();
}
return 0;
}
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
Последнее редактирование: