HUD

Версия Minecraft
1.7.10
25
0
Здравствуйте, можете скинуть пару гайдов по HUD'у? Я на протяжении нескольких дней ищу пример худа, но не могу найти
 
Решение
В главном классе, в методе с FMLInitializationEvent тебе нужно прописать MinecraftForge.EVENT_BUS.register(new Название Класса());
Дальше в этом классе создать метод с аннотацией @SubscribeEvent и аргументом RenderGameOverlayEvent.Post. Вот пример тела для худа:
Java:
@SubscribeEvent
    public void drawHUD(RenderGameOverlayEvent.Post event) {

            switch (event.type) {
            case ALL:
        //манипуляции со всем, кроме текста
            GL11.glPushMatrix()
        //привязка текстуры к объекту, location - путь до
        Minecraft.getMinecraft().getTextureManager.bindTexture(location)
        //рисование объекта,
        //x - положение по горизонтали, y - положение по вертикали, u - начало текстуры по x, v - начало...
627
72
178
В главном классе, в методе с FMLInitializationEvent тебе нужно прописать MinecraftForge.EVENT_BUS.register(new Название Класса());
Дальше в этом классе создать метод с аннотацией @SubscribeEvent и аргументом RenderGameOverlayEvent.Post. Вот пример тела для худа:
Java:
@SubscribeEvent
    public void drawHUD(RenderGameOverlayEvent.Post event) {

            switch (event.type) {
            case ALL:
        //манипуляции со всем, кроме текста
            GL11.glPushMatrix()
        //привязка текстуры к объекту, location - путь до
        Minecraft.getMinecraft().getTextureManager.bindTexture(location)
        //рисование объекта,
        //x - положение по горизонтали, y - положение по вертикали, u - начало текстуры по x, v - начало текстуры по y,
        //w - ширина (конец текстуры) по x, h - высота (конец текстуры) по y
              
        Minecraft.getMinecraft().ingameGUI.drawTexturedModalRect(x, y, u, v, w, h);
            GL11.glPopMatrix()
              
              
            case TEXT:
        //манипуляции с текстом
            GL11.glPushMatrix()
        //рисование текста с тенью, чтобы сделать без тени юзай drawString(),
        //String - сам текст, x - положение по горизонтали, y - положение по вертикали, intColor - цвет в формате int (0xHEX
        Minecraft.getMinecraft().fontRenderer.drawStringWithShadow(String, x, y, intColor)
          
            GL11.glPopMatrix()
              
            break;
            default:
                break;
            }
        }
    }
Напиши, с помощью чего ты хочешь худ сделать: полоской или сердечками?
Если делаешь например здоровье полоской, то берешь длину той части полоски, которая показывает здоровье (без рамки!), если у тебя полоска сверху вниз, то ты вписываешь заместо v (int) (длина полоски.0 / player.getMaxHealth * player.getHealth) (без .0 будет работать криво)
 
Последнее редактирование:
Сверху