ArrayList nevernight'a | EXP 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Ноя 2023
Сообщения
248
Реакции
1
не знаю может кому то нужно
вот код
ArrayList:
Expand Collapse Copy
//
//

package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Function;
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;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
    private int lastIndex;
    List<Function> list;
    StopWatch stopWatch = new StopWatch();

    public ArrayListRenderer() {
    }

    public void update(EventUpdate e) {
        if (this.stopWatch.isReached(1000L)) {
            this.list = Expensive.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
            this.stopWatch.reset();
        }

    }

    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float rounding = 6.0F;
        float padding = 3.5F;
        Minecraft mc = Minecraft.getInstance();
        int screenWidth = mc.getMainWindow().getScaledWidth();
        float posY = 0.0F;
        int index = 0;
        if (this.list != null) {
            Iterator var9 = this.list.iterator();

            Function f;
            float fontSize;
            Animation anim;
            float value;
            String text;
            while(var9.hasNext()) {
                f = (Function)var9.next();
                fontSize = 6.5F;
                anim = f.getAnimation();
                value = (float)anim.getValue();
                text = f.getName();
                Fonts.sfui.getWidth(text, fontSize);
                if (value != 0.0F) {
                    posY += (fontSize + padding * 2.0F) * value;
                    ++index;
                }
            }

            index = 0;
            posY = 5.0F;
            var9 = this.list.iterator();

            while(var9.hasNext()) {
                f = (Function)var9.next();
                fontSize = 6.5F;
                anim = f.getAnimation();
                anim.update();
                value = (float)anim.getValue();
                text = f.getName();
                float textWidth = Fonts.sfui.getWidth(text, fontSize);
                if (value != 0.0F) {
                    float localFontSize = fontSize * value;
                    float localTextWidth = textWidth * value;
                    float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
                    boolean isFirst = index == 0;
                    boolean isLast = index == this.lastIndex;
                    float topLeftRadius = isFirst ? rounding : 0.0F;
                    float bottomLeftRadius = isLast ? rounding : 0.0F;
                    DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, ColorUtils.rgba(25, 25, 25, 250));
                    DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, ColorUtils.rgba(25, 25, 25, 250));
                    Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
                    posY += (fontSize + padding * 2.0F - 1.0F) * value;
                    ++index;
                }
            }

            this.lastIndex = index - 1;
        }

    }
}






ss:
1718857515250.png
 
Последнее редактирование:
зачем сливать ауралист на правой стороне?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
понятно недокодер
 
не знаю может кому то нужно
вот код
ArrayList:
Expand Collapse Copy
//
//

package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Function;
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;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
    private int lastIndex;
    List<Function> list;
    StopWatch stopWatch = new StopWatch();

    public ArrayListRenderer() {
    }

    public void update(EventUpdate e) {
        if (this.stopWatch.isReached(1000L)) {
            this.list = Expensive.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
            this.stopWatch.reset();
        }

    }

    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float rounding = 6.0F;
        float padding = 3.5F;
        Minecraft mc = Minecraft.getInstance();
        int screenWidth = mc.getMainWindow().getScaledWidth();
        float posY = 0.0F;
        int index = 0;
        if (this.list != null) {
            Iterator var9 = this.list.iterator();

            Function f;
            float fontSize;
            Animation anim;
            float value;
            String text;
            while(var9.hasNext()) {
                f = (Function)var9.next();
                fontSize = 6.5F;
                anim = f.getAnimation();
                value = (float)anim.getValue();
                text = f.getName();
                Fonts.sfui.getWidth(text, fontSize);
                if (value != 0.0F) {
                    posY += (fontSize + padding * 2.0F) * value;
                    ++index;
                }
            }

            index = 0;
            posY = 5.0F;
            var9 = this.list.iterator();

            while(var9.hasNext()) {
                f = (Function)var9.next();
                fontSize = 6.5F;
                anim = f.getAnimation();
                anim.update();
                value = (float)anim.getValue();
                text = f.getName();
                float textWidth = Fonts.sfui.getWidth(text, fontSize);
                if (value != 0.0F) {
                    float localFontSize = fontSize * value;
                    float localTextWidth = textWidth * value;
                    float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
                    boolean isFirst = index == 0;
                    boolean isLast = index == this.lastIndex;
                    float topLeftRadius = isFirst ? rounding : 0.0F;
                    float bottomLeftRadius = isLast ? rounding : 0.0F;
                    DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, ColorUtils.rgba(25, 25, 25, 250));
                    DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, ColorUtils.rgba(25, 25, 25, 250));
                    Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
                    posY += (fontSize + padding * 2.0F - 1.0F) * value;
                    ++index;
                }
            }

            this.lastIndex = index - 1;
        }

    }
}






ss:
Посмотреть вложение 279698
Красивый,как в arbuz client первой версии вроде
 
Назад
Сверху Снизу