Исходник Градиентный фон у элементов hud| Expensive 3.1

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

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

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

Спасибо!

Ку всем, моя первая работа в сфере худа.
Внизу я скинул шаблон, в других файлах заполняем также. По вопросам дс craftlez122 (Пишите сразу, а не кидайте др пж)

Шаблон:
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.client.KeyStorage;
import im.expensive.utils.drag.Dragging;
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.gui.screen.ChatScreen;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;

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



    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 6.5f;
        float padding = 5;

        ITextComponent name = GradientUtil.gradient("HotKeys");

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

        //DisplayUtils.drawShadow(posX, posY, width, height, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        DisplayUtils.drawShadow(posX, posY, padding * 16.5f + 1.5f, fontSize + padding * 2.5f + 1.5f, 14, ColorUtils.rgba(31,31,31,255), ColorUtils.rgba(31,31,31, 255));
        if (FunctionRegistry.hud2.style.is("Градиентный фон")) {
            drawStyledRect(posX, posY, width, height, 4, 180);
        } else {
            drawStyledRect(posX, posY, width, height, 4, 255);
        }
        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.sfui.drawCenteredText(ms, name, posX + width / 2, posY + padding + 0.5f, fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;
        if (FunctionRegistry.hud2.style.is("Градиентный фон")) {
            DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY, width - 1, 2.5f, 3, ColorUtils.rgba(0, 0, 0, (int) (255 * 0.25f)));
        }



        posY += 3f;

        for (Function f : Expensive.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize);

            String bindText = "<" + KeyStorage.getKey(f.getBind()) + ">";

            float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize);

            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.sfMedium.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(210, 210, 210, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.getColor(0), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            //DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY - 3f, width - 1, 2.5f, 3, ColorUtils.getColor(90));
            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);

        if (mc.currentScreen instanceof ChatScreen){
            DisplayUtils.drawImage(grab, posX + 20, posY - 17, 25,25, -1);
        }
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius , int alpha) {
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        if (FunctionRegistry.hud2.style.is("Градиентный фон")) {
            DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius, style.getFirstColor().getRGB()); // outline
        }
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(31,31,31, alpha));
    }
}
2024-05-07_16.30.14.pngSS
 
Начинающий
Статус
Оффлайн
Регистрация
11 Апр 2024
Сообщения
24
Реакции[?]
0
Поинты[?]
0
Ребята, спасайте. Спрашивал везде – нету помощи. Когда я захожу на Reallyworld с expensive 3.1 ( не важно, сурсы это или версия ), то когда я загружаю ресурспак сервера, то вылетает к хуям.
 
Начинающий
Статус
Оффлайн
Регистрация
20 Дек 2023
Сообщения
126
Реакции[?]
0
Поинты[?]
0
Ребята, спасайте. Спрашивал везде – нету помощи. Когда я захожу на Reallyworld с expensive 3.1 ( не важно, сурсы это или версия ), то когда я загружаю ресурспак сервера, то вылетает к хуям.
Юзай SRPSpoofer no ad
Спс
 
Начинающий
Статус
Оффлайн
Регистрация
20 Дек 2023
Сообщения
126
Реакции[?]
0
Поинты[?]
0
ColorUtils.setAlpha(ColorUtils.getColor(90),64)
Какая проблема да?
проблемы здесь нет, просто этот способ мне показался легче. (Не бей меня пжпж)
ColorUtils.setAlpha(ColorUtils.getColor(90),64)
Какая проблема да?
Причём мой способ по красивее получится
 
Начинающий
Статус
Оффлайн
Регистрация
11 Апр 2024
Сообщения
24
Реакции[?]
0
Поинты[?]
0
1715084638419.png реябт, проблема в спуфере, что нужно сделать чтобы не подчеркивало?
 
Начинающий
Статус
Оффлайн
Регистрация
20 Дек 2023
Сообщения
126
Реакции[?]
0
Поинты[?]
0
Read Only
Статус
Оффлайн
Регистрация
29 Апр 2023
Сообщения
842
Реакции[?]
4
Поинты[?]
5K
Ребята, спасайте. Спрашивал везде – нету помощи. Когда я захожу на Reallyworld с expensive 3.1 ( не важно, сурсы это или версия ), то когда я загружаю ресурспак сервера, то вылетает к хуям.
я не ебу как это связанно,
Ребята, спасайте. Спрашивал везде – нету помощи. Когда я захожу на Reallyworld с expensive 3.1 ( не важно, сурсы это или версия ), то когда я загружаю ресурспак сервера, то вылетает к хуям.
не знаю как это связанно,но добавь в мейн класс это

userData = new UserData("virmeil", 1);
мне помогло
 
Начинающий
Статус
Оффлайн
Регистрация
11 Апр 2024
Сообщения
24
Реакции[?]
0
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
17 Мар 2024
Сообщения
194
Реакции[?]
2
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ку всем, моя первая работа в сфере худа.
Внизу я скинул шаблон, в других файлах заполняем также. По вопросам дс craftlez122 (Пишите сразу, а не кидайте др пж)

Шаблон:
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.client.KeyStorage;
import im.expensive.utils.drag.Dragging;
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.gui.screen.ChatScreen;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;

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



    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 6.5f;
        float padding = 5;

        ITextComponent name = GradientUtil.gradient("HotKeys");

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

        //DisplayUtils.drawShadow(posX, posY, width, height, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        DisplayUtils.drawShadow(posX, posY, padding * 16.5f + 1.5f, fontSize + padding * 2.5f + 1.5f, 14, ColorUtils.rgba(31,31,31,255), ColorUtils.rgba(31,31,31, 255));
        if (FunctionRegistry.hud2.style.is("Градиентный фон")) {
            drawStyledRect(posX, posY, width, height, 4, 180);
        } else {
            drawStyledRect(posX, posY, width, height, 4, 255);
        }
        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.sfui.drawCenteredText(ms, name, posX + width / 2, posY + padding + 0.5f, fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.sfMedium.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;
        if (FunctionRegistry.hud2.style.is("Градиентный фон")) {
            DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY, width - 1, 2.5f, 3, ColorUtils.rgba(0, 0, 0, (int) (255 * 0.25f)));
        }



        posY += 3f;

        for (Function f : Expensive.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.sfMedium.getWidth(nameText, fontSize);

            String bindText = "<" + KeyStorage.getKey(f.getBind()) + ">";

            float bindWidth = Fonts.sfMedium.getWidth(bindText, fontSize);

            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.sfMedium.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(210, 210, 210, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.sfMedium.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.getColor(0), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            //DisplayUtils.drawRectHorizontalW(posX + 0.5f, posY - 3f, width - 1, 2.5f, 3, ColorUtils.getColor(90));
            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);

        if (mc.currentScreen instanceof ChatScreen){
            DisplayUtils.drawImage(grab, posX + 20, posY - 17, 25,25, -1);
        }
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius , int alpha) {
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        if (FunctionRegistry.hud2.style.is("Градиентный фон")) {
            DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius, style.getFirstColor().getRGB()); // outline
        }
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(31,31,31, alpha));
    }
}
Посмотреть вложение 276285SS
хуета + нахуя
 
Сверху Снизу