Исходник Hpalert expensive 2.0 ready

Начинающий
Статус
Оффлайн
Регистрация
27 Ноя 2020
Сообщения
37
Реакции[?]
2
Поинты[?]
2K

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

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

Спасибо!

ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Начинающий
Статус
Оффлайн
Регистрация
29 Июн 2023
Сообщения
190
Реакции[?]
3
Поинты[?]
7K
ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
если так подумать норм функция но правдо безполезная
 
Начинающий
Статус
Оффлайн
Регистрация
22 Авг 2022
Сообщения
332
Реакции[?]
3
Поинты[?]
3K
ну это же пиздец блять, такие вещи делать с chatgpt :NotLikeThis:
хотябы анимацию сделал плавного проявления
 
Read Only
Статус
Оффлайн
Регистрация
19 Июл 2024
Сообщения
207
Реакции[?]
0
Поинты[?]
0
ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
выглядит прикольно мне нравится, но по факту залупа функция хз что за долбаебы не могут уследить за хп
 
Начинающий
Статус
Оффлайн
Регистрация
14 Апр 2023
Сообщения
439
Реакции[?]
4
Поинты[?]
2K
ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
повторю за всеми, фича прикольная (и кстати нужная, сам юзаю), но сливать на юг код который может иишка написать... не вижу смысла
 
Read Only
Статус
Оффлайн
Регистрация
19 Июл 2024
Сообщения
207
Реакции[?]
0
Поинты[?]
0
повторю за всеми, фича прикольная (и кстати нужная, сам юзаю), но сливать на юг код который может иишка написать... не вижу смысла
я считаю что функция не нужная, но красивая
Ждем HpAlert//expensive 3.1 xD
фрик
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2024
Сообщения
154
Реакции[?]
2
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
25 Фев 2024
Сообщения
473
Реакции[?]
0
Поинты[?]
0
ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
ну переносить на 3.1 лень и долго:sob:
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июл 2024
Сообщения
123
Реакции[?]
0
Поинты[?]
0
ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Где такой чат гпт берете он же не даст ответ по софту
 
Начинающий
Статус
Оффлайн
Регистрация
22 Авг 2022
Сообщения
332
Реакции[?]
3
Поинты[?]
3K
ебануть красивенький может с анимацией?
Код:
@FunctionAnnotation(name = "HpAlert", type = Category.Render)
public class HpAlert extends Function {
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    boolean hp;
    float animation;

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }
    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();


        final float health = mc.player.getHealth();
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        if (health >= threshold) {
            hp = true;
        } else {
            hp = false;
        }
        
        String message = "Внимание! Низкий уровень здоровья!";
        
        animation = AnimationMath.fast(animation, hp ? 0 : 1, 4);
        
        int screenWidth = mc.getMainWindow().getScaledWidth();
        int screenHeight = mc.getMainWindow().getScaledHeight();
        
        float heartWidth = 64f; 
        float heartHeight = 64f;
        float heartPosX = screenWidth / 2f - heartWidth / 2f;
        float heartPosY = screenHeight / 2f - heartHeight - 100;

        float textWidth = 150f;
        float textHeight = 20f;
        float textPosX = screenWidth / 2f;
        float textPosY = screenHeight / 2f - 85;
        Fonts.sfsemibold[22].drawCenteredString(stack, message, textPosX, textPosY, RenderUtil.reAlphaInt(-1, (int) (255 * animkaxd)));
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
23 Апр 2024
Сообщения
396
Реакции[?]
0
Поинты[?]
1K
ну типа ээ hp alert с wild созданный chat gpt

chatgpt hpalert:
package wtf.chatgpt.modules.impl.render;

import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import wtf.chatgpt.events.Event;
import wtf.chatgpt.events.impl.render.EventRender;
import wtf.chatgpt.modules.Function;
import wtf.chatgpt.modules.FunctionAnnotation;
import wtf.chatgpt.modules.Type;
import wtf.chatgpt.modules.settings.imp.SliderSetting;
import wtf.chatgpt.util.font.Fonts;
import wtf.chatgpt.util.render.RenderUtil;

@FunctionAnnotation(name = "HpAlert", type = Type.Render)
public class HpAlert extends Function {

    // Устанавливаем порог здоровья с помощью SliderSetting
    public SliderSetting intensivity = new SliderSetting("При скольки здоровье", 15f, 1f, 20f, 1f);
    private static final ResourceLocation HEART_TEXTURE = new ResourceLocation("expensive/images/heart.png");

    public HpAlert() {
        super();
        addSettings(intensivity);
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender eventRender) {
            if (eventRender.isRender2D()) {
                handle(eventRender);
            }
        }
    }

    private void handle(EventRender eventRender) {
        final MatrixStack stack = eventRender.matrixStack;
        final Minecraft mc = Minecraft.getInstance();
        final float health = mc.player.getHealth();
        final float maxHealth = mc.player.getMaxHealth();

        // Преобразование значения SliderSetting в float и вычисление порога
        final float threshold = Math.min(Math.max(intensivity.getValue().floatValue(), 1f), 20f);

        // Если здоровье ниже порога, отображаем предупреждение
        if (health < threshold) {
            String message = "Внимание! Низкий уровень здоровья!";

            // Получение размеров экрана
            int screenWidth = mc.getMainWindow().getScaledWidth();
            int screenHeight = mc.getMainWindow().getScaledHeight();

            // Размеры иконки сердечка (увеличены)
            float heartWidth = 64f;  // Увеличенный размер
            float heartHeight = 64f; // Увеличенный размер
            float heartPosX = screenWidth / 2f - heartWidth / 2f;
            float heartPosY = screenHeight / 2f - heartHeight - 100; // Отступ 50 пикселей между иконкой и текстом

            // Размеры текста
            float textWidth = 150f; // При необходимости измените размер
            float textHeight = 20f; // При необходимости измените размер
            float textPosX = screenWidth / 2f;
            float textPosY = screenHeight / 2f - 85; // Отступ для текста ниже иконки

            // Рендеринг иконки сердечка
            RenderUtil.Render2D.drawImage(
                    HEART_TEXTURE,
                    heartPosX,
                    heartPosY,
                    heartWidth,
                    heartHeight,
                    -1
            );

            // Отображение текста ниже иконки
            Fonts.gilroyBold[22].drawCenteredString(stack, message, textPosX, textPosY, 0xFFFF0000);
        }
    }
}
ну и не забудьте из ассетов майна скопировать minecraft/textures/particle/heart.png в expensive/images

ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
сделал бы тень, а то я чекнул скриншот и глаза выжег
 
Сверху Снизу