Исходник Неплохой ArmorHUD | Expensive 3.1

Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
96
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

Возможно многие видели визуальное изменение хотбара https://yougame.biz/threads/320786/ (noad), отталкиваясь от его рендера сделал рендер для арморхуда + сделал драггинг, что бы те, кому надо могли перемещать его в удобное для себя место.
SS -
Пожалуйста, авторизуйтесь для просмотра ссылки.

code:
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.functions.impl.render.HUD;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.inventory.EquipmentSlotType;
import im.expensive.utils.math.Vector4i;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class ArmorRenderer implements ElementRenderer {

    final Dragging dragging;

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        Minecraft mc = Minecraft.getInstance();

        float posX = dragging.getX();
        float posY = dragging.getY();

        int armorCount = 0;
        for (EquipmentSlotType slot : EquipmentSlotType.values()) {
            if (slot.getSlotType() == EquipmentSlotType.Group.ARMOR) {
                ItemStack itemStack = mc.player.getItemStackFromSlot(slot);
                if (!itemStack.isEmpty()) {
                    armorCount++;
                }
            }
        }

        if (armorCount == 0) {
            return;
        }

        float targetWidth = armorCount * (16 + 2);
        float height = 22;

        float adjustedPosX = posX - 4;

        drawStyledRect(adjustedPosX, posY, targetWidth + 8, height, 3.0f, 1.0f, 2130706432);

        EquipmentSlotType[] armorSlots = {
                EquipmentSlotType.FEET,
                EquipmentSlotType.LEGS,
                EquipmentSlotType.CHEST,
                EquipmentSlotType.HEAD
        };

        float currentPosX = posX;
        for (EquipmentSlotType slot : armorSlots) {
            ItemStack itemStack = mc.player.getItemStackFromSlot(slot);

            if (itemStack.isEmpty()) {
                continue;
            }

            mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, (int) currentPosX, (int) posY + 3);
            mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, itemStack, (int) currentPosX, (int) posY + 3, null);

            currentPosX += 16 + 2;
        }
       
        dragging.setWidth(targetWidth);
        dragging.setHeight(height);
    }

    private void drawStyledRect(float x, float y, float width, float height, float radius, float borderWidth, int color) {
        Vector4i colors = new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(180, 1.0F), HUD.getColor(270, 1.0F));
        DisplayUtils.drawRoundedRect(x - borderWidth, y - borderWidth, width + borderWidth * 2.0F, height + borderWidth * 2.0F, new Vector4f(radius, radius, radius, radius), colors);
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, color);
    }
}
P.S. Размер зависит от кол-ва надетой брони, если брони нету, арморхуд не показывается, анимации нету
 
Начинающий
Статус
Оффлайн
Регистрация
31 Авг 2023
Сообщения
18
Реакции[?]
0
Поинты[?]
0
/del просто драггинг добавил а так есть во многих клиентах лол.
 
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
96
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Онлайн
Регистрация
27 Май 2024
Сообщения
260
Реакции[?]
10
Поинты[?]
10K
Возможно многие видели визуальное изменение хотбара https://yougame.biz/threads/320786/ (noad), отталкиваясь от его рендера сделал рендер для арморхуда + сделал драггинг, что бы те, кому надо могли перемещать его в удобное для себя место.
SS -
Пожалуйста, авторизуйтесь для просмотра ссылки.

code:
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.functions.impl.render.HUD;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.inventory.EquipmentSlotType;
import im.expensive.utils.math.Vector4i;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class ArmorRenderer implements ElementRenderer {

    final Dragging dragging;

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        Minecraft mc = Minecraft.getInstance();

        float posX = dragging.getX();
        float posY = dragging.getY();

        int armorCount = 0;
        for (EquipmentSlotType slot : EquipmentSlotType.values()) {
            if (slot.getSlotType() == EquipmentSlotType.Group.ARMOR) {
                ItemStack itemStack = mc.player.getItemStackFromSlot(slot);
                if (!itemStack.isEmpty()) {
                    armorCount++;
                }
            }
        }

        if (armorCount == 0) {
            return;
        }

        float targetWidth = armorCount * (16 + 2);
        float height = 22;

        float adjustedPosX = posX - 4;

        drawStyledRect(adjustedPosX, posY, targetWidth + 8, height, 3.0f, 1.0f, 2130706432);

        EquipmentSlotType[] armorSlots = {
                EquipmentSlotType.FEET,
                EquipmentSlotType.LEGS,
                EquipmentSlotType.CHEST,
                EquipmentSlotType.HEAD
        };

        float currentPosX = posX;
        for (EquipmentSlotType slot : armorSlots) {
            ItemStack itemStack = mc.player.getItemStackFromSlot(slot);

            if (itemStack.isEmpty()) {
                continue;
            }

            mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, (int) currentPosX, (int) posY + 3);
            mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, itemStack, (int) currentPosX, (int) posY + 3, null);

            currentPosX += 16 + 2;
        }
      
        dragging.setWidth(targetWidth);
        dragging.setHeight(height);
    }

    private void drawStyledRect(float x, float y, float width, float height, float radius, float borderWidth, int color) {
        Vector4i colors = new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(180, 1.0F), HUD.getColor(270, 1.0F));
        DisplayUtils.drawRoundedRect(x - borderWidth, y - borderWidth, width + borderWidth * 2.0F, height + borderWidth * 2.0F, new Vector4f(radius, radius, radius, radius), colors);
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, color);
    }
}
P.S. Размер зависит от кол-ва надетой брони, если брони нету, арморхуд не показывается, анимации нету
И чо тут сука отличается от дефолт экспы, кроме того, что ты типо пошёл и сделал другой фон. Ебать ахуенно)
 
Сверху Снизу