Исходник InventoryHud | Forge 1.16.5 Ready

Forge Api ;-;
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
466
Реакции[?]
8
Поинты[?]
9K
invhud.js:
public static int InventoryHudX = 10, InventoryHudY = 300;

    @SubscribeEvent
    public void onUpdate(RenderGameOverlayEvent.Text e) {
        if (e.getType() != RenderGameOverlayEvent.ElementType.TEXT) return;

        if (mc.player != null && mc.level != null) {
            float rectWidth = 180;
            float rectHeight = 80;

                DrawHelper.drawRoundedGradientRect(InventoryHudX - 1, InventoryHudY + 63, rectWidth - 8, rectHeight, 2,
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()));

                DrawHelper.drawRoundedGradientBlurredRect(InventoryHudX, InventoryHudY + 62, rectWidth - 10, rectHeight - 2.5f, 3, 6,
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()));

            DrawHelper.drawRoundedRect(InventoryHudX - 0.5f, InventoryHudY + 62.5f, rectWidth - 9, rectHeight - 1, 2, new Color(ColorUtil.interpolateColor(light, color1.getRGB(), 0.02f)));
            FontUtil.drawAstolfoString(e.getMatrixStack(), Font.hud_icons, "F", InventoryHudX + 5, InventoryHudY - 4.5f);
            FontUtil.drawAstolfoString(e.getMatrixStack(), Font.big, "Инвентарь", InventoryHudX + (rectWidth / 2) - 25, InventoryHudY - 5.5f);

            DrawHelper.drawRoundedRect(InventoryHudX - 0.5f, InventoryHudY - 1.5f, rectWidth - 9, 0.5f, 1, new Color(75, 75, 75));

            assert mc.player != null;
            try {
                NonNullList<ItemStack> inventory = mc.player.inventory.items;
                RenderSystem.enableBlend();
                RenderSystem.defaultBlendFunc();

                float startX = InventoryHudX + 5;
                float startY = InventoryHudY + 5;

                for (int i = 9; i < 36; i++) {
                    int row = (i - 9) / 9;
                    int col = (i - 9) % 9;
                    float x = startX + col * 18;
                    float y = startY + row * 18;

                    ItemStack item = inventory.get(i);

                    DrawHelper.drawRoundedRect(x, y + 15.5f, 16, 16, 1, new Color(0, 0, 0, 100));

                    if (!item.isEmpty()) {
                        RenderSystem.pushMatrix();
                        RenderSystem.translatef(x, y, 0);
                        RenderSystem.scalef(1.0f, 1.0f, 1.0f);

                        mc.getItemRenderer().renderGuiItem(item, 0, 0);

                        mc.getItemRenderer().renderGuiItemDecorations(mc.font, item, 0, 0, null);

                        if (item.getCount() > 1) {
                            String countString = String.valueOf(item.getCount());
                            // тут по сути можно рендерить кастомным фонтов но мне так по кайфу
                            mc.font.draw(e.getMatrixStack(), countString, 17 - mc.font.width(countString), 9, 0xFFFFFF);
                        }

                        RenderSystem.popMatrix();
                    }
                }

                RenderSystem.disableBlend();
            } catch (Exception ignored) {
            }
        }
    }
color util method:
public static Color twoColorEffect(Color color1, Color color2, float alpha) {
        float val = MathHelper.clamp((float) Math.sin(19 * ((Math.abs(System.currentTimeMillis() / 15) / 100.2) / 4 % 1)) / 2 + 0.5f, 0, 1);
        return new Color(MathUtil.lerp((float) color1.getRed() / 255, (float) color2.getRed() / 255, val), MathUtil.lerp((float) color1.getGreen() / 255, (float) color2.getGreen() / 255, val), MathUtil.lerp((float) color1.getBlue() / 255, (float) color2.getBlue() / 255, val), alpha / 255);
    }
Пожалуйста, авторизуйтесь для просмотра ссылки.


SS:
1722083020613.png
 
Начинающий
Статус
Оффлайн
Регистрация
17 Май 2023
Сообщения
220
Реакции[?]
2
Поинты[?]
1K
Красиво, но правда все что отсюда взять, эта идею дизайна, так как уже сливали много раз
 
