-
Автор темы
- #1
Приветствую всех кто зашел на данную тему! Рад представить вам свою первую работу.
Не судите строго (первая работа все таки, да и я пастер но эту вт не пастил а делал сам потому что не хочу быть пастером, даже сам фризик мне помогал
)
Очень жду ваших оценок и возможно советов
(если что она вся меняет цвет в зависимости от выбранной темы клиента) :3
ss

код ниже

Не судите строго (первая работа все таки, да и я пастер но эту вт не пастил а делал сам потому что не хочу быть пастером, даже сам фризик мне помогал

Очень жду ваших оценок и возможно советов
(если что она вся меняет цвет в зависимости от выбранной темы клиента) :3
ss

код ниже
Код:
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.KawaseBlur;
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.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;
import java.text.SimpleDateFormat;
import java.util.Date;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {
final ResourceLocation logo = new ResourceLocation("expensive/images/hud/logo.png");
private final ResourceLocation user = new ResourceLocation("expensive/images/hud/user.png");
@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
float posX = 4; //в право в лево
float posY = 4; // в верх в низ
float padding = 5; // отступы между элементами
float fontSize = 6.5f; // размер шрифта
float iconSize = 10;// размер иконки
float posX1 = 65;
String name = mc.player.getName().getString();
String username = name;
float namewidht = Fonts.sfMedium.getWidth(username, fontSize);
float posX12 = 18;
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String timeString = sdf.format(new Date());
String time = timeString;
Style style = Expensive.getInstance().getStyleManager().getCurrentStyle(); // темку получить из худа
//DisplayUtils.drawShadow(posX, posY, iconSize + padding * 2, iconSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB()); // тень
drawStyledRect(5, posY, 50 + 18 * 2, iconSize + padding * 2, 4); // прямоугольник с неймом клиента
DisplayUtils.drawImage(logo, posX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255)); //отрисовка картинки лога клиента
ITextComponent nameclient = GradientUtil.gradient("Expensive Client"); // нейм клиента пон
ITextComponent text = GradientUtil.gradient("PASTO"); // текст который в нутри юзера
int fps = mc.getDebugFPS();
ITextComponent fpsText = GradientUtil.gradient(String.valueOf(fps));
float fpsTextWidth = Fonts.sfMedium.getWidth(fpsText, fontSize);
float fpsPosX = posX + iconSize + padding * 3;
if (fps >= 100 && fps <= 999) {
posX1 += 5;
}
float textWidth = Fonts.sfui.getWidth(text, fontSize); // размер текста
float textWidthTwo = Fonts.sfui.getWidth(nameclient, fontSize); // размер текста с названием клиента
float localPosX = posX + iconSize + padding * 3; //расположение текста
//DisplayUtils.drawShadow(localPosX, posY, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 20, style.getFirstColor().getRGB(), style.getSecondColor().getRGB()); //тень
drawStyledRect(25 + 70, posY, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 4); // прямоугольник (фон на нике юзера)
drawStyledRect(70 + -10, 25, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 4); // рендер фона времени
DisplayUtils.drawImage(user, 93 + padding, 4 + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255)); // картинка
Fonts.sfui.drawText(ms, nameclient, 7 + iconSize + padding * 1.5f - 1, 4.3f + iconSize / 2 + 1.5f, fontSize, 255); // отрисовка текста с названием клиента
Fonts.sfui.drawText(ms, text, 94 + iconSize + padding * 1.5f - 1, 4.8f + iconSize / 2 + 1.5f, fontSize, 255); // отрисовка текста с ником юзера
drawStyledRect(6 + 0, 25, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 4); // фон для фпс
Fonts.sfMedium.drawText(eventDisplay.getMatrixStack(), fps + " FPS", -108 + 89 + namewidht, posY + 28.5f, ColorUtils.getColor(0), fontSize + 0, 0.05f); //рендеринг фпс
Fonts.sfMedium.drawText(eventDisplay.getMatrixStack(), time, -53.5f + 89 + namewidht, posY + 28.5f, ColorUtils.getColor(0), fontSize + 0, 0.05f); //рендеринг времени
}
private void drawStyledRect(float x,
float y,
float width,
float height,
float radius) {
//DisplayUtils.drawRoundedRect(x - 1f, y - 1f, width + 2, height + 2, radius + 2f, ColorUtils.getColor(0));
// outline
DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 190));
}
//с 52 по 60 строку функция которая отрисовывает черный прямоугольник с обводкой в цвет темы клиента
}
Последнее редактирование: