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

Начинающий
Статус
Оффлайн
Регистрация
27 Ноя 2020
Сообщения
35
Реакции[?]
2
Поинты[?]
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:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Начинающий
Статус
Оффлайн
Регистрация
29 Июн 2023
Сообщения
143
Реакции[?]
0
Поинты[?]
3K
ну типа ээ 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
Сообщения
282
Реакции[?]
3
Поинты[?]
3K
ну это же пиздец блять, такие вещи делать с chatgpt :NotLikeThis:
хотябы анимацию сделал плавного проявления
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2024
Сообщения
136
Реакции[?]
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
Сообщения
176
Реакции[?]
3
Поинты[?]
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:
Пожалуйста, авторизуйтесь для просмотра ссылки.
повторю за всеми, фича прикольная (и кстати нужная, сам юзаю), но сливать на юг код который может иишка написать... не вижу смысла
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2024
Сообщения
136
Реакции[?]
0
Поинты[?]
0
повторю за всеми, фича прикольная (и кстати нужная, сам юзаю), но сливать на юг код который может иишка написать... не вижу смысла
я считаю что функция не нужная, но красивая
Ждем HpAlert//expensive 3.1 xD
фрик
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2024
Сообщения
154
Реакции[?]
2
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
25 Фев 2024
Сообщения
325
Реакции[?]
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
Сообщения
80
Реакции[?]
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
Сообщения
282
Реакции[?]
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
Сообщения
183
Реакции[?]
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:
Пожалуйста, авторизуйтесь для просмотра ссылки.
сделал бы тень, а то я чекнул скриншот и глаза выжег
 
Сверху Снизу