Вопрос ArrayList | Exp 3.1

Начинающий
Статус
Оффлайн
Регистрация
30 Авг 2024
Сообщения
25
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

какая строчка отвечает за то чтобы цвет совпадал с темои клиента ? типо выбираешь зеленыи худ в клиенте и что бы модули совпадали с выбранным цветом в клиенте
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.impl.render.HUD;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.display.ElementUpdater;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;
import ru.hogoshi.Animation;

import java.util.List;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {

private int lastIndex;

List<Function> list;


StopWatch stopWatch = new StopWatch();

@Override
public void update(EventUpdate e) {
if (stopWatch.isReached(1000)) {
list = Expensive.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 9 - 1.5f)
.stream()
.filter(m -> m.getCategory() != Category.Render)
.filter(m -> m.getCategory() != Category.Misc)
.toList();
stopWatch.reset();
}
}

@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
float rounding = 4;
float padding = 1.5f;
float posX = 4;
float posY = 4 + 2;
int index = 0;

if (list == null) return;

for (Function f : list) {
float fontSize = 6.5f;
Animation anim = f.getAnimation();
float value = (float) anim.getValue();
String text = f.getName();
float textWidth = Fonts.sfui.getWidth(text, fontSize);

if (value != 0) {
float localFontSize = fontSize * value;
float localTextWidth = textWidth * value;

//DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2, localFontSize + padding + 3, 20, ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value)));
posY += (fontSize + padding * 3) * value;
index++;
}
}
index = 0;
posY = 4 + 2;
for (Function f : list) {
float fontSize = 6.5f;
Animation anim = f.getAnimation();
anim.update();

float value = (float) anim.getValue();

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

if (value != 0) {
float localFontSize = fontSize * value;
float localTextWidth = textWidth + value;

boolean isFirst = index == 0;
boolean isLast = index == lastIndex;

float localRounding = rounding;

for (Function f2 : list.subList(list.indexOf(f) + 1, list.size())) { // predict next active module
if (f2.getAnimation().getValue() != 0) {
localRounding = isLast ? rounding : Math.min(textWidth - Fonts.sfui.getWidth(f2.getName(), fontSize), rounding);
break;
}
}


Vector4f rectVec = new Vector4f(isFirst ? rounding : 0, isLast ? rounding : 0, isFirst ? rounding : 0, isLast ? rounding : localRounding);

//DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2, localFontSize + padding + 3, 6, ColorUtils.getColor(90) );
//DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 3, localFontSize + padding + 6, 4, ColorUtils.getColor(0)); // outline
DisplayUtils.drawRoundedRect(posX, posY + 20, localTextWidth + padding * 3, localFontSize + padding + 6, 4, ColorUtils.rgba(21, 21, 21, 235));

Fonts.sfui.drawText(ms, f.getName(), posX + padding + 0.3f, posY + padding + 22, ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value)), localFontSize);
//ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value))

posY += (fontSize + padding + 8) * value;
index++;
}
}

lastIndex = index - 1;
}
}
 
Начинающий
Статус
Оффлайн
Регистрация
15 Июн 2024
Сообщения
426
Реакции[?]
3
Поинты[?]
1K
Чутка не понял, что ты хочешь, но вот держи, попробуй:
//нихуя не понял, но очень интересно
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.impl.render.HUD;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.display.ElementUpdater;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;
import ru.hogoshi.Animation;

