• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Hud Nursultan Alpha ! Слив худа Nursultan Alpha на Exp 2.0

Увидел то что никто не может спастить этот вырвеглазный HUD Nursultan на EXP 2.0 | Если худ на SS Говно - смотрите у себя потому что у меня другие шрифты!

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:
Посмотреть вложение 292639

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать HUD под свой чит)

Чтобы были те иконки установите nyrik.ttf по кнопке
Пожалуйста, авторизуйтесь для просмотра ссылки.
и напишите эти коды в expensive-master/src/wtf/expensive/font/Fonts.java:
На 21 строке: public static volatile StyledFont[] nyrik = new StyledFont[42];

На 62 строке:

for (int i = 8; i < 24;i++) {
nyrik = new StyledFont("nyrik.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

PS: Чтобы установить nyrik.ttf зайдите в expensive-master/src/assets/minecraft/expensive/font, если у вас вылетает повторите все заного.

Код на HUD:


Код:
Expand Collapse Copy
    private void watermark(MatrixStack stack) {
        Object[] objectArray = new Object[1];
        objectArray[0] = Math.hypot(Minecraft.player.getPosX() - Minecraft.player.prevPosX, Minecraft.player.getPosZ() - Minecraft.player.prevPosZ) * 20.0;
        double speed2 = (Double) objectArray[0];
        String text = speed2 == 0.0 ? "0.0" : String.format(Locale.ENGLISH, "%.2f", speed2).replace(',', '.');
        String user = ClientUtil.me == null ? "null" : ClientUtil.me.getName();
        StringBuilder titleText = new StringBuilder("");
        LocalTime time = LocalTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        titleText.append(time.format(formatter));
        int var10000 = (int)Minecraft.player.getPosX();
        String cord = var10000 + " " + (int)Minecraft.player.getPosY() + " " + (int)Minecraft.player.getPosZ();
        float debugTPS = (int)Sunshine.getInstance().getTpsCalc().getTPS();
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(5.0f, 5.2f, 45.0f, 12.0f, 3.4f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(54.5f, 4.8f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 78.0f, 12.3f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(5.0f, 20.5f, 22.5f + Fonts.msSemiBold[13].getWidth(cord), 12.0f, 3.0f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(32.0f + Fonts.msSemiBold[13].getWidth(cord), 20.5f, 38.2f + Fonts.msSemiBold[13].getWidth(text), 12.0f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 4.0f, 47.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(53.5f, 4.0f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 80.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 19.5f, 24.5f + Fonts.msSemiBold[13].getWidth(cord), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(31.0f + Fonts.msSemiBold[13].getWidth(cord), 19.5f, 40.0f + Fonts.msSemiBold[13].getWidth(text), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(74.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text), 19.5f, 30.0f + (float)debugTPS, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRect(20.5f, 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(70.5f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(115.0f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(45.0f + Fonts.msSemiBold[13].getWidth(cord), 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(20.0f, 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.Nurik[19].drawString(stack, ClientUtil.gradient("S", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 8.0, 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, ClientUtil.gradient("Alpha", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 25.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("W", ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(90.0f)), 58.0, 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, user, 67.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("X", ColorUtil.getColorStyle(150.0f), ColorUtil.getColorStyle(120.0f)), (double)(73.5f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        StyledFont var10 = Fonts.msSemiBold[13];
        Minecraft var10002 = mc;
        var10.drawString(stack, Minecraft.debugFPS + " Fps", (double)(84.9f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, titleText.toString(), (double)(128.5f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("V", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(118.0f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, text, (double)(50.5f + Fonts.msSemiBold[13].getWidth(cord)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.msSemiBold[13].drawString(stack, "BPS", (double)(53.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("&#35", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(27.0f + Fonts.msSemiBold[13].getWidth(cord)), 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, cord, 24.0, 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("F", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 9.0, 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, "Tps " + debugTPS, (double)(87.3f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("Q", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 77.0 + (double)Fonts.msSemiBold[13].getWidth(cord) + (double)Fonts.msSemiBold[13].getWidth(text), 25.5, -1);
    }


    private void updateFunctions() {
        for (Function function : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (function.category == Type.Render) continue;
            this.functions.add(function);
            this.functions.sort((f1, f2) -> Float.compare(Fonts.msSemiBold[13].getWidth(f2.name), Fonts.msSemiBold[13].getWidth(f1.name)));
        }
    }

    private void onKeyBindsRender(MatrixStack stack) {
        float posX = this.keyBinds.getX();
        float posY = this.keyBinds.getY();
        int headerHeight = 14;
        int padding = 5;
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        this.activeModules = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (f.bind == 0 || !f.state) continue;
            ++this.activeModules;
        }
        this.keyBinds.setHeight((float)this.activeModules * this.offset + (float)headerHeight);
        float maxWidth = 0.0f;
        float height2 = (float)this.activeModules * this.offset;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.msSemiBold[12].getWidth(bindText);
            float nameWidth = Fonts.msSemiBold[12].getWidth(f.name);
            maxWidth = Math.max(maxWidth, bindWidth);
            maxWidth = Math.max(maxWidth, nameWidth);
        }
        float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
        this.widthAnime = AnimationMath.lerp(this.widthAnime, targetWidth, 10.5f);
        this.keyBinds.setWidth(this.widthAnime);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(posX + 1.0f, posY + -1.1f, this.keyBinds.getWidth() - 2.0f, 12.3f, 2.7f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, this.keyBinds.getWidth(), 14.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.babkatv[15].drawString(stack, "Hotkeys", (double)(posX + 19.5f), (double)(posY + 3.5f), new Color(255, 255, 255, 255).getRGB());
        Fonts.nursultan[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.keyBinds.getWidth(), this.keyBinds.getHeight());
        int index = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.babkatv[13].getWidth(bindText);
            StyledFont keyname = Fonts.babkatv[13];
            if (this.gradienthud.get()) {
                RenderUtil.Render2D.drawGradientRound(posX + 0.9f, posY - 5.2f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth() - 2.0f, 8.3f, 2.8f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            }
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth(), 10.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
            keyname.drawString(stack, f.name, (double)(posX + -2.0f + (float)padding), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            Fonts.babkatv[13].drawString(stack, bindText, (double)(posX + this.keyBinds.getWidth() - (float)padding - bindWidth + 1.5f), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            ++index;
        }
        SmartScissor.unset();
        SmartScissor.pop();
    }

    private void onStaffListRender(MatrixStack matrixStack) {
        float posX = this.staffListt1.getX();
        float posY = this.staffListt1.getY();
        int headerHeight = 14;
        float width2 = Math.max(this.nameWidth + 40.0f, 150.0f);
        int padding = 5;
        float offset = 10.5f;
        float height2 = (float)this.activeStaff * offset;
        this.hDynam = AnimationMath.fast(this.hDynam, height2, 100.0f);
        this.widthDynamic = AnimationMath.fast(this.widthDynamic, width2, 100.0f);
        this.updateMaxWidth();
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, (float)(this.maxWidth + 10 + this.maxWidth1), 14.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
        Fonts.msSemiBold[14].drawCenteredString(matrixStack, "StaffList", (double)(posX + 35.5f), (double)(posY + 3.0f), -1);
        Fonts.Nurik[16].drawString(matrixStack, "Y", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 255).getRGB());
        int index = 0;
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.widthDynamic, (float)headerHeight + this.hDynam + (float)padding / 2.0f);
        if (!this.staffPlayers.isEmpty()) {
            this.staffStartTimes.keySet().retainAll(this.staffPlayers);
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (this.gradienthud.get()) {
                    // empty if block
                }
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY + (float)headerHeight + (float)padding + (float)index * offset - 6.0f, (float)(this.maxWidth + 10), 10.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
                Fonts.msSemiBold[12].drawString(matrixStack, prefix, (double)(posX + (float)padding - 3.0f), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, name + " " + status2, (double)(posX + (float)padding + Fonts.gilroyBold[12].getWidth(prefix.getString() + "3")), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, "    " + timeString + " ", (double)(posX + (float)padding + Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2)), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), new Color(255, 255, 255).getRGB());
                this.nameWidth = Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                ++index;
            }
        } else {
            this.nameWidth = 0.0f;
        }
        SmartScissor.unset();
        SmartScissor.pop();
        this.activeStaff = index;
        this.staffListt1.setWidth(this.widthDynamic);
        this.staffListt1.setHeight(this.hDynam + (float)headerHeight);
    }

    private void updateMaxWidth() {
        this.maxWidth = 60;
        if (!this.staffPlayers.isEmpty()) {
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                int currentWidth = (int)Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                if (currentWidth <= this.maxWidth) continue;
                this.maxWidth = currentWidth;
            }
        }
    }

    private String formatTime(long timeDifference) {
        if (timeDifference >= 3600L) {
            int minutes = (int)(timeDifference / 3600L);
            int seconds = (int)(timeDifference % 3600L / 60L);
            return minutes + "h " + seconds + "m";
        }
        if (timeDifference >= 60L) {
            int minutes = (int)(timeDifference / 60L);
            int seconds = (int)(timeDifference % 60L);
            return minutes + "m " + seconds + "s";
        }
        return timeDifference + "s";
    }

    public void setStaffPlayers(List<Staff> staffPlayers) {
        this.staffPlayers = staffPlayers;
    }

    private void onSchedules(MatrixStack stack) {
        float posX = this.Schedules.getX();
        float posY = this.Schedules.getY();
        int headerHeight = 14;
        int padding = 5;
        this.Schedules.setHeight(this.SchedulesOffset + (float)headerHeight);
        float maxWidth = 0.0f;
        ZoneId moscowZone = ZoneId.of("Europe/Moscow");
        LocalDateTime now = LocalDateTime.now(moscowZone);
        for (int hour = 9; hour <= 1; hour += 2) {
            LocalDateTime scheduleTime = LocalDateTime.from(LocalTime.now().withHour(hour).withMinute(0).withSecond(0));
            String scheduleText = scheduleTime.format(DateTimeFormatter.ofPattern("HH:mm"));
            float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
            this.Schedules.setWidth(targetWidth);
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, 100.0f, 14.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
            Fonts.msSemiBold[14].drawCenteredString(stack, "Schedules", (double)(this.Schedules.getX() + 35.0f), (double)(posY + 3.5f), -1);
            Fonts.Nurik[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
            SmartScissor.push();
            SmartScissor.setFromComponentCoordinates(posX, posY, this.Schedules.getWidth(), this.Schedules.getHeight());
            int index = 0;
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.Schedules.getWidth(), 10.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            Fonts.msSemiBold[12].drawString(stack, scheduleText, (double)(posX + (float)padding), (double)(posY - 1.8f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            float lineX = posX + this.Schedules.getWidth() - (float)padding - 8.0f;
            RenderUtil.Render2D.drawRect(lineX, posY + (float)headerHeight + (float)padding + (float)index * this.offset - 4.0f, 0.3f, 5.5f, new Color(200, 200, 200, 100).getRGB());
            ++index;
            SmartScissor.unset();
            SmartScissor.pop();
        }
    }

    private void onArmorRender(MatrixStack matrixStack) {
        float x = this.Armor.getX();
        float y = this.Armor.getY();
        int width2 = 100;
        int height2 = 79;
        RenderUtil.Render2D.drawRoundedRect(x, y + 45.0f, width2 - 30, height2 - 40, 3.0f, ColorUtil.rgba(30, 21, 39, 90));
        int posY = (int)y + 63;
        int posX = (int)x + 3;
        for (ItemStack itemStack : Minecraft.player.getArmorInventoryList()) {
            if (!itemStack.isEmpty()) {
                mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, posX, posY);
                int maxDamage = itemStack.getMaxDamage();
                if (maxDamage > 0) {
                    float damagePercentage = (float)itemStack.getDamage() * 100.0f / (float)maxDamage;
                    int red = (int)(255.0f * (damagePercentage / 100.0f));
                    int green = 255 - red;
                    int roundedPercentage = Math.round(100.0f - damagePercentage);
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "" + roundedPercentage, (double)(posX + width2 - 92), (double)(posY - 11), ColorUtil.rgba(red, green, 0, 210));
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                } else {
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "null", (double)(posX + width2 - 92), (double)(posY - 11), -1);
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                }
                posX += 16;
            }
            this.Armor.setWidth(width2);
            this.Armor.setHeight(height2);
        }
    }

    private void onPotionElementsRender(MatrixStack matrixStack) {
        float posX = this.potionStatus.getX();
        float posY = this.potionStatus.getY();
        int width2 = Minecraft.player.getActivePotionEffects().isEmpty() ? 80 : 98;

        System.out.println("Central square position: X=" + posX + ", Y=" + (posY - 20.0f));
        System.out.println("Left square position: X=" + (posX - 15.0f) + ", Y=" + posY);
        System.out.println("Right square position: X=" + (posX + width2 + 5.0f) + ", Y=" + posY);

        try {
            // Отображаем центральную полосу
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 20.0f, width2, 15.0f, 3.5f, new Color(50, 100, 255, 200).getRGB());

            // Отображаем левый квадрат
            RenderUtil.Render2D.drawRect(posX - 15.0f, posY, 10.0f, 10.0f, new Color(255, 0, 0, 255).getRGB());

            // Отображаем правый квадрат
            RenderUtil.Render2D.drawRect(posX + width2 + 5.0f, posY, 10.0f, 10.0f, new Color(0, 255, 0, 255).getRGB());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    private void onRenderTargetHUD(MatrixStack matrixStack) {
        float posX = this.targetHUD.getX();
        float posY = this.targetHUD.getY();
        this.targetHUD.setWidth(120.0f);
        this.targetHUD.setHeight(36.0f);
        this.target = this.getTarget(this.target);
        this.scale1 = this.targetHudAnimation.getOutput();
        if (this.scale1 == 0.0) {
            this.target = null;
        }
        if (this.target == null) {
            return;
        }
        int hp = (int) target.getHealth();
        if (mc.getCurrentServerData() != null && mc.world != null && mc.world.getScoreboard() != null) {
            Score score = mc.world.getScoreboard().getOrCreateScore(target.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
            String serverIP = mc.getCurrentServerData().serverIP;
            if ((serverIP.contains("funtime") && target instanceof PlayerEntity) ||
                    serverIP.contains("reallyworld") ||
                    serverIP.contains("skytime") ||
                    serverIP.contains("local") ||
                    serverIP.contains("space-times"))
            {
                int scorePoints = score.getScorePoints();
                hp = scorePoints;
            }
        }
        String targetName = this.target.getName().getString();
        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        this.health = AnimationMath.fast(this.health, hp / this.target.getMaxHealth(), 5.0f);
        float round_degree = 7.0f;
        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(posX + 50.0f, posY + 19.0f, this.scale1);
        int backgroundColor = ColorUtil.rgba(20, 20, 20, 255);
        RenderUtil.Render2D.drawShadow(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), (int)round_degree, ColorUtil.rgba(20, 20, 20, 150), ColorUtil.rgba(20, 20, 0, 190));
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), round_degree, backgroundColor);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, 100.0, this.targetHUD.getHeight());
        RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28.0f, 28.0f, 6.0f, Color.BLACK.getRGB());
        if (target instanceof AbstractClientPlayerEntity) {
            StencilUtil.initStencilToWrite();
            RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28, 28, 3.0F, -1);
            StencilUtil.readStencilBuffer(1);
            RenderUtil.Render2D.drawFace(posX + 4.0f, posY, 8.0F, 8.0F, 8.0F, 8.0F, 28, 28, 64.0F, 64.0F, (AbstractClientPlayerEntity) this.target);
            StencilUtil.uninitStencilBuffer();
        }
        StyledFont medium = Fonts.msMedium[17];
        medium.drawString(matrixStack, substring, posX + 32.0f + 4.0f, posY + 2.0f, -1);
        Fonts.msSemiBold[12].drawString(matrixStack, "HP: " + hp * 5 + "%", posX + 32.0f + 4.0f, posY + 19.0f - 5.0f, -1);
        SmartScissor.unset();
        SmartScissor.pop();
        float currentHP = hp;
        if (currentHP >= 10.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 255), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(0, 204, 0, 250), ColorUtil.rgba(0, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(0, 204, 0, 60), ColorUtil.rgba(0, 153, 0, 60));
        } else if (currentHP >= 5.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 0, 250), ColorUtil.rgba(153, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(255, 255, 0, 60), ColorUtil.rgba(153, 153, 0, 60));
        } else {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(102, 0, 0, 250), ColorUtil.rgba(204, 0, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(102, 0, 0, 60), ColorUtil.rgba(204, 0, 0, 60));
        }
        this.drawItemStack(posX + 3.0F, posY - 8.0F - 5.5F, 10.0F);

        GlStateManager.popMatrix();
    }
Что это . бля :roflanPominki:
 
единственное что норм это песенки какие играют
хотя тут нету этого плеера, так что кака
 
Увидел то что никто не может спастить этот вырвеглазный HUD Nursultan на EXP 2.0 | Если худ на SS Говно - смотрите у себя потому что у меня другие шрифты!

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:
Посмотреть вложение 292639

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать HUD под свой чит)

Чтобы были те иконки установите nyrik.ttf по кнопке
Пожалуйста, авторизуйтесь для просмотра ссылки.
и напишите эти коды в expensive-master/src/wtf/expensive/font/Fonts.java:
На 21 строке: public static volatile StyledFont[] nyrik = new StyledFont[42];

На 62 строке:

for (int i = 8; i < 24;i++) {
nyrik = new StyledFont("nyrik.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

PS: Чтобы установить nyrik.ttf зайдите в expensive-master/src/assets/minecraft/expensive/font, если у вас вылетает повторите все заного.

Код на HUD:


Код:
Expand Collapse Copy
    private void watermark(MatrixStack stack) {
        Object[] objectArray = new Object[1];
        objectArray[0] = Math.hypot(Minecraft.player.getPosX() - Minecraft.player.prevPosX, Minecraft.player.getPosZ() - Minecraft.player.prevPosZ) * 20.0;
        double speed2 = (Double) objectArray[0];
        String text = speed2 == 0.0 ? "0.0" : String.format(Locale.ENGLISH, "%.2f", speed2).replace(',', '.');
        String user = ClientUtil.me == null ? "null" : ClientUtil.me.getName();
        StringBuilder titleText = new StringBuilder("");
        LocalTime time = LocalTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        titleText.append(time.format(formatter));
        int var10000 = (int)Minecraft.player.getPosX();
        String cord = var10000 + " " + (int)Minecraft.player.getPosY() + " " + (int)Minecraft.player.getPosZ();
        float debugTPS = (int)Sunshine.getInstance().getTpsCalc().getTPS();
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(5.0f, 5.2f, 45.0f, 12.0f, 3.4f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(54.5f, 4.8f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 78.0f, 12.3f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(5.0f, 20.5f, 22.5f + Fonts.msSemiBold[13].getWidth(cord), 12.0f, 3.0f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(32.0f + Fonts.msSemiBold[13].getWidth(cord), 20.5f, 38.2f + Fonts.msSemiBold[13].getWidth(text), 12.0f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 4.0f, 47.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(53.5f, 4.0f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 80.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 19.5f, 24.5f + Fonts.msSemiBold[13].getWidth(cord), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(31.0f + Fonts.msSemiBold[13].getWidth(cord), 19.5f, 40.0f + Fonts.msSemiBold[13].getWidth(text), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(74.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text), 19.5f, 30.0f + (float)debugTPS, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRect(20.5f, 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(70.5f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(115.0f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(45.0f + Fonts.msSemiBold[13].getWidth(cord), 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(20.0f, 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.Nurik[19].drawString(stack, ClientUtil.gradient("S", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 8.0, 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, ClientUtil.gradient("Alpha", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 25.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("W", ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(90.0f)), 58.0, 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, user, 67.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("X", ColorUtil.getColorStyle(150.0f), ColorUtil.getColorStyle(120.0f)), (double)(73.5f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        StyledFont var10 = Fonts.msSemiBold[13];
        Minecraft var10002 = mc;
        var10.drawString(stack, Minecraft.debugFPS + " Fps", (double)(84.9f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, titleText.toString(), (double)(128.5f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("V", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(118.0f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, text, (double)(50.5f + Fonts.msSemiBold[13].getWidth(cord)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.msSemiBold[13].drawString(stack, "BPS", (double)(53.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("&#35", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(27.0f + Fonts.msSemiBold[13].getWidth(cord)), 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, cord, 24.0, 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("F", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 9.0, 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, "Tps " + debugTPS, (double)(87.3f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("Q", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 77.0 + (double)Fonts.msSemiBold[13].getWidth(cord) + (double)Fonts.msSemiBold[13].getWidth(text), 25.5, -1);
    }


    private void updateFunctions() {
        for (Function function : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (function.category == Type.Render) continue;
            this.functions.add(function);
            this.functions.sort((f1, f2) -> Float.compare(Fonts.msSemiBold[13].getWidth(f2.name), Fonts.msSemiBold[13].getWidth(f1.name)));
        }
    }

    private void onKeyBindsRender(MatrixStack stack) {
        float posX = this.keyBinds.getX();
        float posY = this.keyBinds.getY();
        int headerHeight = 14;
        int padding = 5;
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        this.activeModules = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (f.bind == 0 || !f.state) continue;
            ++this.activeModules;
        }
        this.keyBinds.setHeight((float)this.activeModules * this.offset + (float)headerHeight);
        float maxWidth = 0.0f;
        float height2 = (float)this.activeModules * this.offset;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.msSemiBold[12].getWidth(bindText);
            float nameWidth = Fonts.msSemiBold[12].getWidth(f.name);
            maxWidth = Math.max(maxWidth, bindWidth);
            maxWidth = Math.max(maxWidth, nameWidth);
        }
        float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
        this.widthAnime = AnimationMath.lerp(this.widthAnime, targetWidth, 10.5f);
        this.keyBinds.setWidth(this.widthAnime);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(posX + 1.0f, posY + -1.1f, this.keyBinds.getWidth() - 2.0f, 12.3f, 2.7f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, this.keyBinds.getWidth(), 14.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.babkatv[15].drawString(stack, "Hotkeys", (double)(posX + 19.5f), (double)(posY + 3.5f), new Color(255, 255, 255, 255).getRGB());
        Fonts.nursultan[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.keyBinds.getWidth(), this.keyBinds.getHeight());
        int index = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.babkatv[13].getWidth(bindText);
            StyledFont keyname = Fonts.babkatv[13];
            if (this.gradienthud.get()) {
                RenderUtil.Render2D.drawGradientRound(posX + 0.9f, posY - 5.2f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth() - 2.0f, 8.3f, 2.8f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            }
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth(), 10.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
            keyname.drawString(stack, f.name, (double)(posX + -2.0f + (float)padding), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            Fonts.babkatv[13].drawString(stack, bindText, (double)(posX + this.keyBinds.getWidth() - (float)padding - bindWidth + 1.5f), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            ++index;
        }
        SmartScissor.unset();
        SmartScissor.pop();
    }

    private void onStaffListRender(MatrixStack matrixStack) {
        float posX = this.staffListt1.getX();
        float posY = this.staffListt1.getY();
        int headerHeight = 14;
        float width2 = Math.max(this.nameWidth + 40.0f, 150.0f);
        int padding = 5;
        float offset = 10.5f;
        float height2 = (float)this.activeStaff * offset;
        this.hDynam = AnimationMath.fast(this.hDynam, height2, 100.0f);
        this.widthDynamic = AnimationMath.fast(this.widthDynamic, width2, 100.0f);
        this.updateMaxWidth();
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, (float)(this.maxWidth + 10 + this.maxWidth1), 14.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
        Fonts.msSemiBold[14].drawCenteredString(matrixStack, "StaffList", (double)(posX + 35.5f), (double)(posY + 3.0f), -1);
        Fonts.Nurik[16].drawString(matrixStack, "Y", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 255).getRGB());
        int index = 0;
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.widthDynamic, (float)headerHeight + this.hDynam + (float)padding / 2.0f);
        if (!this.staffPlayers.isEmpty()) {
            this.staffStartTimes.keySet().retainAll(this.staffPlayers);
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (this.gradienthud.get()) {
                    // empty if block
                }
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY + (float)headerHeight + (float)padding + (float)index * offset - 6.0f, (float)(this.maxWidth + 10), 10.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
                Fonts.msSemiBold[12].drawString(matrixStack, prefix, (double)(posX + (float)padding - 3.0f), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, name + " " + status2, (double)(posX + (float)padding + Fonts.gilroyBold[12].getWidth(prefix.getString() + "3")), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, "    " + timeString + " ", (double)(posX + (float)padding + Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2)), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), new Color(255, 255, 255).getRGB());
                this.nameWidth = Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                ++index;
            }
        } else {
            this.nameWidth = 0.0f;
        }
        SmartScissor.unset();
        SmartScissor.pop();
        this.activeStaff = index;
        this.staffListt1.setWidth(this.widthDynamic);
        this.staffListt1.setHeight(this.hDynam + (float)headerHeight);
    }

    private void updateMaxWidth() {
        this.maxWidth = 60;
        if (!this.staffPlayers.isEmpty()) {
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                int currentWidth = (int)Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                if (currentWidth <= this.maxWidth) continue;
                this.maxWidth = currentWidth;
            }
        }
    }

    private String formatTime(long timeDifference) {
        if (timeDifference >= 3600L) {
            int minutes = (int)(timeDifference / 3600L);
            int seconds = (int)(timeDifference % 3600L / 60L);
            return minutes + "h " + seconds + "m";
        }
        if (timeDifference >= 60L) {
            int minutes = (int)(timeDifference / 60L);
            int seconds = (int)(timeDifference % 60L);
            return minutes + "m " + seconds + "s";
        }
        return timeDifference + "s";
    }

    public void setStaffPlayers(List<Staff> staffPlayers) {
        this.staffPlayers = staffPlayers;
    }

    private void onSchedules(MatrixStack stack) {
        float posX = this.Schedules.getX();
        float posY = this.Schedules.getY();
        int headerHeight = 14;
        int padding = 5;
        this.Schedules.setHeight(this.SchedulesOffset + (float)headerHeight);
        float maxWidth = 0.0f;
        ZoneId moscowZone = ZoneId.of("Europe/Moscow");
        LocalDateTime now = LocalDateTime.now(moscowZone);
        for (int hour = 9; hour <= 1; hour += 2) {
            LocalDateTime scheduleTime = LocalDateTime.from(LocalTime.now().withHour(hour).withMinute(0).withSecond(0));
            String scheduleText = scheduleTime.format(DateTimeFormatter.ofPattern("HH:mm"));
            float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
            this.Schedules.setWidth(targetWidth);
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, 100.0f, 14.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
            Fonts.msSemiBold[14].drawCenteredString(stack, "Schedules", (double)(this.Schedules.getX() + 35.0f), (double)(posY + 3.5f), -1);
            Fonts.Nurik[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
            SmartScissor.push();
            SmartScissor.setFromComponentCoordinates(posX, posY, this.Schedules.getWidth(), this.Schedules.getHeight());
            int index = 0;
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.Schedules.getWidth(), 10.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            Fonts.msSemiBold[12].drawString(stack, scheduleText, (double)(posX + (float)padding), (double)(posY - 1.8f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            float lineX = posX + this.Schedules.getWidth() - (float)padding - 8.0f;
            RenderUtil.Render2D.drawRect(lineX, posY + (float)headerHeight + (float)padding + (float)index * this.offset - 4.0f, 0.3f, 5.5f, new Color(200, 200, 200, 100).getRGB());
            ++index;
            SmartScissor.unset();
            SmartScissor.pop();
        }
    }

    private void onArmorRender(MatrixStack matrixStack) {
        float x = this.Armor.getX();
        float y = this.Armor.getY();
        int width2 = 100;
        int height2 = 79;
        RenderUtil.Render2D.drawRoundedRect(x, y + 45.0f, width2 - 30, height2 - 40, 3.0f, ColorUtil.rgba(30, 21, 39, 90));
        int posY = (int)y + 63;
        int posX = (int)x + 3;
        for (ItemStack itemStack : Minecraft.player.getArmorInventoryList()) {
            if (!itemStack.isEmpty()) {
                mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, posX, posY);
                int maxDamage = itemStack.getMaxDamage();
                if (maxDamage > 0) {
                    float damagePercentage = (float)itemStack.getDamage() * 100.0f / (float)maxDamage;
                    int red = (int)(255.0f * (damagePercentage / 100.0f));
                    int green = 255 - red;
                    int roundedPercentage = Math.round(100.0f - damagePercentage);
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "" + roundedPercentage, (double)(posX + width2 - 92), (double)(posY - 11), ColorUtil.rgba(red, green, 0, 210));
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                } else {
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "null", (double)(posX + width2 - 92), (double)(posY - 11), -1);
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                }
                posX += 16;
            }
            this.Armor.setWidth(width2);
            this.Armor.setHeight(height2);
        }
    }

    private void onPotionElementsRender(MatrixStack matrixStack) {
        float posX = this.potionStatus.getX();
        float posY = this.potionStatus.getY();
        int width2 = Minecraft.player.getActivePotionEffects().isEmpty() ? 80 : 98;

        System.out.println("Central square position: X=" + posX + ", Y=" + (posY - 20.0f));
        System.out.println("Left square position: X=" + (posX - 15.0f) + ", Y=" + posY);
        System.out.println("Right square position: X=" + (posX + width2 + 5.0f) + ", Y=" + posY);

        try {
            // Отображаем центральную полосу
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 20.0f, width2, 15.0f, 3.5f, new Color(50, 100, 255, 200).getRGB());

            // Отображаем левый квадрат
            RenderUtil.Render2D.drawRect(posX - 15.0f, posY, 10.0f, 10.0f, new Color(255, 0, 0, 255).getRGB());

            // Отображаем правый квадрат
            RenderUtil.Render2D.drawRect(posX + width2 + 5.0f, posY, 10.0f, 10.0f, new Color(0, 255, 0, 255).getRGB());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    private void onRenderTargetHUD(MatrixStack matrixStack) {
        float posX = this.targetHUD.getX();
        float posY = this.targetHUD.getY();
        this.targetHUD.setWidth(120.0f);
        this.targetHUD.setHeight(36.0f);
        this.target = this.getTarget(this.target);
        this.scale1 = this.targetHudAnimation.getOutput();
        if (this.scale1 == 0.0) {
            this.target = null;
        }
        if (this.target == null) {
            return;
        }
        int hp = (int) target.getHealth();
        if (mc.getCurrentServerData() != null && mc.world != null && mc.world.getScoreboard() != null) {
            Score score = mc.world.getScoreboard().getOrCreateScore(target.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
            String serverIP = mc.getCurrentServerData().serverIP;
            if ((serverIP.contains("funtime") && target instanceof PlayerEntity) ||
                    serverIP.contains("reallyworld") ||
                    serverIP.contains("skytime") ||
                    serverIP.contains("local") ||
                    serverIP.contains("space-times"))
            {
                int scorePoints = score.getScorePoints();
                hp = scorePoints;
            }
        }
        String targetName = this.target.getName().getString();
        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        this.health = AnimationMath.fast(this.health, hp / this.target.getMaxHealth(), 5.0f);
        float round_degree = 7.0f;
        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(posX + 50.0f, posY + 19.0f, this.scale1);
        int backgroundColor = ColorUtil.rgba(20, 20, 20, 255);
        RenderUtil.Render2D.drawShadow(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), (int)round_degree, ColorUtil.rgba(20, 20, 20, 150), ColorUtil.rgba(20, 20, 0, 190));
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), round_degree, backgroundColor);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, 100.0, this.targetHUD.getHeight());
        RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28.0f, 28.0f, 6.0f, Color.BLACK.getRGB());
        if (target instanceof AbstractClientPlayerEntity) {
            StencilUtil.initStencilToWrite();
            RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28, 28, 3.0F, -1);
            StencilUtil.readStencilBuffer(1);
            RenderUtil.Render2D.drawFace(posX + 4.0f, posY, 8.0F, 8.0F, 8.0F, 8.0F, 28, 28, 64.0F, 64.0F, (AbstractClientPlayerEntity) this.target);
            StencilUtil.uninitStencilBuffer();
        }
        StyledFont medium = Fonts.msMedium[17];
        medium.drawString(matrixStack, substring, posX + 32.0f + 4.0f, posY + 2.0f, -1);
        Fonts.msSemiBold[12].drawString(matrixStack, "HP: " + hp * 5 + "%", posX + 32.0f + 4.0f, posY + 19.0f - 5.0f, -1);
        SmartScissor.unset();
        SmartScissor.pop();
        float currentHP = hp;
        if (currentHP >= 10.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 255), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(0, 204, 0, 250), ColorUtil.rgba(0, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(0, 204, 0, 60), ColorUtil.rgba(0, 153, 0, 60));
        } else if (currentHP >= 5.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 0, 250), ColorUtil.rgba(153, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(255, 255, 0, 60), ColorUtil.rgba(153, 153, 0, 60));
        } else {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(102, 0, 0, 250), ColorUtil.rgba(204, 0, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(102, 0, 0, 60), ColorUtil.rgba(204, 0, 0, 60));
        }
        this.drawItemStack(posX + 3.0F, posY - 8.0F - 5.5F, 10.0F);

        GlStateManager.popMatrix();
    }
не каждое говно нурсултан, но каждый нурсултан говно
 
Может я один тут не понимаю, но где код который музыку рендерит?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Увидел то что никто не может спастить этот вырвеглазный HUD Nursultan на EXP 2.0 | Если худ на SS Говно - смотрите у себя потому что у меня другие шрифты!

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:
Посмотреть вложение 292639

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать HUD под свой чит)

Чтобы были те иконки установите nyrik.ttf по кнопке
Пожалуйста, авторизуйтесь для просмотра ссылки.
и напишите эти коды в expensive-master/src/wtf/expensive/font/Fonts.java:
На 21 строке: public static volatile StyledFont[] nyrik = new StyledFont[42];

На 62 строке:

for (int i = 8; i < 24;i++) {
nyrik = new StyledFont("nyrik.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

PS: Чтобы установить nyrik.ttf зайдите в expensive-master/src/assets/minecraft/expensive/font, если у вас вылетает повторите все заного.

Код на HUD:


Код:
Expand Collapse Copy
    private void watermark(MatrixStack stack) {
        Object[] objectArray = new Object[1];
        objectArray[0] = Math.hypot(Minecraft.player.getPosX() - Minecraft.player.prevPosX, Minecraft.player.getPosZ() - Minecraft.player.prevPosZ) * 20.0;
        double speed2 = (Double) objectArray[0];
        String text = speed2 == 0.0 ? "0.0" : String.format(Locale.ENGLISH, "%.2f", speed2).replace(',', '.');
        String user = ClientUtil.me == null ? "null" : ClientUtil.me.getName();
        StringBuilder titleText = new StringBuilder("");
        LocalTime time = LocalTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        titleText.append(time.format(formatter));
        int var10000 = (int)Minecraft.player.getPosX();
        String cord = var10000 + " " + (int)Minecraft.player.getPosY() + " " + (int)Minecraft.player.getPosZ();
        float debugTPS = (int)Sunshine.getInstance().getTpsCalc().getTPS();
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(5.0f, 5.2f, 45.0f, 12.0f, 3.4f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(54.5f, 4.8f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 78.0f, 12.3f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(5.0f, 20.5f, 22.5f + Fonts.msSemiBold[13].getWidth(cord), 12.0f, 3.0f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(32.0f + Fonts.msSemiBold[13].getWidth(cord), 20.5f, 38.2f + Fonts.msSemiBold[13].getWidth(text), 12.0f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 4.0f, 47.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(53.5f, 4.0f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 80.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 19.5f, 24.5f + Fonts.msSemiBold[13].getWidth(cord), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(31.0f + Fonts.msSemiBold[13].getWidth(cord), 19.5f, 40.0f + Fonts.msSemiBold[13].getWidth(text), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(74.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text), 19.5f, 30.0f + (float)debugTPS, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRect(20.5f, 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(70.5f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(115.0f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(45.0f + Fonts.msSemiBold[13].getWidth(cord), 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(20.0f, 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.Nurik[19].drawString(stack, ClientUtil.gradient("S", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 8.0, 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, ClientUtil.gradient("Alpha", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 25.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("W", ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(90.0f)), 58.0, 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, user, 67.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("X", ColorUtil.getColorStyle(150.0f), ColorUtil.getColorStyle(120.0f)), (double)(73.5f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        StyledFont var10 = Fonts.msSemiBold[13];
        Minecraft var10002 = mc;
        var10.drawString(stack, Minecraft.debugFPS + " Fps", (double)(84.9f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, titleText.toString(), (double)(128.5f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("V", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(118.0f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, text, (double)(50.5f + Fonts.msSemiBold[13].getWidth(cord)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.msSemiBold[13].drawString(stack, "BPS", (double)(53.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("&#35", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(27.0f + Fonts.msSemiBold[13].getWidth(cord)), 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, cord, 24.0, 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("F", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 9.0, 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, "Tps " + debugTPS, (double)(87.3f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("Q", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 77.0 + (double)Fonts.msSemiBold[13].getWidth(cord) + (double)Fonts.msSemiBold[13].getWidth(text), 25.5, -1);
    }


    private void updateFunctions() {
        for (Function function : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (function.category == Type.Render) continue;
            this.functions.add(function);
            this.functions.sort((f1, f2) -> Float.compare(Fonts.msSemiBold[13].getWidth(f2.name), Fonts.msSemiBold[13].getWidth(f1.name)));
        }
    }

    private void onKeyBindsRender(MatrixStack stack) {
        float posX = this.keyBinds.getX();
        float posY = this.keyBinds.getY();
        int headerHeight = 14;
        int padding = 5;
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        this.activeModules = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (f.bind == 0 || !f.state) continue;
            ++this.activeModules;
        }
        this.keyBinds.setHeight((float)this.activeModules * this.offset + (float)headerHeight);
        float maxWidth = 0.0f;
        float height2 = (float)this.activeModules * this.offset;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.msSemiBold[12].getWidth(bindText);
            float nameWidth = Fonts.msSemiBold[12].getWidth(f.name);
            maxWidth = Math.max(maxWidth, bindWidth);
            maxWidth = Math.max(maxWidth, nameWidth);
        }
        float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
        this.widthAnime = AnimationMath.lerp(this.widthAnime, targetWidth, 10.5f);
        this.keyBinds.setWidth(this.widthAnime);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(posX + 1.0f, posY + -1.1f, this.keyBinds.getWidth() - 2.0f, 12.3f, 2.7f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, this.keyBinds.getWidth(), 14.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.babkatv[15].drawString(stack, "Hotkeys", (double)(posX + 19.5f), (double)(posY + 3.5f), new Color(255, 255, 255, 255).getRGB());
        Fonts.nursultan[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.keyBinds.getWidth(), this.keyBinds.getHeight());
        int index = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.babkatv[13].getWidth(bindText);
            StyledFont keyname = Fonts.babkatv[13];
            if (this.gradienthud.get()) {
                RenderUtil.Render2D.drawGradientRound(posX + 0.9f, posY - 5.2f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth() - 2.0f, 8.3f, 2.8f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            }
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth(), 10.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
            keyname.drawString(stack, f.name, (double)(posX + -2.0f + (float)padding), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            Fonts.babkatv[13].drawString(stack, bindText, (double)(posX + this.keyBinds.getWidth() - (float)padding - bindWidth + 1.5f), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            ++index;
        }
        SmartScissor.unset();
        SmartScissor.pop();
    }

    private void onStaffListRender(MatrixStack matrixStack) {
        float posX = this.staffListt1.getX();
        float posY = this.staffListt1.getY();
        int headerHeight = 14;
        float width2 = Math.max(this.nameWidth + 40.0f, 150.0f);
        int padding = 5;
        float offset = 10.5f;
        float height2 = (float)this.activeStaff * offset;
        this.hDynam = AnimationMath.fast(this.hDynam, height2, 100.0f);
        this.widthDynamic = AnimationMath.fast(this.widthDynamic, width2, 100.0f);
        this.updateMaxWidth();
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, (float)(this.maxWidth + 10 + this.maxWidth1), 14.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
        Fonts.msSemiBold[14].drawCenteredString(matrixStack, "StaffList", (double)(posX + 35.5f), (double)(posY + 3.0f), -1);
        Fonts.Nurik[16].drawString(matrixStack, "Y", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 255).getRGB());
        int index = 0;
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.widthDynamic, (float)headerHeight + this.hDynam + (float)padding / 2.0f);
        if (!this.staffPlayers.isEmpty()) {
            this.staffStartTimes.keySet().retainAll(this.staffPlayers);
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (this.gradienthud.get()) {
                    // empty if block
                }
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY + (float)headerHeight + (float)padding + (float)index * offset - 6.0f, (float)(this.maxWidth + 10), 10.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
                Fonts.msSemiBold[12].drawString(matrixStack, prefix, (double)(posX + (float)padding - 3.0f), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, name + " " + status2, (double)(posX + (float)padding + Fonts.gilroyBold[12].getWidth(prefix.getString() + "3")), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, "    " + timeString + " ", (double)(posX + (float)padding + Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2)), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), new Color(255, 255, 255).getRGB());
                this.nameWidth = Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                ++index;
            }
        } else {
            this.nameWidth = 0.0f;
        }
        SmartScissor.unset();
        SmartScissor.pop();
        this.activeStaff = index;
        this.staffListt1.setWidth(this.widthDynamic);
        this.staffListt1.setHeight(this.hDynam + (float)headerHeight);
    }

    private void updateMaxWidth() {
        this.maxWidth = 60;
        if (!this.staffPlayers.isEmpty()) {
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                int currentWidth = (int)Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                if (currentWidth <= this.maxWidth) continue;
                this.maxWidth = currentWidth;
            }
        }
    }

    private String formatTime(long timeDifference) {
        if (timeDifference >= 3600L) {
            int minutes = (int)(timeDifference / 3600L);
            int seconds = (int)(timeDifference % 3600L / 60L);
            return minutes + "h " + seconds + "m";
        }
        if (timeDifference >= 60L) {
            int minutes = (int)(timeDifference / 60L);
            int seconds = (int)(timeDifference % 60L);
            return minutes + "m " + seconds + "s";
        }
        return timeDifference + "s";
    }

    public void setStaffPlayers(List<Staff> staffPlayers) {
        this.staffPlayers = staffPlayers;
    }

    private void onSchedules(MatrixStack stack) {
        float posX = this.Schedules.getX();
        float posY = this.Schedules.getY();
        int headerHeight = 14;
        int padding = 5;
        this.Schedules.setHeight(this.SchedulesOffset + (float)headerHeight);
        float maxWidth = 0.0f;
        ZoneId moscowZone = ZoneId.of("Europe/Moscow");
        LocalDateTime now = LocalDateTime.now(moscowZone);
        for (int hour = 9; hour <= 1; hour += 2) {
            LocalDateTime scheduleTime = LocalDateTime.from(LocalTime.now().withHour(hour).withMinute(0).withSecond(0));
            String scheduleText = scheduleTime.format(DateTimeFormatter.ofPattern("HH:mm"));
            float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
            this.Schedules.setWidth(targetWidth);
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, 100.0f, 14.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
            Fonts.msSemiBold[14].drawCenteredString(stack, "Schedules", (double)(this.Schedules.getX() + 35.0f), (double)(posY + 3.5f), -1);
            Fonts.Nurik[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
            SmartScissor.push();
            SmartScissor.setFromComponentCoordinates(posX, posY, this.Schedules.getWidth(), this.Schedules.getHeight());
            int index = 0;
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.Schedules.getWidth(), 10.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            Fonts.msSemiBold[12].drawString(stack, scheduleText, (double)(posX + (float)padding), (double)(posY - 1.8f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            float lineX = posX + this.Schedules.getWidth() - (float)padding - 8.0f;
            RenderUtil.Render2D.drawRect(lineX, posY + (float)headerHeight + (float)padding + (float)index * this.offset - 4.0f, 0.3f, 5.5f, new Color(200, 200, 200, 100).getRGB());
            ++index;
            SmartScissor.unset();
            SmartScissor.pop();
        }
    }

    private void onArmorRender(MatrixStack matrixStack) {
        float x = this.Armor.getX();
        float y = this.Armor.getY();
        int width2 = 100;
        int height2 = 79;
        RenderUtil.Render2D.drawRoundedRect(x, y + 45.0f, width2 - 30, height2 - 40, 3.0f, ColorUtil.rgba(30, 21, 39, 90));
        int posY = (int)y + 63;
        int posX = (int)x + 3;
        for (ItemStack itemStack : Minecraft.player.getArmorInventoryList()) {
            if (!itemStack.isEmpty()) {
                mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, posX, posY);
                int maxDamage = itemStack.getMaxDamage();
                if (maxDamage > 0) {
                    float damagePercentage = (float)itemStack.getDamage() * 100.0f / (float)maxDamage;
                    int red = (int)(255.0f * (damagePercentage / 100.0f));
                    int green = 255 - red;
                    int roundedPercentage = Math.round(100.0f - damagePercentage);
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "" + roundedPercentage, (double)(posX + width2 - 92), (double)(posY - 11), ColorUtil.rgba(red, green, 0, 210));
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                } else {
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "null", (double)(posX + width2 - 92), (double)(posY - 11), -1);
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                }
                posX += 16;
            }
            this.Armor.setWidth(width2);
            this.Armor.setHeight(height2);
        }
    }

    private void onPotionElementsRender(MatrixStack matrixStack) {
        float posX = this.potionStatus.getX();
        float posY = this.potionStatus.getY();
        int width2 = Minecraft.player.getActivePotionEffects().isEmpty() ? 80 : 98;

        System.out.println("Central square position: X=" + posX + ", Y=" + (posY - 20.0f));
        System.out.println("Left square position: X=" + (posX - 15.0f) + ", Y=" + posY);
        System.out.println("Right square position: X=" + (posX + width2 + 5.0f) + ", Y=" + posY);

        try {
            // Отображаем центральную полосу
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 20.0f, width2, 15.0f, 3.5f, new Color(50, 100, 255, 200).getRGB());

            // Отображаем левый квадрат
            RenderUtil.Render2D.drawRect(posX - 15.0f, posY, 10.0f, 10.0f, new Color(255, 0, 0, 255).getRGB());

            // Отображаем правый квадрат
            RenderUtil.Render2D.drawRect(posX + width2 + 5.0f, posY, 10.0f, 10.0f, new Color(0, 255, 0, 255).getRGB());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    private void onRenderTargetHUD(MatrixStack matrixStack) {
        float posX = this.targetHUD.getX();
        float posY = this.targetHUD.getY();
        this.targetHUD.setWidth(120.0f);
        this.targetHUD.setHeight(36.0f);
        this.target = this.getTarget(this.target);
        this.scale1 = this.targetHudAnimation.getOutput();
        if (this.scale1 == 0.0) {
            this.target = null;
        }
        if (this.target == null) {
            return;
        }
        int hp = (int) target.getHealth();
        if (mc.getCurrentServerData() != null && mc.world != null && mc.world.getScoreboard() != null) {
            Score score = mc.world.getScoreboard().getOrCreateScore(target.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
            String serverIP = mc.getCurrentServerData().serverIP;
            if ((serverIP.contains("funtime") && target instanceof PlayerEntity) ||
                    serverIP.contains("reallyworld") ||
                    serverIP.contains("skytime") ||
                    serverIP.contains("local") ||
                    serverIP.contains("space-times"))
            {
                int scorePoints = score.getScorePoints();
                hp = scorePoints;
            }
        }
        String targetName = this.target.getName().getString();
        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        this.health = AnimationMath.fast(this.health, hp / this.target.getMaxHealth(), 5.0f);
        float round_degree = 7.0f;
        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(posX + 50.0f, posY + 19.0f, this.scale1);
        int backgroundColor = ColorUtil.rgba(20, 20, 20, 255);
        RenderUtil.Render2D.drawShadow(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), (int)round_degree, ColorUtil.rgba(20, 20, 20, 150), ColorUtil.rgba(20, 20, 0, 190));
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), round_degree, backgroundColor);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, 100.0, this.targetHUD.getHeight());
        RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28.0f, 28.0f, 6.0f, Color.BLACK.getRGB());
        if (target instanceof AbstractClientPlayerEntity) {
            StencilUtil.initStencilToWrite();
            RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28, 28, 3.0F, -1);
            StencilUtil.readStencilBuffer(1);
            RenderUtil.Render2D.drawFace(posX + 4.0f, posY, 8.0F, 8.0F, 8.0F, 8.0F, 28, 28, 64.0F, 64.0F, (AbstractClientPlayerEntity) this.target);
            StencilUtil.uninitStencilBuffer();
        }
        StyledFont medium = Fonts.msMedium[17];
        medium.drawString(matrixStack, substring, posX + 32.0f + 4.0f, posY + 2.0f, -1);
        Fonts.msSemiBold[12].drawString(matrixStack, "HP: " + hp * 5 + "%", posX + 32.0f + 4.0f, posY + 19.0f - 5.0f, -1);
        SmartScissor.unset();
        SmartScissor.pop();
        float currentHP = hp;
        if (currentHP >= 10.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 255), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(0, 204, 0, 250), ColorUtil.rgba(0, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(0, 204, 0, 60), ColorUtil.rgba(0, 153, 0, 60));
        } else if (currentHP >= 5.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 0, 250), ColorUtil.rgba(153, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(255, 255, 0, 60), ColorUtil.rgba(153, 153, 0, 60));
        } else {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(102, 0, 0, 250), ColorUtil.rgba(204, 0, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(102, 0, 0, 60), ColorUtil.rgba(204, 0, 0, 60));
        }
        this.drawItemStack(posX + 3.0F, posY - 8.0F - 5.5F, 10.0F);

        GlStateManager.popMatrix();
    }
uppppppppppppp
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Увидел то что никто не может спастить этот вырвеглазный HUD Nursultan на EXP 2.0 | Если худ на SS Говно - смотрите у себя потому что у меня другие шрифты!

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:
Посмотреть вложение 292639

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать HUD под свой чит)

Чтобы были те иконки установите nyrik.ttf по кнопке
Пожалуйста, авторизуйтесь для просмотра ссылки.
и напишите эти коды в expensive-master/src/wtf/expensive/font/Fonts.java:
На 21 строке: public static volatile StyledFont[] nyrik = new StyledFont[42];

На 62 строке:

for (int i = 8; i < 24;i++) {
nyrik = new StyledFont("nyrik.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

PS: Чтобы установить nyrik.ttf зайдите в expensive-master/src/assets/minecraft/expensive/font, если у вас вылетает повторите все заного.

Код на HUD:


Код:
Expand Collapse Copy
    private void watermark(MatrixStack stack) {
        Object[] objectArray = new Object[1];
        objectArray[0] = Math.hypot(Minecraft.player.getPosX() - Minecraft.player.prevPosX, Minecraft.player.getPosZ() - Minecraft.player.prevPosZ) * 20.0;
        double speed2 = (Double) objectArray[0];
        String text = speed2 == 0.0 ? "0.0" : String.format(Locale.ENGLISH, "%.2f", speed2).replace(',', '.');
        String user = ClientUtil.me == null ? "null" : ClientUtil.me.getName();
        StringBuilder titleText = new StringBuilder("");
        LocalTime time = LocalTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        titleText.append(time.format(formatter));
        int var10000 = (int)Minecraft.player.getPosX();
        String cord = var10000 + " " + (int)Minecraft.player.getPosY() + " " + (int)Minecraft.player.getPosZ();
        float debugTPS = (int)Sunshine.getInstance().getTpsCalc().getTPS();
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(5.0f, 5.2f, 45.0f, 12.0f, 3.4f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(54.5f, 4.8f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 78.0f, 12.3f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(5.0f, 20.5f, 22.5f + Fonts.msSemiBold[13].getWidth(cord), 12.0f, 3.0f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(32.0f + Fonts.msSemiBold[13].getWidth(cord), 20.5f, 38.2f + Fonts.msSemiBold[13].getWidth(text), 12.0f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 4.0f, 47.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(53.5f, 4.0f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 80.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 19.5f, 24.5f + Fonts.msSemiBold[13].getWidth(cord), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(31.0f + Fonts.msSemiBold[13].getWidth(cord), 19.5f, 40.0f + Fonts.msSemiBold[13].getWidth(text), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(74.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text), 19.5f, 30.0f + (float)debugTPS, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRect(20.5f, 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(70.5f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(115.0f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(45.0f + Fonts.msSemiBold[13].getWidth(cord), 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(20.0f, 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.Nurik[19].drawString(stack, ClientUtil.gradient("S", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 8.0, 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, ClientUtil.gradient("Alpha", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 25.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("W", ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(90.0f)), 58.0, 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, user, 67.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("X", ColorUtil.getColorStyle(150.0f), ColorUtil.getColorStyle(120.0f)), (double)(73.5f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        StyledFont var10 = Fonts.msSemiBold[13];
        Minecraft var10002 = mc;
        var10.drawString(stack, Minecraft.debugFPS + " Fps", (double)(84.9f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, titleText.toString(), (double)(128.5f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("V", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(118.0f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, text, (double)(50.5f + Fonts.msSemiBold[13].getWidth(cord)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.msSemiBold[13].drawString(stack, "BPS", (double)(53.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("&#35", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(27.0f + Fonts.msSemiBold[13].getWidth(cord)), 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, cord, 24.0, 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("F", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 9.0, 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, "Tps " + debugTPS, (double)(87.3f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("Q", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 77.0 + (double)Fonts.msSemiBold[13].getWidth(cord) + (double)Fonts.msSemiBold[13].getWidth(text), 25.5, -1);
    }


    private void updateFunctions() {
        for (Function function : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (function.category == Type.Render) continue;
            this.functions.add(function);
            this.functions.sort((f1, f2) -> Float.compare(Fonts.msSemiBold[13].getWidth(f2.name), Fonts.msSemiBold[13].getWidth(f1.name)));
        }
    }

    private void onKeyBindsRender(MatrixStack stack) {
        float posX = this.keyBinds.getX();
        float posY = this.keyBinds.getY();
        int headerHeight = 14;
        int padding = 5;
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        this.activeModules = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (f.bind == 0 || !f.state) continue;
            ++this.activeModules;
        }
        this.keyBinds.setHeight((float)this.activeModules * this.offset + (float)headerHeight);
        float maxWidth = 0.0f;
        float height2 = (float)this.activeModules * this.offset;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.msSemiBold[12].getWidth(bindText);
            float nameWidth = Fonts.msSemiBold[12].getWidth(f.name);
            maxWidth = Math.max(maxWidth, bindWidth);
            maxWidth = Math.max(maxWidth, nameWidth);
        }
        float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
        this.widthAnime = AnimationMath.lerp(this.widthAnime, targetWidth, 10.5f);
        this.keyBinds.setWidth(this.widthAnime);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(posX + 1.0f, posY + -1.1f, this.keyBinds.getWidth() - 2.0f, 12.3f, 2.7f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, this.keyBinds.getWidth(), 14.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.babkatv[15].drawString(stack, "Hotkeys", (double)(posX + 19.5f), (double)(posY + 3.5f), new Color(255, 255, 255, 255).getRGB());
        Fonts.nursultan[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.keyBinds.getWidth(), this.keyBinds.getHeight());
        int index = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.babkatv[13].getWidth(bindText);
            StyledFont keyname = Fonts.babkatv[13];
            if (this.gradienthud.get()) {
                RenderUtil.Render2D.drawGradientRound(posX + 0.9f, posY - 5.2f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth() - 2.0f, 8.3f, 2.8f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            }
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth(), 10.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
            keyname.drawString(stack, f.name, (double)(posX + -2.0f + (float)padding), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            Fonts.babkatv[13].drawString(stack, bindText, (double)(posX + this.keyBinds.getWidth() - (float)padding - bindWidth + 1.5f), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            ++index;
        }
        SmartScissor.unset();
        SmartScissor.pop();
    }

    private void onStaffListRender(MatrixStack matrixStack) {
        float posX = this.staffListt1.getX();
        float posY = this.staffListt1.getY();
        int headerHeight = 14;
        float width2 = Math.max(this.nameWidth + 40.0f, 150.0f);
        int padding = 5;
        float offset = 10.5f;
        float height2 = (float)this.activeStaff * offset;
        this.hDynam = AnimationMath.fast(this.hDynam, height2, 100.0f);
        this.widthDynamic = AnimationMath.fast(this.widthDynamic, width2, 100.0f);
        this.updateMaxWidth();
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, (float)(this.maxWidth + 10 + this.maxWidth1), 14.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
        Fonts.msSemiBold[14].drawCenteredString(matrixStack, "StaffList", (double)(posX + 35.5f), (double)(posY + 3.0f), -1);
        Fonts.Nurik[16].drawString(matrixStack, "Y", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 255).getRGB());
        int index = 0;
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.widthDynamic, (float)headerHeight + this.hDynam + (float)padding / 2.0f);
        if (!this.staffPlayers.isEmpty()) {
            this.staffStartTimes.keySet().retainAll(this.staffPlayers);
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (this.gradienthud.get()) {
                    // empty if block
                }
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY + (float)headerHeight + (float)padding + (float)index * offset - 6.0f, (float)(this.maxWidth + 10), 10.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
                Fonts.msSemiBold[12].drawString(matrixStack, prefix, (double)(posX + (float)padding - 3.0f), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, name + " " + status2, (double)(posX + (float)padding + Fonts.gilroyBold[12].getWidth(prefix.getString() + "3")), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, "    " + timeString + " ", (double)(posX + (float)padding + Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2)), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), new Color(255, 255, 255).getRGB());
                this.nameWidth = Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                ++index;
            }
        } else {
            this.nameWidth = 0.0f;
        }
        SmartScissor.unset();
        SmartScissor.pop();
        this.activeStaff = index;
        this.staffListt1.setWidth(this.widthDynamic);
        this.staffListt1.setHeight(this.hDynam + (float)headerHeight);
    }

    private void updateMaxWidth() {
        this.maxWidth = 60;
        if (!this.staffPlayers.isEmpty()) {
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                int currentWidth = (int)Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                if (currentWidth <= this.maxWidth) continue;
                this.maxWidth = currentWidth;
            }
        }
    }

    private String formatTime(long timeDifference) {
        if (timeDifference >= 3600L) {
            int minutes = (int)(timeDifference / 3600L);
            int seconds = (int)(timeDifference % 3600L / 60L);
            return minutes + "h " + seconds + "m";
        }
        if (timeDifference >= 60L) {
            int minutes = (int)(timeDifference / 60L);
            int seconds = (int)(timeDifference % 60L);
            return minutes + "m " + seconds + "s";
        }
        return timeDifference + "s";
    }

    public void setStaffPlayers(List<Staff> staffPlayers) {
        this.staffPlayers = staffPlayers;
    }

    private void onSchedules(MatrixStack stack) {
        float posX = this.Schedules.getX();
        float posY = this.Schedules.getY();
        int headerHeight = 14;
        int padding = 5;
        this.Schedules.setHeight(this.SchedulesOffset + (float)headerHeight);
        float maxWidth = 0.0f;
        ZoneId moscowZone = ZoneId.of("Europe/Moscow");
        LocalDateTime now = LocalDateTime.now(moscowZone);
        for (int hour = 9; hour <= 1; hour += 2) {
            LocalDateTime scheduleTime = LocalDateTime.from(LocalTime.now().withHour(hour).withMinute(0).withSecond(0));
            String scheduleText = scheduleTime.format(DateTimeFormatter.ofPattern("HH:mm"));
            float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
            this.Schedules.setWidth(targetWidth);
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, 100.0f, 14.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
            Fonts.msSemiBold[14].drawCenteredString(stack, "Schedules", (double)(this.Schedules.getX() + 35.0f), (double)(posY + 3.5f), -1);
            Fonts.Nurik[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
            SmartScissor.push();
            SmartScissor.setFromComponentCoordinates(posX, posY, this.Schedules.getWidth(), this.Schedules.getHeight());
            int index = 0;
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.Schedules.getWidth(), 10.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            Fonts.msSemiBold[12].drawString(stack, scheduleText, (double)(posX + (float)padding), (double)(posY - 1.8f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            float lineX = posX + this.Schedules.getWidth() - (float)padding - 8.0f;
            RenderUtil.Render2D.drawRect(lineX, posY + (float)headerHeight + (float)padding + (float)index * this.offset - 4.0f, 0.3f, 5.5f, new Color(200, 200, 200, 100).getRGB());
            ++index;
            SmartScissor.unset();
            SmartScissor.pop();
        }
    }

    private void onArmorRender(MatrixStack matrixStack) {
        float x = this.Armor.getX();
        float y = this.Armor.getY();
        int width2 = 100;
        int height2 = 79;
        RenderUtil.Render2D.drawRoundedRect(x, y + 45.0f, width2 - 30, height2 - 40, 3.0f, ColorUtil.rgba(30, 21, 39, 90));
        int posY = (int)y + 63;
        int posX = (int)x + 3;
        for (ItemStack itemStack : Minecraft.player.getArmorInventoryList()) {
            if (!itemStack.isEmpty()) {
                mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, posX, posY);
                int maxDamage = itemStack.getMaxDamage();
                if (maxDamage > 0) {
                    float damagePercentage = (float)itemStack.getDamage() * 100.0f / (float)maxDamage;
                    int red = (int)(255.0f * (damagePercentage / 100.0f));
                    int green = 255 - red;
                    int roundedPercentage = Math.round(100.0f - damagePercentage);
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "" + roundedPercentage, (double)(posX + width2 - 92), (double)(posY - 11), ColorUtil.rgba(red, green, 0, 210));
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                } else {
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "null", (double)(posX + width2 - 92), (double)(posY - 11), -1);
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                }
                posX += 16;
            }
            this.Armor.setWidth(width2);
            this.Armor.setHeight(height2);
        }
    }

    private void onPotionElementsRender(MatrixStack matrixStack) {
        float posX = this.potionStatus.getX();
        float posY = this.potionStatus.getY();
        int width2 = Minecraft.player.getActivePotionEffects().isEmpty() ? 80 : 98;

        System.out.println("Central square position: X=" + posX + ", Y=" + (posY - 20.0f));
        System.out.println("Left square position: X=" + (posX - 15.0f) + ", Y=" + posY);
        System.out.println("Right square position: X=" + (posX + width2 + 5.0f) + ", Y=" + posY);

        try {
            // Отображаем центральную полосу
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 20.0f, width2, 15.0f, 3.5f, new Color(50, 100, 255, 200).getRGB());

            // Отображаем левый квадрат
            RenderUtil.Render2D.drawRect(posX - 15.0f, posY, 10.0f, 10.0f, new Color(255, 0, 0, 255).getRGB());

            // Отображаем правый квадрат
            RenderUtil.Render2D.drawRect(posX + width2 + 5.0f, posY, 10.0f, 10.0f, new Color(0, 255, 0, 255).getRGB());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    private void onRenderTargetHUD(MatrixStack matrixStack) {
        float posX = this.targetHUD.getX();
        float posY = this.targetHUD.getY();
        this.targetHUD.setWidth(120.0f);
        this.targetHUD.setHeight(36.0f);
        this.target = this.getTarget(this.target);
        this.scale1 = this.targetHudAnimation.getOutput();
        if (this.scale1 == 0.0) {
            this.target = null;
        }
        if (this.target == null) {
            return;
        }
        int hp = (int) target.getHealth();
        if (mc.getCurrentServerData() != null && mc.world != null && mc.world.getScoreboard() != null) {
            Score score = mc.world.getScoreboard().getOrCreateScore(target.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
            String serverIP = mc.getCurrentServerData().serverIP;
            if ((serverIP.contains("funtime") && target instanceof PlayerEntity) ||
                    serverIP.contains("reallyworld") ||
                    serverIP.contains("skytime") ||
                    serverIP.contains("local") ||
                    serverIP.contains("space-times"))
            {
                int scorePoints = score.getScorePoints();
                hp = scorePoints;
            }
        }
        String targetName = this.target.getName().getString();
        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        this.health = AnimationMath.fast(this.health, hp / this.target.getMaxHealth(), 5.0f);
        float round_degree = 7.0f;
        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(posX + 50.0f, posY + 19.0f, this.scale1);
        int backgroundColor = ColorUtil.rgba(20, 20, 20, 255);
        RenderUtil.Render2D.drawShadow(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), (int)round_degree, ColorUtil.rgba(20, 20, 20, 150), ColorUtil.rgba(20, 20, 0, 190));
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), round_degree, backgroundColor);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, 100.0, this.targetHUD.getHeight());
        RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28.0f, 28.0f, 6.0f, Color.BLACK.getRGB());
        if (target instanceof AbstractClientPlayerEntity) {
            StencilUtil.initStencilToWrite();
            RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28, 28, 3.0F, -1);
            StencilUtil.readStencilBuffer(1);
            RenderUtil.Render2D.drawFace(posX + 4.0f, posY, 8.0F, 8.0F, 8.0F, 8.0F, 28, 28, 64.0F, 64.0F, (AbstractClientPlayerEntity) this.target);
            StencilUtil.uninitStencilBuffer();
        }
        StyledFont medium = Fonts.msMedium[17];
        medium.drawString(matrixStack, substring, posX + 32.0f + 4.0f, posY + 2.0f, -1);
        Fonts.msSemiBold[12].drawString(matrixStack, "HP: " + hp * 5 + "%", posX + 32.0f + 4.0f, posY + 19.0f - 5.0f, -1);
        SmartScissor.unset();
        SmartScissor.pop();
        float currentHP = hp;
        if (currentHP >= 10.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 255), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(0, 204, 0, 250), ColorUtil.rgba(0, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(0, 204, 0, 60), ColorUtil.rgba(0, 153, 0, 60));
        } else if (currentHP >= 5.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 0, 250), ColorUtil.rgba(153, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(255, 255, 0, 60), ColorUtil.rgba(153, 153, 0, 60));
        } else {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(102, 0, 0, 250), ColorUtil.rgba(204, 0, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(102, 0, 0, 60), ColorUtil.rgba(204, 0, 0, 60));
        }
        this.drawItemStack(posX + 3.0F, posY - 8.0F - 5.5F, 10.0F);

        GlStateManager.popMatrix();
    }
но уж лучше слить SRC с этим худецким, некоторые не смогут запастить
 
мои глаза я хуже скида не видел в жизни..
 
Увидел то что никто не может спастить этот вырвеглазный HUD Nursultan на EXP 2.0 | Если худ на SS Говно - смотрите у себя потому что у меня другие шрифты!

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:
Посмотреть вложение 292639

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать HUD под свой чит)

Чтобы были те иконки установите nyrik.ttf по кнопке
Пожалуйста, авторизуйтесь для просмотра ссылки.
и напишите эти коды в expensive-master/src/wtf/expensive/font/Fonts.java:
На 21 строке: public static volatile StyledFont[] nyrik = new StyledFont[42];

На 62 строке:

for (int i = 8; i < 24;i++) {
nyrik = new StyledFont("nyrik.ttf", i, 0.0f, 0.0f, 0.0f, true, Lang.ENG_RU);
}

PS: Чтобы установить nyrik.ttf зайдите в expensive-master/src/assets/minecraft/expensive/font, если у вас вылетает повторите все заного.

Код на HUD:


Код:
Expand Collapse Copy
    private void watermark(MatrixStack stack) {
        Object[] objectArray = new Object[1];
        objectArray[0] = Math.hypot(Minecraft.player.getPosX() - Minecraft.player.prevPosX, Minecraft.player.getPosZ() - Minecraft.player.prevPosZ) * 20.0;
        double speed2 = (Double) objectArray[0];
        String text = speed2 == 0.0 ? "0.0" : String.format(Locale.ENGLISH, "%.2f", speed2).replace(',', '.');
        String user = ClientUtil.me == null ? "null" : ClientUtil.me.getName();
        StringBuilder titleText = new StringBuilder("");
        LocalTime time = LocalTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        titleText.append(time.format(formatter));
        int var10000 = (int)Minecraft.player.getPosX();
        String cord = var10000 + " " + (int)Minecraft.player.getPosY() + " " + (int)Minecraft.player.getPosZ();
        float debugTPS = (int)Sunshine.getInstance().getTpsCalc().getTPS();
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(5.0f, 5.2f, 45.0f, 12.0f, 3.4f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(54.5f, 4.8f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 78.0f, 12.3f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(5.0f, 20.5f, 22.5f + Fonts.msSemiBold[13].getWidth(cord), 12.0f, 3.0f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            RenderUtil.Render2D.drawGradientRound(32.0f + Fonts.msSemiBold[13].getWidth(cord), 20.5f, 38.2f + Fonts.msSemiBold[13].getWidth(text), 12.0f, 3.3f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 4.0f, 47.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(53.5f, 4.0f, Fonts.msSemiBold[13].getWidth(user) + Fonts.msSemiBold[13].getWidth(titleText.toString()) + 80.0f, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(4.0f, 19.5f, 24.5f + Fonts.msSemiBold[13].getWidth(cord), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(31.0f + Fonts.msSemiBold[13].getWidth(cord), 19.5f, 40.0f + Fonts.msSemiBold[13].getWidth(text), 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRoundedCorner(74.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text), 19.5f, 30.0f + (float)debugTPS, 14.0f, 4.0f, new Color(24, 24, 24, 240).getRGB());
        RenderUtil.Render2D.drawRect(20.5f, 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(70.5f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(115.0f + Fonts.msSemiBold[13].getWidth(user), 7.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(45.0f + Fonts.msSemiBold[13].getWidth(cord), 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        RenderUtil.Render2D.drawRect(20.0f, 22.5f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.Nurik[19].drawString(stack, ClientUtil.gradient("S", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 8.0, 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, ClientUtil.gradient("Alpha", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 25.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("W", ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(90.0f)), 58.0, 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, user, 67.5, 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("X", ColorUtil.getColorStyle(150.0f), ColorUtil.getColorStyle(120.0f)), (double)(73.5f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        StyledFont var10 = Fonts.msSemiBold[13];
        Minecraft var10002 = mc;
        var10.drawString(stack, Minecraft.debugFPS + " Fps", (double)(84.9f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.msSemiBold[13].drawString(stack, titleText.toString(), (double)(128.5f + Fonts.msSemiBold[13].getWidth(user)), 10.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("V", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(118.0f + Fonts.msSemiBold[13].getWidth(user)), 10.5, -1);
        Fonts.msSemiBold[13].drawString(stack, text, (double)(50.5f + Fonts.msSemiBold[13].getWidth(cord)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.msSemiBold[13].drawString(stack, "BPS", (double)(53.0f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, -1);
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("&#35", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), (double)(27.0f + Fonts.msSemiBold[13].getWidth(cord)), 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, cord, 24.0, 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("F", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 9.0, 25.5, -1);
        Fonts.msSemiBold[13].drawString(stack, "Tps " + debugTPS, (double)(87.3f + Fonts.msSemiBold[13].getWidth(cord) + Fonts.msSemiBold[13].getWidth(text)), 25.0, new Color(255, 255, 255, 255).getRGB());
        Fonts.Nurik[14].drawString(stack, ClientUtil.gradient("Q", ColorUtil.getColorStyle(90.0f), ColorUtil.getColorStyle(180.0f)), 77.0 + (double)Fonts.msSemiBold[13].getWidth(cord) + (double)Fonts.msSemiBold[13].getWidth(text), 25.5, -1);
    }


    private void updateFunctions() {
        for (Function function : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (function.category == Type.Render) continue;
            this.functions.add(function);
            this.functions.sort((f1, f2) -> Float.compare(Fonts.msSemiBold[13].getWidth(f2.name), Fonts.msSemiBold[13].getWidth(f1.name)));
        }
    }

    private void onKeyBindsRender(MatrixStack stack) {
        float posX = this.keyBinds.getX();
        float posY = this.keyBinds.getY();
        int headerHeight = 14;
        int padding = 5;
        int firstColor = ColorUtil.getColorStyle(0.0f);
        int secondColor = ColorUtil.getColorStyle(90.0f);
        this.activeModules = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            if (f.bind == 0 || !f.state) continue;
            ++this.activeModules;
        }
        this.keyBinds.setHeight((float)this.activeModules * this.offset + (float)headerHeight);
        float maxWidth = 0.0f;
        float height2 = (float)this.activeModules * this.offset;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.msSemiBold[12].getWidth(bindText);
            float nameWidth = Fonts.msSemiBold[12].getWidth(f.name);
            maxWidth = Math.max(maxWidth, bindWidth);
            maxWidth = Math.max(maxWidth, nameWidth);
        }
        float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
        this.widthAnime = AnimationMath.lerp(this.widthAnime, targetWidth, 10.5f);
        this.keyBinds.setWidth(this.widthAnime);
        if (this.gradienthud.get()) {
            RenderUtil.Render2D.drawGradientRound(posX + 1.0f, posY + -1.1f, this.keyBinds.getWidth() - 2.0f, 12.3f, 2.7f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
        }
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, this.keyBinds.getWidth(), 14.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
        Fonts.babkatv[15].drawString(stack, "Hotkeys", (double)(posX + 19.5f), (double)(posY + 3.5f), new Color(255, 255, 255, 255).getRGB());
        Fonts.nursultan[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.keyBinds.getWidth(), this.keyBinds.getHeight());
        int index = 0;
        for (Function f : Managment.FUNCTION_MANAGER.getFunctions()) {
            String text;
            if (f.bind == 0 || !f.state || (text = ClientUtil.getKey(f.bind)) == null) continue;
            String bindText = text.toUpperCase();
            float bindWidth = Fonts.babkatv[13].getWidth(bindText);
            StyledFont keyname = Fonts.babkatv[13];
            if (this.gradienthud.get()) {
                RenderUtil.Render2D.drawGradientRound(posX + 0.9f, posY - 5.2f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth() - 2.0f, 8.3f, 2.8f, firstColor, secondColor, ColorUtil.getColorStyle(180.0f), ColorUtil.getColorStyle(270.0f));
            }
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.keyBinds.getWidth(), 10.0f, 3.5f, new Color(24, 24, 24, 236).getRGB());
            keyname.drawString(stack, f.name, (double)(posX + -2.0f + (float)padding), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            Fonts.babkatv[13].drawString(stack, bindText, (double)(posX + this.keyBinds.getWidth() - (float)padding - bindWidth + 1.5f), (double)(posY - 2.5f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            ++index;
        }
        SmartScissor.unset();
        SmartScissor.pop();
    }

    private void onStaffListRender(MatrixStack matrixStack) {
        float posX = this.staffListt1.getX();
        float posY = this.staffListt1.getY();
        int headerHeight = 14;
        float width2 = Math.max(this.nameWidth + 40.0f, 150.0f);
        int padding = 5;
        float offset = 10.5f;
        float height2 = (float)this.activeStaff * offset;
        this.hDynam = AnimationMath.fast(this.hDynam, height2, 100.0f);
        this.widthDynamic = AnimationMath.fast(this.widthDynamic, width2, 100.0f);
        this.updateMaxWidth();
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, (float)(this.maxWidth + 10 + this.maxWidth1), 14.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
        Fonts.msSemiBold[14].drawCenteredString(matrixStack, "StaffList", (double)(posX + 35.5f), (double)(posY + 3.0f), -1);
        Fonts.Nurik[16].drawString(matrixStack, "Y", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
        RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 255).getRGB());
        int index = 0;
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, this.widthDynamic, (float)headerHeight + this.hDynam + (float)padding / 2.0f);
        if (!this.staffPlayers.isEmpty()) {
            this.staffStartTimes.keySet().retainAll(this.staffPlayers);
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (this.gradienthud.get()) {
                    // empty if block
                }
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY + (float)headerHeight + (float)padding + (float)index * offset - 6.0f, (float)(this.maxWidth + 10), 10.0f, 4.0f, new Color(30, 30, 30, 255).getRGB());
                Fonts.msSemiBold[12].drawString(matrixStack, prefix, (double)(posX + (float)padding - 3.0f), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, name + " " + status2, (double)(posX + (float)padding + Fonts.gilroyBold[12].getWidth(prefix.getString() + "3")), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), -1);
                Fonts.msSemiBold[12].drawString(matrixStack, "    " + timeString + " ", (double)(posX + (float)padding + Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2)), (double)(posY + (float)headerHeight + (float)padding + (float)index * offset - 2.0f), new Color(255, 255, 255).getRGB());
                this.nameWidth = Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                ++index;
            }
        } else {
            this.nameWidth = 0.0f;
        }
        SmartScissor.unset();
        SmartScissor.pop();
        this.activeStaff = index;
        this.staffListt1.setWidth(this.widthDynamic);
        this.staffListt1.setHeight(this.hDynam + (float)headerHeight);
    }

    private void updateMaxWidth() {
        this.maxWidth = 60;
        if (!this.staffPlayers.isEmpty()) {
            for (Staff staff : this.staffPlayers) {
                String name = staff.getName();
                ITextComponent prefix = staff.getPrefix();
                String status2 = staff.getStatus().string;
                if (!this.staffStartTimes.containsKey(staff)) {
                    this.staffStartTimes.put(staff, System.currentTimeMillis());
                }
                long timeDifference = (System.currentTimeMillis() - this.staffStartTimes.get(staff)) / 1000L;
                String timeString = this.formatTime(timeDifference);
                int currentWidth = (int)Fonts.msSemiBold[12].getWidth(prefix.getString() + name + " " + status2 + " (" + timeString + ")");
                if (currentWidth <= this.maxWidth) continue;
                this.maxWidth = currentWidth;
            }
        }
    }

    private String formatTime(long timeDifference) {
        if (timeDifference >= 3600L) {
            int minutes = (int)(timeDifference / 3600L);
            int seconds = (int)(timeDifference % 3600L / 60L);
            return minutes + "h " + seconds + "m";
        }
        if (timeDifference >= 60L) {
            int minutes = (int)(timeDifference / 60L);
            int seconds = (int)(timeDifference % 60L);
            return minutes + "m " + seconds + "s";
        }
        return timeDifference + "s";
    }

    public void setStaffPlayers(List<Staff> staffPlayers) {
        this.staffPlayers = staffPlayers;
    }

    private void onSchedules(MatrixStack stack) {
        float posX = this.Schedules.getX();
        float posY = this.Schedules.getY();
        int headerHeight = 14;
        int padding = 5;
        this.Schedules.setHeight(this.SchedulesOffset + (float)headerHeight);
        float maxWidth = 0.0f;
        ZoneId moscowZone = ZoneId.of("Europe/Moscow");
        LocalDateTime now = LocalDateTime.now(moscowZone);
        for (int hour = 9; hour <= 1; hour += 2) {
            LocalDateTime scheduleTime = LocalDateTime.from(LocalTime.now().withHour(hour).withMinute(0).withSecond(0));
            String scheduleText = scheduleTime.format(DateTimeFormatter.ofPattern("HH:mm"));
            float targetWidth = Math.max(60.0f, 15.5f + maxWidth + (float)(padding * 2) + 5.0f);
            this.Schedules.setWidth(targetWidth);
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 2.0f, 100.0f, 14.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            RenderUtil.Render2D.drawRect(posX + 16.0f, posY + 1.0f, 0.3f, 7.5f, new Color(200, 200, 200, 100).getRGB());
            Fonts.msSemiBold[14].drawCenteredString(stack, "Schedules", (double)(this.Schedules.getX() + 35.0f), (double)(posY + 3.5f), -1);
            Fonts.Nurik[16].drawString(stack, "C", (double)(posX + 5.0f), (double)(posY + 4.0f), -1);
            SmartScissor.push();
            SmartScissor.setFromComponentCoordinates(posX, posY, this.Schedules.getWidth(), this.Schedules.getHeight());
            int index = 0;
            RenderUtil.Render2D.drawRoundedCorner(posX + (float)padding - 5.0f, posY - 6.0f + (float)headerHeight + (float)padding + (float)index * this.offset, this.Schedules.getWidth(), 10.0f, 4.0f, new Color(30, 30, 30, 210).getRGB());
            Fonts.msSemiBold[12].drawString(stack, scheduleText, (double)(posX + (float)padding), (double)(posY - 1.8f + (float)headerHeight + (float)padding + (float)index * this.offset), -1);
            float lineX = posX + this.Schedules.getWidth() - (float)padding - 8.0f;
            RenderUtil.Render2D.drawRect(lineX, posY + (float)headerHeight + (float)padding + (float)index * this.offset - 4.0f, 0.3f, 5.5f, new Color(200, 200, 200, 100).getRGB());
            ++index;
            SmartScissor.unset();
            SmartScissor.pop();
        }
    }

    private void onArmorRender(MatrixStack matrixStack) {
        float x = this.Armor.getX();
        float y = this.Armor.getY();
        int width2 = 100;
        int height2 = 79;
        RenderUtil.Render2D.drawRoundedRect(x, y + 45.0f, width2 - 30, height2 - 40, 3.0f, ColorUtil.rgba(30, 21, 39, 90));
        int posY = (int)y + 63;
        int posX = (int)x + 3;
        for (ItemStack itemStack : Minecraft.player.getArmorInventoryList()) {
            if (!itemStack.isEmpty()) {
                mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, posX, posY);
                int maxDamage = itemStack.getMaxDamage();
                if (maxDamage > 0) {
                    float damagePercentage = (float)itemStack.getDamage() * 100.0f / (float)maxDamage;
                    int red = (int)(255.0f * (damagePercentage / 100.0f));
                    int green = 255 - red;
                    int roundedPercentage = Math.round(100.0f - damagePercentage);
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "" + roundedPercentage, (double)(posX + width2 - 92), (double)(posY - 11), ColorUtil.rgba(red, green, 0, 210));
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                } else {
                    Fonts.gilroyBold[14].drawCenteredString(matrixStack, "null", (double)(posX + width2 - 92), (double)(posY - 11), -1);
                    RenderUtil.Render2D.drawRect(posX + width2 - 98, posY - 3, 12.0f, 0.5f, ColorUtil.rgba(200, 200, 200, 100));
                }
                posX += 16;
            }
            this.Armor.setWidth(width2);
            this.Armor.setHeight(height2);
        }
    }

    private void onPotionElementsRender(MatrixStack matrixStack) {
        float posX = this.potionStatus.getX();
        float posY = this.potionStatus.getY();
        int width2 = Minecraft.player.getActivePotionEffects().isEmpty() ? 80 : 98;

        System.out.println("Central square position: X=" + posX + ", Y=" + (posY - 20.0f));
        System.out.println("Left square position: X=" + (posX - 15.0f) + ", Y=" + posY);
        System.out.println("Right square position: X=" + (posX + width2 + 5.0f) + ", Y=" + posY);

        try {
            // Отображаем центральную полосу
            RenderUtil.Render2D.drawRoundedCorner(posX, posY - 20.0f, width2, 15.0f, 3.5f, new Color(50, 100, 255, 200).getRGB());

            // Отображаем левый квадрат
            RenderUtil.Render2D.drawRect(posX - 15.0f, posY, 10.0f, 10.0f, new Color(255, 0, 0, 255).getRGB());

            // Отображаем правый квадрат
            RenderUtil.Render2D.drawRect(posX + width2 + 5.0f, posY, 10.0f, 10.0f, new Color(0, 255, 0, 255).getRGB());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    private void onRenderTargetHUD(MatrixStack matrixStack) {
        float posX = this.targetHUD.getX();
        float posY = this.targetHUD.getY();
        this.targetHUD.setWidth(120.0f);
        this.targetHUD.setHeight(36.0f);
        this.target = this.getTarget(this.target);
        this.scale1 = this.targetHudAnimation.getOutput();
        if (this.scale1 == 0.0) {
            this.target = null;
        }
        if (this.target == null) {
            return;
        }
        int hp = (int) target.getHealth();
        if (mc.getCurrentServerData() != null && mc.world != null && mc.world.getScoreboard() != null) {
            Score score = mc.world.getScoreboard().getOrCreateScore(target.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
            String serverIP = mc.getCurrentServerData().serverIP;
            if ((serverIP.contains("funtime") && target instanceof PlayerEntity) ||
                    serverIP.contains("reallyworld") ||
                    serverIP.contains("skytime") ||
                    serverIP.contains("local") ||
                    serverIP.contains("space-times"))
            {
                int scorePoints = score.getScorePoints();
                hp = scorePoints;
            }
        }
        String targetName = this.target.getName().getString();
        String substring = targetName.substring(0, Math.min(targetName.length(), 10));
        this.health = AnimationMath.fast(this.health, hp / this.target.getMaxHealth(), 5.0f);
        float round_degree = 7.0f;
        GlStateManager.pushMatrix();
        AnimationMath.sizeAnimation(posX + 50.0f, posY + 19.0f, this.scale1);
        int backgroundColor = ColorUtil.rgba(20, 20, 20, 255);
        RenderUtil.Render2D.drawShadow(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), (int)round_degree, ColorUtil.rgba(20, 20, 20, 150), ColorUtil.rgba(20, 20, 0, 190));
        RenderUtil.Render2D.drawRoundedCorner(posX, posY - 4.0f, 100.0f, this.targetHUD.getHeight(), round_degree, backgroundColor);
        SmartScissor.push();
        SmartScissor.setFromComponentCoordinates(posX, posY, 100.0, this.targetHUD.getHeight());
        RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28.0f, 28.0f, 6.0f, Color.BLACK.getRGB());
        if (target instanceof AbstractClientPlayerEntity) {
            StencilUtil.initStencilToWrite();
            RenderUtil.Render2D.drawRoundedRect(posX + 4.0f, posY, 28, 28, 3.0F, -1);
            StencilUtil.readStencilBuffer(1);
            RenderUtil.Render2D.drawFace(posX + 4.0f, posY, 8.0F, 8.0F, 8.0F, 8.0F, 28, 28, 64.0F, 64.0F, (AbstractClientPlayerEntity) this.target);
            StencilUtil.uninitStencilBuffer();
        }
        StyledFont medium = Fonts.msMedium[17];
        medium.drawString(matrixStack, substring, posX + 32.0f + 4.0f, posY + 2.0f, -1);
        Fonts.msSemiBold[12].drawString(matrixStack, "HP: " + hp * 5 + "%", posX + 32.0f + 4.0f, posY + 19.0f - 5.0f, -1);
        SmartScissor.unset();
        SmartScissor.pop();
        float currentHP = hp;
        if (currentHP >= 10.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 255), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(0, 204, 0, 250), ColorUtil.rgba(0, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(0, 128, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(0, 204, 0, 60), ColorUtil.rgba(0, 153, 0, 60));
        } else if (currentHP >= 5.0f) {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 0, 250), ColorUtil.rgba(153, 153, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(62, 71, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(255, 255, 0, 60), ColorUtil.rgba(153, 153, 0, 60));
        } else {
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f * this.health, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(102, 0, 0, 250), ColorUtil.rgba(204, 0, 0, 250));
            RenderUtil.Render2D.drawGradientRound(posX + 4.0f + 24.0f + 4.0f + 4.0f, posY + 38.0f - 17.0f, 60.0f, 8.0f, 3, ColorUtil.rgba(71, 0, 0, 60), ColorUtil.rgba(32, 32, 32, 60), ColorUtil.rgba(102, 0, 0, 60), ColorUtil.rgba(204, 0, 0, 60));
        }
        this.drawItemStack(posX + 3.0F, posY - 8.0F - 5.5F, 10.0F);

        GlStateManager.popMatrix();
    }
что я только что посмотрел...
 
мне плакать или смеятся
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
это пиздец
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
код просто ужас...
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
отпусти, отпусти меня е#учий спайс!
 
Назад
Сверху Снизу