Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Визуальная часть Hud Nursultan Alpha ! Слив худа Nursultan Alpha на Exp 2.0

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

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать 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();

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

Вот сливаю вам такой HUD Nursultan под базу Expensive 2.0:

На самом деле сложнее всего было написать код на музыку, а так нет.
Иконки не с нурика потому что нужно установить шрифт (Я использовал другой потому что я буду переделывать 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();

    }
Вот SS:Посмотреть вложение 323529
Таргет худ без закругления, огромный текст, уёбищно сделаный соундпад(или как оно называется) в таргетхуде криво сделана аватарка, цвета у всех модулей разный, /del эту хуйню
Тут от нура только иконки
 
Таргет худ без закругления, огромный текст, уёбищно сделаный соундпад(или как оно называется) в таргетхуде криво сделана аватарка, цвета у всех модулей разный, /del эту хуйню
Тут от нура только иконки
не тут иконки тоже не от нура
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу