Вопрос Notification

Начинающий
Статус
Оффлайн
Регистрация
3 Мар 2023
Сообщения
74
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Кто может помочь с Nottifecation на 3.1?
 
Начинающий
Статус
Оффлайн
Регистрация
3 Мар 2023
Сообщения
74
Реакции[?]
0
Поинты[?]
0

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.


package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegistry;
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.Scissor;
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.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class NotificationsRenderer implements ElementRenderer {
final FunctionRegistry functionRegistry;

public NotificationsRenderer(Object notify) {
this.functionRegistry = Expensive.getInstance().getFunctionRegistry();
}
float width;
float height;

public static void window(EventDisplay e) {
}

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

float screenWidth = Minecraft.getInstance().getMainWindow().getScaledWidth();
float screenHeight = Minecraft.getInstance().getMainWindow().getScaledHeight();

float posX = screenWidth - width - 5; // Расположение справа
float posY = screenHeight - height - 5; // Расположение снизу
float fontSize = 6.5f;
float padding = 5;

ITextComponent title = GradientUtil.gradient("Функции");

Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

DisplayUtils.drawShadow(posX, posY, width, height, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
drawStyledRect(posX, posY, width, height, 4);
Scissor.push();
Scissor.setFromComponentCoordinates(posX, posY, width, height);
Fonts.sfui.drawCenteredText(ms, title, posX + width / 2, posY + padding + 0.5f, fontSize);

posY += fontSize + padding * 2;

float maxWidth = Fonts.sfMedium.getWidth(title, fontSize) + padding * 2;
float localHeight = fontSize + padding * 2;

for (Function function : functionRegistry.getFunctions()) {
String functionName = function.getName() + " " + (function.isState() ? "включено" : "выключено");
float nameWidth = Fonts.sfMedium.getWidth(functionName, fontSize);

Fonts.sfMedium.drawText(ms, functionName, posX + padding, posY, ColorUtils.rgba(210, 210, 210, 255), fontSize);

if (nameWidth + padding * 2 > maxWidth) {
maxWidth = nameWidth + padding * 2;
}

posY += (fontSize + padding);
localHeight += (fontSize + padding);
}
Scissor.unset();
Scissor.pop();
width = Math.max(maxWidth, 80);
height = localHeight + 2.5f;
}


private void drawStyledRect(float x,
float y,
float width,
float height,
float radius) {

DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
}
}
 
Начинающий
Статус
Оффлайн
Регистрация
3 Мар 2023
Сообщения
74
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
3 Мар 2023
Сообщения
74
Реакции[?]
0
Поинты[?]
0
Последнее редактирование:
Сверху Снизу