Визуальная часть HpAlert 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Июл 2025
Сообщения
18
Реакции
0
Выберите загрузчик игры
  1. Vanilla
  2. Прочие моды
Показывает оповещение о низком хп над прицелом

HpAlert.java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.functions.settings.impl.StringSetting;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;

@FunctionRegister(name = "HpAlert", type = Category.Render)
public class HpAlert extends Function {
    SliderSetting HP = new SliderSetting("Хп для срабатывания", 8.0F, 1.0F, 20.0F, 1.0F);
    public StringSetting Message = new StringSetting("Текст сообщения", "Нужен отхил!", "Текст для оповещения");
    public ModeSetting FontYopta = new ModeSetting("Шрифт", "SFUI", "SFUI", "Montserrat");
    public ModeSetting Photoshop = new ModeSetting("Стиль", "brokenIOS", "brokenIOS", "fireIOS", "3D", "Alert");
    private float Animki1 = 0.0F;
    private boolean Animki2 = true;
    private long Animki3 = 0L;
    private final int FontSize = 20;
    private static final float Photo1 = 120.0F;
    private static final float Photo2 = 95.0F;
    private static final int Place1 = 50;
    private static final int Place2 = 15;

    public HpAlert() {
        addSettings(HP, Message, FontYopta, Photoshop);
    }

    @Subscribe
    public void onRender(EventDisplay event) {
        if (event.getType() != EventDisplay.Type.HIGH) return;
        if (mc.player == null) return;
        if (mc.player.getHealth() < HP.get()) {
            long timeNow = System.currentTimeMillis();
            if (timeNow - Animki3 > 50L) {
                Animki3 = timeNow;
                if (Animki2) {
                    Animki1 += 0.07F;
                    if (Animki1 >= 1.0F) {
                        Animki1 = 1.0F;Animki2 = false;
                    }
                } else {
                    Animki1 -= 0.07F;
                    if (Animki1 <= 0.0F) {
                        Animki1 = 0.0F;Animki2 = true;
                    }
                }
            }

            int Screen = mc.getMainWindow().getScaledWidth();int Color = (int)(Animki1 * 255.0F) << 24 | 0xFFFFFF;
            float Photo3 = (Screen - Photo1) / 2;float Photo4 = Place1;
            String Text1 = Message.get();float Text2 = Fonts.sfui.getWidth(Text1, FontSize);
            float Text3 = (Screen - Text2) / 2;float Text4 = Photo4 + Photo2 + Place2;
            if (Animki1 > 0.0F) {
                com.mojang.blaze3d.matrix.MatrixStack MS = event.getMatrixStack();
                switch (FontYopta.get()) {
                    case "SFUI":
                        Fonts.sfui.drawText(MS, Text1, Text3, Text4, Color, FontSize);
                        break;
                    case "Montserrat":
                        Fonts.montserrat.drawText(MS, Text1, Text3, Text4, Color, FontSize);
                        break;
                }
            }
            ResourceLocation brokenIOS = new ResourceLocation("expensive/images/lowhp1.png");
            ResourceLocation alert = new ResourceLocation("expensive/images/lowhp4.png");
            ResourceLocation fireIOS = new ResourceLocation("expensive/images/lowhp2.png");
            ResourceLocation ЗD = new ResourceLocation("expensive/images/lowhp3.png");
            switch (Photoshop.get()) {
                case "brokenIOS":
                    DisplayUtils.drawImage(brokenIOS, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
                case "fireIOS":
                    DisplayUtils.drawImage(fireIOS, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
                case "3D":
                    DisplayUtils.drawImage(ЗD, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
                case "Alert":
                    DisplayUtils.drawImage(alert, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
            }
        }
    }
}

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Показывает оповещение о низком хп над прицелом

HpAlert.java:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.functions.settings.impl.StringSetting;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;

@FunctionRegister(name = "HpAlert", type = Category.Render)
public class HpAlert extends Function {
    SliderSetting HP = new SliderSetting("Хп для срабатывания", 8.0F, 1.0F, 20.0F, 1.0F);
    public StringSetting Message = new StringSetting("Текст сообщения", "Нужен отхил!", "Текст для оповещения");
    public ModeSetting FontYopta = new ModeSetting("Шрифт", "SFUI", "SFUI", "Montserrat");
    public ModeSetting Photoshop = new ModeSetting("Стиль", "brokenIOS", "brokenIOS", "fireIOS", "3D", "Alert");
    private float Animki1 = 0.0F;
    private boolean Animki2 = true;
    private long Animki3 = 0L;
    private final int FontSize = 20;
    private static final float Photo1 = 120.0F;
    private static final float Photo2 = 95.0F;
    private static final int Place1 = 50;
    private static final int Place2 = 15;

    public HpAlert() {
        addSettings(HP, Message, FontYopta, Photoshop);
    }

    @Subscribe
    public void onRender(EventDisplay event) {
        if (event.getType() != EventDisplay.Type.HIGH) return;
        if (mc.player == null) return;
        if (mc.player.getHealth() < HP.get()) {
            long timeNow = System.currentTimeMillis();
            if (timeNow - Animki3 > 50L) {
                Animki3 = timeNow;
                if (Animki2) {
                    Animki1 += 0.07F;
                    if (Animki1 >= 1.0F) {
                        Animki1 = 1.0F;Animki2 = false;
                    }
                } else {
                    Animki1 -= 0.07F;
                    if (Animki1 <= 0.0F) {
                        Animki1 = 0.0F;Animki2 = true;
                    }
                }
            }

            int Screen = mc.getMainWindow().getScaledWidth();int Color = (int)(Animki1 * 255.0F) << 24 | 0xFFFFFF;
            float Photo3 = (Screen - Photo1) / 2;float Photo4 = Place1;
            String Text1 = Message.get();float Text2 = Fonts.sfui.getWidth(Text1, FontSize);
            float Text3 = (Screen - Text2) / 2;float Text4 = Photo4 + Photo2 + Place2;
            if (Animki1 > 0.0F) {
                com.mojang.blaze3d.matrix.MatrixStack MS = event.getMatrixStack();
                switch (FontYopta.get()) {
                    case "SFUI":
                        Fonts.sfui.drawText(MS, Text1, Text3, Text4, Color, FontSize);
                        break;
                    case "Montserrat":
                        Fonts.montserrat.drawText(MS, Text1, Text3, Text4, Color, FontSize);
                        break;
                }
            }
            ResourceLocation brokenIOS = new ResourceLocation("expensive/images/lowhp1.png");
            ResourceLocation alert = new ResourceLocation("expensive/images/lowhp4.png");
            ResourceLocation fireIOS = new ResourceLocation("expensive/images/lowhp2.png");
            ResourceLocation ЗD = new ResourceLocation("expensive/images/lowhp3.png");
            switch (Photoshop.get()) {
                case "brokenIOS":
                    DisplayUtils.drawImage(brokenIOS, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
                case "fireIOS":
                    DisplayUtils.drawImage(fireIOS, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
                case "3D":
                    DisplayUtils.drawImage(ЗD, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
                case "Alert":
                    DisplayUtils.drawImage(alert, Photo3, Photo4, Photo1, Photo2, -2);
                    break;
            }
        }
    }
}

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.
:FailFish:
 
Назад
Сверху Снизу