Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Часть функционала Widget/Кнопочки 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Июл 2025
Сообщения
50
Реакции
0
Выберите загрузчик игры
  1. OptiFine
Ну что зумерские зумеры пастерочки пастеры ультра мега пастера я переделал свою работу все писали /del и хуйня
и поэтому я улучшил добавил скругления плавную анимацию наведения, черный цвет, и просто типо мне приятно для глаза
есть маленький джпт код!


Код:
Expand Collapse Copy
    public void renderButton(MatrixStack ms, int mouseX, int mouseY, float partialTicks) {
        Minecraft mc = Minecraft.getInstance();
        FontRenderer fr = mc.fontRenderer;

        boolean hovered = mouseX >= x && mouseY >= y &&
                mouseX < x + width && mouseY < y + height;

        hoverAnim = lerp(hoverAnim, hovered ? 1.0f : 0.0f, 0.15f);

        RenderSystem.enableBlend();
        RenderSystem.defaultBlendFunc();
        RenderSystem.enableDepthTest();
        RenderSystem.color4f(1F, 1F, 1F, alpha);

        DisplayUtils.drawShadow(
                x - 2, y - 2,
                width + 4, height + 4,
                10,
                ColorUtils.setAlpha(0x000000, (int) (80 + hoverAnim * 40))
        );

        DisplayUtils.drawRoundedRect(
                x - 0.5f, y - 0.5f,
                width + 1, height + 1,
                6,
                ColorUtils.setAlpha(Color.BLACK.getRGB(), 120)
        );

        int base = ColorUtils.rgb(20, 22, 26);
        int hover = ColorUtils.rgb(34, 38, 45);

        int bgColor = ColorUtils.lerpColor(base, hover, hoverAnim);

        DisplayUtils.drawRoundedRect(
                x, y,
                width, height,
                5.5f,
                bgColor
        );

        if (hoverAnim > 0.01f) {
            DisplayUtils.drawRoundedRect(
                    x + 1, y + 1,
                    width - 2, height - 2,
                    4.5f,
                    ColorUtils.setAlpha(
                            ColorUtils.rgb(0, 170, 255),
                            (int) (hoverAnim * 80)
                    )
            );
        }

        renderBg(ms, mc, mouseX, mouseY);

        int textColor = active ? 0xFFFFFF : 0xA0A0A0;
        textColor = ColorUtils.lerpColor(
                ColorUtils.setAlpha(textColor, 200),
                ColorUtils.setAlpha(0xFFFFFF, 255),
                hoverAnim
        );
        textColor |= MathHelper.ceil(alpha * 255F) << 24;

        drawCenteredString(
                ms,
                fr,
                getMessage(),
                x + width / 2,
                y + (height - 8) / 2,
                textColor
        );
    }

потом пихаем куда то это
Код:
Expand Collapse Copy
    private float hoverAnim = 0f;

И это

Код:
Expand Collapse Copy
  private float lerp(float start, float end, float speed) {
        return start + (end - start) * speed;
    }

И вот утилка

Код:
Expand Collapse Copy
  public static int lerpColor(int color1, int color2, float t) {
        t = MathHelper.clamp(t, 0.0F, 1.0F);

        int a1 = (color1 >> 24) & 0xFF;
        int r1 = (color1 >> 16) & 0xFF;
        int g1 = (color1 >> 8) & 0xFF;
        int b1 = color1 & 0xFF;

        int a2 = (color2 >> 24) & 0xFF;
        int r2 = (color2 >> 16) & 0xFF;
        int g2 = (color2 >> 8) & 0xFF;
        int b2 = color2 & 0xFF;

        int a = (int) (a1 + (a2 - a1) * t);
        int r = (int) (r1 + (r2 - r1) * t);
        int g = (int) (g1 + (g2 - g1) * t);
        int b = (int) (b1 + (b2 - b1) * t);

        return (a << 24) | (r << 16) | (g << 8) | b;
    }

SS
Снимок экрана (6).png
 
