Исходник Nursultan NextGen TargetHUD | Самая нормальная версия Expensive Ready

ппоршень
Пользователь
Статус
Оффлайн
Регистрация
15 Фев 2020
Сообщения
278
Реакции[?]
49
Поинты[?]
38K
Короче решил сделать нормальный тх нурика тк много кринжа в сливах
вот кодик
Java:
 private void onRenderTargetHUD(final MatrixStack stack) {
        this.target = getTarget(this.target);
        this.targetHudAnimation.setDuration(300);
        this.scale = targetHudAnimation.getOutput();

        if (scale == 0.0F) {
            target = null;
        }

        if (target == null) {
            return;
        }

        final String targetName = this.target.getName().getString();

        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        final float nameWidth = Fonts.gilroyBold[18].getWidth(substring);
        final float xPosition = this.targetHUD.getX();
        final float yPosition = this.targetHUD.getY();
        final float maxWidth = Math.max(nameWidth + 45, 114);
        final float maxHeight = 30;

        // Обновление значения здоровья с анимацией
        this.health = AnimationMath.fast(health, target.getHealth() / target.getMaxHealth(), 5);
        this.health = MathHelper.clamp(this.health, 0, 1);
        this.healthplus = AnimationMath.fast(healthplus, target.getAbsorptionAmount() / target.getMaxHealth(), 5);
        this.healthplus = MathHelper.clamp(this.healthplus, 0, 1);

        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(xPosition + (maxWidth / 2), yPosition + (maxHeight / 2), scale);

        Vector2i colorVec = new Vector2i(ColorUtil.getColorStyle(0), ColorUtil.getColorStyle(90));

        RenderUtil.Render2D.drawShadow(xPosition, yPosition, maxWidth, maxHeight + 10, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth , maxHeight + 10, 7.5f, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270), ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        //RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth, maxHeight + 10, 5, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));

        RenderUtil.Render2D.drawRoundedRect(xPosition, yPosition, maxWidth , maxHeight + 10, 7.5f, rgba(10, 15, 14, 255));
        RenderUtil.Render2D.drawRoundedRect(xPosition + 42, yPosition + 25, 64 , 9, 3f, rgba(21, 21, 21, 255));
        RenderUtil.Render2D.drawShadow(xPosition + 42, yPosition + 26, 64 * health, 7, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition + 42, yPosition + 26, 64 * health, 7, 3, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition + 42, yPosition + 26, 40 * healthplus, 7, 3, rgba(255, 102, 0, 255), rgba(255, 255, 0, 255), rgba(255, 102, 0, 255), rgba(255, 255, 0, 255));

        // Отрисовка головы
        StencilUtil.initStencilToWrite();
        RenderUtil.Render2D.drawRoundedRect(xPosition + 4, yPosition + 4, 32, 32, 6, Color.BLACK.getRGB());
        StencilUtil.readStencilBuffer(1);
        IMinecraft.mc.getTextureManager().bindTexture(((AbstractClientPlayerEntity) target).getLocationSkin());
        AbstractGui.drawScaledCustomSizeModalRect(xPosition + 4, yPosition + 4, 8F, 8F, 8F, 8F, 32, 32, 64F, 64F);
        StencilUtil.uninitStencilBuffer();
        // Отрисовка кругового индикатора здоровья




        //drawItemStack(xPosition + 32, yPosition + 22 - 5.5f, 10);

        Fonts.interhui[18].drawString(stack, substring, xPosition + 42, yPosition + 7, -1);

        String healthValue = (int) MathUtil.round(this.health * 20 + target.getAbsorptionAmount(), 0.5f) + ".00 HP";
        Fonts.interhui[12].drawCenteredString(stack, healthValue, xPosition + maxWidth - 58, yPosition + maxHeight / 1.5 - 2.2f, ColorUtil.rgba(255, 255, 255, 255));
        GlStateManager.popMatrix();
        this.targetHUD.setWidth(maxWidth);
        this.targetHUD.setHeight(maxHeight);
    }
Скрин: Посмотреть вложение 269585
А где сглаживание
 
Новичок
Статус
Оффлайн
Регистрация
13 Фев 2024
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Короче решил сделать нормальный тх нурика тк много кринжа в сливах
вот кодик
Java:
 private void onRenderTargetHUD(final MatrixStack stack) {
        this.target = getTarget(this.target);
        this.targetHudAnimation.setDuration(300);
        this.scale = targetHudAnimation.getOutput();

        if (scale == 0.0F) {
            target = null;
        }

        if (target == null) {
            return;
        }

        final String targetName = this.target.getName().getString();

        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        final float nameWidth = Fonts.gilroyBold[18].getWidth(substring);
        final float xPosition = this.targetHUD.getX();
        final float yPosition = this.targetHUD.getY();
        final float maxWidth = Math.max(nameWidth + 45, 114);
        final float maxHeight = 30;

        // Обновление значения здоровья с анимацией
        this.health = AnimationMath.fast(health, target.getHealth() / target.getMaxHealth(), 5);
        this.health = MathHelper.clamp(this.health, 0, 1);
        this.healthplus = AnimationMath.fast(healthplus, target.getAbsorptionAmount() / target.getMaxHealth(), 5);
        this.healthplus = MathHelper.clamp(this.healthplus, 0, 1);

        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(xPosition + (maxWidth / 2), yPosition + (maxHeight / 2), scale);

        Vector2i colorVec = new Vector2i(ColorUtil.getColorStyle(0), ColorUtil.getColorStyle(90));

        RenderUtil.Render2D.drawShadow(xPosition, yPosition, maxWidth, maxHeight + 10, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth , maxHeight + 10, 7.5f, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270), ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        //RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth, maxHeight + 10, 5, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));

        RenderUtil.Render2D.drawRoundedRect(xPosition, yPosition, maxWidth , maxHeight + 10, 7.5f, rgba(10, 15, 14, 255));
        RenderUtil.Render2D.drawRoundedRect(xPosition + 42, yPosition + 25, 64 , 9, 3f, rgba(21, 21, 21, 255));
        RenderUtil.Render2D.drawShadow(xPosition + 42, yPosition + 26, 64 * health, 7, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition + 42, yPosition + 26, 64 * health, 7, 3, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition + 42, yPosition + 26, 40 * healthplus, 7, 3, rgba(255, 102, 0, 255), rgba(255, 255, 0, 255), rgba(255, 102, 0, 255), rgba(255, 255, 0, 255));

        // Отрисовка головы
        StencilUtil.initStencilToWrite();
        RenderUtil.Render2D.drawRoundedRect(xPosition + 4, yPosition + 4, 32, 32, 6, Color.BLACK.getRGB());
        StencilUtil.readStencilBuffer(1);
        IMinecraft.mc.getTextureManager().bindTexture(((AbstractClientPlayerEntity) target).getLocationSkin());
        AbstractGui.drawScaledCustomSizeModalRect(xPosition + 4, yPosition + 4, 8F, 8F, 8F, 8F, 32, 32, 64F, 64F);
        StencilUtil.uninitStencilBuffer();
        // Отрисовка кругового индикатора здоровья




        //drawItemStack(xPosition + 32, yPosition + 22 - 5.5f, 10);

        Fonts.interhui[18].drawString(stack, substring, xPosition + 42, yPosition + 7, -1);

        String healthValue = (int) MathUtil.round(this.health * 20 + target.getAbsorptionAmount(), 0.5f) + ".00 HP";
        Fonts.interhui[12].drawCenteredString(stack, healthValue, xPosition + maxWidth - 58, yPosition + maxHeight / 1.5 - 2.2f, ColorUtil.rgba(255, 255, 255, 255));
        GlStateManager.popMatrix();
        this.targetHUD.setWidth(maxWidth);
        this.targetHUD.setHeight(maxHeight);
    }