Начинающий
Статус
Оффлайн
Регистрация
30 Май 2024
Сообщения
52
Реакции[?]
0
Поинты[?]
0
invhud.js:
public static int InventoryHudX = 10, InventoryHudY = 300;

    @SubscribeEvent
    public void onUpdate(RenderGameOverlayEvent.Text e) {
        if (e.getType() != RenderGameOverlayEvent.ElementType.TEXT) return;

        if (mc.player != null && mc.level != null) {
            float rectWidth = 180;
            float rectHeight = 80;

                DrawHelper.drawRoundedGradientRect(InventoryHudX - 1, InventoryHudY + 63, rectWidth - 8, rectHeight, 2,
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()));

                DrawHelper.drawRoundedGradientBlurredRect(InventoryHudX, InventoryHudY + 62, rectWidth - 10, rectHeight - 2.5f, 3, 6,
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color2, color1, 255).getRGB()),
                        new Color(ColorUtil.twoColorEffect(color1, color2, 255).getRGB()));

            DrawHelper.drawRoundedRect(InventoryHudX - 0.5f, InventoryHudY + 62.5f, rectWidth - 9, rectHeight - 1, 2, new Color(ColorUtil.interpolateColor(light, color1.getRGB(), 0.02f)));
            FontUtil.drawAstolfoString(e.getMatrixStack(), Font.hud_icons, "F", InventoryHudX + 5, InventoryHudY - 4.5f);
            FontUtil.drawAstolfoString(e.getMatrixStack(), Font.big, "Инвентарь", InventoryHudX + (rectWidth / 2) - 25, InventoryHudY - 5.5f);

            DrawHelper.drawRoundedRect(InventoryHudX - 0.5f, InventoryHudY - 1.5f, rectWidth - 9, 0.5f, 1, new Color(75, 75, 75));

            assert mc.player != null;
            try {
                NonNullList<ItemStack> inventory = mc.player.inventory.items;
                RenderSystem.enableBlend();
                RenderSystem.defaultBlendFunc();

                float startX = InventoryHudX + 5;
                float startY = InventoryHudY + 5;

                for (int i = 9; i < 36; i++) {
                    int row = (i - 9) / 9;
                    int col = (i - 9) % 9;
                    float x = startX + col * 18;
                    float y = startY + row * 18;

                    ItemStack item = inventory.get(i);

                    DrawHelper.drawRoundedRect(x, y + 15.5f, 16, 16, 1, new Color(0, 0, 0, 100));

                    if (!item.isEmpty()) {
                        RenderSystem.pushMatrix();
                        RenderSystem.translatef(x, y, 0);
                        RenderSystem.scalef(1.0f, 1.0f, 1.0f);

                        mc.getItemRenderer().renderGuiItem(item, 0, 0);

                        mc.getItemRenderer().renderGuiItemDecorations(mc.font, item, 0, 0, null);

                        if (item.getCount() > 1) {
                            String countString = String.valueOf(item.getCount());
                            // тут по сути можно рендерить кастомным фонтов но мне так по кайфу
                            mc.font.draw(e.getMatrixStack(), countString, 17 - mc.font.width(countString), 9, 0xFFFFFF);
                        }

                        RenderSystem.popMatrix();
                    }
                }

                RenderSystem.disableBlend();
            } catch (Exception ignored) {
            }
        }
    }
color util method:
public static Color twoColorEffect(Color color1, Color color2, float alpha) {
        float val = MathHelper.clamp((float) Math.sin(19 * ((Math.abs(System.currentTimeMillis() / 15) / 100.2) / 4 % 1)) / 2 + 0.5f, 0, 1);
        return new Color(MathUtil.lerp((float) color1.getRed() / 255, (float) color2.getRed() / 255, val), MathUtil.lerp((float) color1.getGreen() / 255, (float) color2.getGreen() / 255, val), MathUtil.lerp((float) color1.getBlue() / 255, (float) color2.getBlue() / 255, val), alpha / 255);
    }
Пожалуйста, авторизуйтесь для просмотра ссылки.


SS:
Посмотреть вложение 282117
можешь дать drawAstolfoString? И что за шрифт?
 
Последнее редактирование:
Forge Api ;-;
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
466
Реакции[?]
8
Поинты[?]
9K
Начинающий
Статус
Оффлайн
Регистрация
25 Янв 2024
Сообщения
326
Реакции[?]
0
Поинты[?]
1K
шрифты нашёл, вот только трабл есть один
я на твоей базе General Visuals X(вроде твоя) ебашу хуйню какую-то, и почему-то шрифт вообще не меняется какой бы я не ставил
вот

вот я сделал шрифты да
вот я их юзаю в коде

а вот что выходит блят

а шрифт сука
вот такой

памаги тут либо я чето накашеварил либо я тупой я хз кароче спасибо да
Остаеться только плакать
 
Сверху Снизу