обычные кнопки только с закруглением + тени да и все
тебе не угодить что доделать?
обычные кнопки только с закруглением + тени да и все
сделать при нажати на кнопку включалась песня паста паста ланд?
 
Ну что зумерские зумеры пастерочки пастеры ультра мега пастера я переделал свою работу все писали /del и хуйня
и поэтому я улучшил добавил скругления плавную анимацию наведения, черный цвет, и просто типо мне приятно для глаза
есть маленький джпт код!


Код:
Expand Collapse Copy
    public void renderButton(MatrixStack ms, int mouseX, int mouseY, float partialTicks) {
        Minecraft mc = Minecraft.getInstance();
        FontRenderer fr = mc.fontRenderer;

        boolean hovered = mouseX >= x && mouseY >= y &&
                mouseX < x + width && mouseY < y + height;

        hoverAnim = lerp(hoverAnim, hovered ? 1.0f : 0.0f, 0.15f);

        RenderSystem.enableBlend();
        RenderSystem.defaultBlendFunc();
        RenderSystem.enableDepthTest();
        RenderSystem.color4f(1F, 1F, 1F, alpha);

        DisplayUtils.drawShadow(
                x - 2, y - 2,
                width + 4, height + 4,
                10,
                ColorUtils.setAlpha(0x000000, (int) (80 + hoverAnim * 40))
        );

        DisplayUtils.drawRoundedRect(
                x - 0.5f, y - 0.5f,
                width + 1, height + 1,
                6,
                ColorUtils.setAlpha(Color.BLACK.getRGB(), 120)
        );

        int base = ColorUtils.rgb(20, 22, 26);
        int hover = ColorUtils.rgb(34, 38, 45);

        int bgColor = ColorUtils.lerpColor(base, hover, hoverAnim);

        DisplayUtils.drawRoundedRect(
                x, y,
                width, height,
                5.5f,
                bgColor
        );

        if (hoverAnim > 0.01f) {
            DisplayUtils.drawRoundedRect(
                    x + 1, y + 1,
                    width - 2, height - 2,
                    4.5f,
                    ColorUtils.setAlpha(
                            ColorUtils.rgb(0, 170, 255),
                            (int) (hoverAnim * 80)
                    )
            );
        }

        renderBg(ms, mc, mouseX, mouseY);

        int textColor = active ? 0xFFFFFF : 0xA0A0A0;
        textColor = ColorUtils.lerpColor(
                ColorUtils.setAlpha(textColor, 200),
                ColorUtils.setAlpha(0xFFFFFF, 255),
                hoverAnim
        );
        textColor |= MathHelper.ceil(alpha * 255F) << 24;

        drawCenteredString(
                ms,
                fr,
                getMessage(),
                x + width / 2,
                y + (height - 8) / 2,
                textColor
        );
    }

потом пихаем куда то это
Код:
Expand Collapse Copy
    private float hoverAnim = 0f;

И это

Код:
Expand Collapse Copy
  private float lerp(float start, float end, float speed) {
        return start + (end - start) * speed;
    }

И вот утилка

Код:
Expand Collapse Copy
  public static int lerpColor(int color1, int color2, float t) {
        t = MathHelper.clamp(t, 0.0F, 1.0F);

        int a1 = (color1 >> 24) & 0xFF;
        int r1 = (color1 >> 16) & 0xFF;
        int g1 = (color1 >> 8) & 0xFF;
        int b1 = color1 & 0xFF;

        int a2 = (color2 >> 24) & 0xFF;
        int r2 = (color2 >> 16) & 0xFF;
        int g2 = (color2 >> 8) & 0xFF;
        int b2 = color2 & 0xFF;

        int a = (int) (a1 + (a2 - a1) * t);
        int r = (int) (r1 + (r2 - r1) * t);
        int g = (int) (g1 + (g2 - g1) * t);
        int b = (int) (b1 + (b2 - b1) * t);

        return (a << 24) | (r << 16) | (g << 8) | b;
    }

SSПосмотреть вложение 321897
ты че смеешься? /del
 
Назад
Сверху Снизу