Начинающий
- Статус
- Оффлайн
- Регистрация
- 2 Май 2025
- Сообщения
- 168
- Реакции
- 1
- Выберите загрузчик игры
- Vanilla
- Forge
- Fabric
- OptiFine
Hud Expenis 3.1
noad
HUD:
package im.expensive.ui.display.impl;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.Style;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
public class WatermarkRenderer implements ElementRenderer {
private final Minecraft mc = Minecraft.getInstance();
private static final ResourceLocation LOGO = new ResourceLocation("expensive/images/hud/logo.png");
@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
String username = mc.getSession().getUsername();
String fps = mc.debugFPS + " fps";
String server = mc.getCurrentServerData() != null ? mc.getCurrentServerData().serverIP : "Singleplayer";
String ping = mc.getCurrentServerData() != null ? "55 ms" : "0 ms";
float posX = 4;
float posY = 4;
float padding = 6;
float spacing = 4;
float fontSize = 8;
float iconSize = 14;
Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();
int mainColor = style.getFirstColor().getRGB();
float currentX = posX;
float logoWidth = iconSize + padding * 2;
DisplayUtils.drawShadow(currentX, posY, logoWidth, iconSize + padding * 2, 6, mainColor);
DisplayUtils.drawRoundedRect(currentX, posY, logoWidth, iconSize + padding * 2, 4, ColorUtils.rgb(25, 25, 25));
drawImage(LOGO, currentX + padding, posY + padding, iconSize, iconSize);
currentX += logoWidth + spacing;
float nameWidth = Fonts.sfui.getWidth(username, fontSize) + padding * 2;
DisplayUtils.drawShadow(currentX, posY, nameWidth, iconSize + padding * 2, 6, mainColor);
DisplayUtils.drawRoundedRect(currentX, posY, nameWidth, iconSize + padding * 2, 4, ColorUtils.rgb(25, 25, 25));
Fonts.sfui.drawText(ms, username, currentX + padding, posY + padding + 3, -1, fontSize);
currentX += nameWidth + spacing;
float fpsWidth = Fonts.sfMedium.getWidth(fps, fontSize) + padding * 2;
DisplayUtils.drawShadow(currentX, posY, fpsWidth, iconSize + padding * 2, 6, mainColor);
DisplayUtils.drawRoundedRect(currentX, posY, fpsWidth, iconSize + padding * 2, 4, ColorUtils.rgb(25, 25, 25));
Fonts.sfMedium.drawText(ms, fps, currentX + padding, posY + padding + 3, ColorUtils.rgb(200, 200, 200), fontSize);
currentX += fpsWidth + spacing;
float pingWidth = Fonts.sfMedium.getWidth(ping, fontSize) + padding * 2;
DisplayUtils.drawShadow(currentX, posY, pingWidth, iconSize + padding * 2, 6, mainColor);
DisplayUtils.drawRoundedRect(currentX, posY, pingWidth, iconSize + padding * 2, 4, ColorUtils.rgb(25, 25, 25));
Fonts.sfMedium.drawText(ms, ping, currentX + padding, posY + padding + 3, ColorUtils.rgb(200, 200, 200), fontSize);
currentX += pingWidth + spacing;
float serverWidth = Fonts.sfMedium.getWidth(server, fontSize) + padding * 2;
DisplayUtils.drawShadow(currentX, posY, serverWidth, iconSize + padding * 2, 6, mainColor);
DisplayUtils.drawRoundedRect(currentX, posY, serverWidth, iconSize + padding * 2, 4, ColorUtils.rgb(25, 25, 25));
Fonts.sfMedium.drawText(ms, server, currentX + padding, posY + padding + 3, ColorUtils.rgb(200, 200, 200), fontSize);
}
private void drawImage(ResourceLocation texture, float x, float y, float width, float height) {
DisplayUtils.drawImage(texture, (int) x, y, width, height, -1);
}
}