Скрин: Посмотреть вложение 269585
куда это всё вводить?
 
Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2023
Сообщения
375
Реакции[?]
0
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
19 Ноя 2023
Сообщения
201
Реакции[?]
2
Поинты[?]
2K
Крч имортируй StencilUtil Iminecraft AbstractGui
Потом где onRenderTargetHUD делаешь такое
float healthplus = 5;
Потом заходи по пути
wtf.expensive.util.font.Fonts
и делаешь такое
public static volatile StyledFont[] interhui= new StyledFont[51];
и второе
for (int i = 8; i < 51; i++) {
interhui = new StyledFont("inter.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

И всё
 
Начинающий
Статус
Оффлайн
Регистрация
30 Окт 2022
Сообщения
375
Реакции[?]
8
Поинты[?]
5K
Крч имортируй StencilUtil Iminecraft AbstractGui
Потом где onRenderTargetHUD делаешь такое
float healthplus = 5;
Потом заходи по пути
wtf.expensive.util.font.Fonts
и делаешь такое
public static volatile StyledFont[] interhui= new StyledFont[51];
и второе
for (int i = 8; i < 51; i++) {
interhui = new StyledFont("inter.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

И всё
не замени просто msBold
 
Начинающий
Статус
Оффлайн
Регистрация
10 Июн 2022
Сообщения
52
Реакции[?]
1
Поинты[?]
1K
Крч имортируй StencilUtil Iminecraft AbstractGui
Потом где onRenderTargetHUD делаешь такое
float healthplus = 5;
Потом заходи по пути
wtf.expensive.util.font.Fonts
и делаешь такое
public static volatile StyledFont[] interhui= new StyledFont[51];
и второе
for (int i = 8; i < 51; i++) {
interhui = new StyledFont("inter.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

И всё
а можно целым кодом импорты, а то я холодненький
 
Начинающий
Статус
Оффлайн
Регистрация
10 Июн 2022
Сообщения
52
Реакции[?]
1
Поинты[?]
1K
Короче решил сделать нормальный тх нурика тк много кринжа в сливах
вот кодик
Java:
 private void onRenderTargetHUD(final MatrixStack stack) {
        this.target = getTarget(this.target);
        this.targetHudAnimation.setDuration(300);
        this.scale = targetHudAnimation.getOutput();

        if (scale == 0.0F) {
            target = null;
        }

        if (target == null) {
            return;
        }

        final String targetName = this.target.getName().getString();

        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        final float nameWidth = Fonts.gilroyBold[18].getWidth(substring);
        final float xPosition = this.targetHUD.getX();
        final float yPosition = this.targetHUD.getY();
        final float maxWidth = Math.max(nameWidth + 45, 114);
        final float maxHeight = 30;

        // Обновление значения здоровья с анимацией
        this.health = AnimationMath.fast(health, target.getHealth() / target.getMaxHealth(), 5);
        this.health = MathHelper.clamp(this.health, 0, 1);
        this.healthplus = AnimationMath.fast(healthplus, target.getAbsorptionAmount() / target.getMaxHealth(), 5);
        this.healthplus = MathHelper.clamp(this.healthplus, 0, 1);

        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(xPosition + (maxWidth / 2), yPosition + (maxHeight / 2), scale);

        Vector2i colorVec = new Vector2i(ColorUtil.getColorStyle(0), ColorUtil.getColorStyle(90));

        RenderUtil.Render2D.drawShadow(xPosition, yPosition, maxWidth, maxHeight + 10, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth , maxHeight + 10, 7.5f, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270), ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        //RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth, maxHeight + 10, 5, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));

        RenderUtil.Render2D.drawRoundedRect(xPosition, yPosition, maxWidth , maxHeight + 10, 7.5f, rgba(10, 15, 14, 255));
        RenderUtil.Render2D.drawRoundedRect(xPosition + 42, yPosition + 25, 64 , 9, 3f, rgba(21, 21, 21, 255));
        RenderUtil.Render2D.drawShadow(xPosition + 42, yPosition + 26, 64 * health, 7, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition + 42, yPosition + 26, 64 * health, 7, 3, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
        RenderUtil.Render2D.drawGradientRound(xPosition + 42, yPosition + 26, 40 * healthplus, 7, 3, rgba(255, 102, 0, 255), rgba(255, 255, 0, 255), rgba(255, 102, 0, 255), rgba(255, 255, 0, 255));

        // Отрисовка головы
        StencilUtil.initStencilToWrite();
        RenderUtil.Render2D.drawRoundedRect(xPosition + 4, yPosition + 4, 32, 32, 6, Color.BLACK.getRGB());
        StencilUtil.readStencilBuffer(1);
        IMinecraft.mc.getTextureManager().bindTexture(((AbstractClientPlayerEntity) target).getLocationSkin());
        AbstractGui.drawScaledCustomSizeModalRect(xPosition + 4, yPosition + 4, 8F, 8F, 8F, 8F, 32, 32, 64F, 64F);
        StencilUtil.uninitStencilBuffer();
        // Отрисовка кругового индикатора здоровья




        //drawItemStack(xPosition + 32, yPosition + 22 - 5.5f, 10);

        Fonts.interhui[18].drawString(stack, substring, xPosition + 42, yPosition + 7, -1);

        String healthValue = (int) MathUtil.round(this.health * 20 + target.getAbsorptionAmount(), 0.5f) + ".00 HP";
        Fonts.interhui[12].drawCenteredString(stack, healthValue, xPosition + maxWidth - 58, yPosition + maxHeight / 1.5 - 2.2f, ColorUtil.rgba(255, 255, 255, 255));
        GlStateManager.popMatrix();
        this.targetHUD.setWidth(maxWidth);
        this.targetHUD.setHeight(maxHeight);
    }
Скрин: Посмотреть вложение 269585
1708629183060.png
как фиксануть?
1708629729104.pngсделал как ты сказал и вот, что осталось
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
30 Окт 2022
Сообщения
375
Реакции[?]
8
Поинты[?]
5K
Начинающий
Статус
Оффлайн
Регистрация
10 Июн 2022
Сообщения
52
Реакции[?]
1
Поинты[?]
1K

Вложения

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


сделал, а как это фиксануть?) извиняюсь за тупость, пару дней только делаю это, ес чо выше это написал ( float healthplus = 5; )
healthplus замени на plusHealth или там хз напиши plus и тебе само выведет нужное
 
Сверху Снизу