• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

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

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
8 Дек 2024
Сообщения
36
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
сделал за 3 минутыЮ,Юне бейте палками первая работа фул на чатегпт
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 im.expensive.utils.text.GradientUtil;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

final ResourceLocation logo = new ResourceLocation("expensive/images/hud/logo.png");

@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();

float posX = 6;
float posY = 6;

float paddingX = 6f;
float paddingY = 2f;
float iconSize = 14f;
float fontSize = 7f;

Minecraft mc = Minecraft.getInstance();
int fps = mc.getDebugFPS();

int ping = 0;
if (mc.player != null && mc.getConnection() != null) {
ping = mc.getConnection().getPlayerInfo(mc.player.getUniqueID()).getResponseTime();
}

// Получаем текущий стиль клиента
Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

// Цвета из темы
int backgroundColor = ColorUtils.rgba(21, 21, 21, 220); // Можно сделать прозрачный чёрный
int borderColor = style.getFirstColor().getRGB(); // Цвет обводки из темы
int shadowColor = ColorUtils.rgba(0, 0, 0, 150);

String textStr = "Vexora | " + fps + " FPS | " + ping + " ms";

ITextComponent text = GradientUtil.gradient(textStr);

float textWidth = Fonts.sfui.getWidth(text, fontSize);

float totalWidth = paddingX * 2 + iconSize + 6f + textWidth;
float totalHeight = paddingY * 2 + iconSize;

DisplayUtils.drawRoundedRect(posX - 1, posY - 1, totalWidth + 2, totalHeight + 2, totalHeight / 2f + 2, borderColor);
DisplayUtils.drawRoundedRect(posX, posY, totalWidth, totalHeight, totalHeight / 2f, backgroundColor);

float logoX = posX + paddingX;
float logoY = posY + (totalHeight - iconSize) / 2f;
DisplayUtils.drawImage(logo, logoX, logoY, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));

float textX = logoX + iconSize + 6f;
float textY = posY + (totalHeight - fontSize) / 2f;

Fonts.sfui.drawText(ms, text, textX + 0.5f, textY + 0.5f, fontSize, shadowColor);
Fonts.sfui.drawText(ms, text, textX, textY, fontSize, 255);
}
}
 

Вложения

  • photo_2025-06-19_13-12-38.jpg
    photo_2025-06-19_13-12-38.jpg
    3.2 KB · Просмотры: 930
Зачем.... Зачем такое сливать!?
 
еще хуже не мог сделать?
 
сделал за 3 минутыЮ,Юне бейте палками первая работа фул на чатегпт
Слишком большое закругление, не делай ректы под цвет темы, иконку не делай под цвет темы а лучше белым, да и в принципе уже никто не делает что либо в ватерках под цвет темы, желаю удачи в продвижении
 
Слишком большое закругление, не делай ректы под цвет темы, иконку не делай под цвет темы а лучше белым, да и в принципе уже никто не делает что либо в ватерках под цвет темы, желаю удачи в продвижении
наоборот ректы под цвет темы это имба
 
Назад
Сверху Снизу