import java.util.List;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {

    private int lastIndex;
    private List<Function> list;
    private StopWatch stopWatch = new StopWatch();

    @Override
    public void update(EventUpdate e) {
        if (stopWatch.isReached(1000)) {
            list = Expensive.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 9 - 1.5f)
                    .stream()
                    .filter(m -> m.getCategory() != Category.Render)
                    .filter(m -> m.getCategory() != Category.Misc)
                    .toList();
            stopWatch.reset();
        }
    }

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float rounding = 4;
        float padding = 1.5f;
        float posX = 4;
        float posY = 4 + 2;
        int index = 0;

        if (list == null) return;

        for (Function f : list) {
            float fontSize = 6.5f;
            Animation anim = f.getAnimation();
            float value = (float) anim.getValue();
            String text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);

            if (value != 0) {
                float localFontSize = fontSize * value;
                float localTextWidth = textWidth * value;

                //DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2, localFontSize + padding + 3, 20, ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value)));
                posY += (fontSize + padding * 3) * value;
                index++;
            }
        }
        index = 0;
        posY = 4 + 2;
        for (Function f : list) {
            float fontSize = 6.5f;
            Animation anim = f.getAnimation();
            anim.update();

            float value = (float) anim.getValue();

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

            if (value != 0) {
                float localFontSize = fontSize * value;
                float localTextWidth = textWidth + value;

                boolean isFirst = index == 0;
                boolean isLast = index == lastIndex;

                float localRounding = rounding;

                for (Function f2 : list.subList(list.indexOf(f) + 1, list.size())) {
                    if (f2.getAnimation().getValue() != 0) {
                        localRounding = isLast ? rounding : Math.min(textWidth - Fonts.sfui.getWidth(f2.getName(), fontSize), rounding);
                        break;
                    }
                }

                Vector4f rectVec = new Vector4f(isFirst ? rounding : 0, isLast ? rounding : 0, isFirst ? rounding : 0, isLast ? rounding : localRounding);

                //DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2, localFontSize + padding + 3, 6, ColorUtils.getColor(90) );
                //DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 3, localFontSize + padding + 6, 4, ColorUtils.getColor(0));
                DisplayUtils.drawRoundedRect(posX, posY + 20, localTextWidth + padding * 3, localFontSize + padding + 6, 4, ColorUtils.rgba(21, 21, 21, 235));

                Fonts.sfui.drawText(ms, f.getName(), posX + padding + 0.3f, posY + padding + 22, ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value)), localFontSize);

                posY += (fontSize + padding + 8) * value;
                index++;
            }
        }

        lastIndex = index - 1;
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
30 Авг 2024
Сообщения
25
Реакции[?]
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.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.impl.render.HUD;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.display.ElementUpdater;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;
import ru.hogoshi.Animation;

import java.util.List;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {

    private int lastIndex;
    private List<Function> list;
    private StopWatch stopWatch = new StopWatch();

    @Override
    public void update(EventUpdate e) {
        if (stopWatch.isReached(1000)) {
            list = Expensive.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 9 - 1.5f)
                    .stream()
                    .filter(m -> m.getCategory() != Category.Render)
                    .filter(m -> m.getCategory() != Category.Misc)
                    .toList();
            stopWatch.reset();
        }
    }

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float rounding = 4;
        float padding = 1.5f;
        float posX = 4;
        float posY = 4 + 2;
        int index = 0;

        if (list == null) return;

        for (Function f : list) {
            float fontSize = 6.5f;
            Animation anim = f.getAnimation();
            float value = (float) anim.getValue();
            String text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);

            if (value != 0) {
                float localFontSize = fontSize * value;
                float localTextWidth = textWidth * value;

                //DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2, localFontSize + padding + 3, 20, ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value)));
                posY += (fontSize + padding * 3) * value;
                index++;
            }
        }
        index = 0;
        posY = 4 + 2;
        for (Function f : list) {
            float fontSize = 6.5f;
            Animation anim = f.getAnimation();
            anim.update();

            float value = (float) anim.getValue();

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

            if (value != 0) {
                float localFontSize = fontSize * value;
                float localTextWidth = textWidth + value;

                boolean isFirst = index == 0;
                boolean isLast = index == lastIndex;

                float localRounding = rounding;

                for (Function f2 : list.subList(list.indexOf(f) + 1, list.size())) {
                    if (f2.getAnimation().getValue() != 0) {
                        localRounding = isLast ? rounding : Math.min(textWidth - Fonts.sfui.getWidth(f2.getName(), fontSize), rounding);
                        break;
                    }
                }

                Vector4f rectVec = new Vector4f(isFirst ? rounding : 0, isLast ? rounding : 0, isFirst ? rounding : 0, isLast ? rounding : localRounding);

                //DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2, localFontSize + padding + 3, 6, ColorUtils.getColor(90) );
                //DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 3, localFontSize + padding + 6, 4, ColorUtils.getColor(0));
                DisplayUtils.drawRoundedRect(posX, posY + 20, localTextWidth + padding * 3, localFontSize + padding + 6, 4, ColorUtils.rgba(21, 21, 21, 235));

                Fonts.sfui.drawText(ms, f.getName(), posX + padding + 0.3f, posY + padding + 22, ColorUtils.setAlpha(HUD.getColor(index), (int) (255 * value)), localFontSize);

                posY += (fontSize + padding + 8) * value;
                index++;
            }
        }

        lastIndex = index - 1;
    }
}
ответь в лс
 
Сверху Снизу