Исходник KeyBinds | Expa 3.1 ready

Начинающий
Статус
Оффлайн
Регистрация
30 Июл 2023
Сообщения
420
Реакции[?]
2
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

короче опять хотел сделать как в целке(noad) но не получилось
ss:1720429760583.png

Код:
package im.prime.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.prime.Prime;
import im.prime.events.EventDisplay;
import im.prime.functions.api.Function;
import im.prime.ui.display.ElementRenderer;
import im.prime.utils.client.KeyStorage;
import im.prime.utils.drag.Dragging;
import im.prime.utils.math.MathUtil;
import im.prime.utils.render.ColorUtils;
import im.prime.utils.render.DisplayUtils;
import im.prime.utils.render.font.Fonts;
import im.prime.utils.text.GradientUtil;
import net.minecraft.util.text.ITextComponent;

public class KeyBindRenderer implements ElementRenderer {
    private final Dragging dragging;
    private float animation;
    private float width;
    private float height;

    public KeyBindRenderer(final Dragging dragging) {
        this.dragging = dragging;
    }

    @Override
    public void render(final EventDisplay eventDisplay) {
        final MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = this.dragging.getX();
        float posY = this.dragging.getY();
        final float fontSize = 6.5f;
        final float padding = 5.0f;
        final ITextComponent name = GradientUtil.gradient("Keybinds");
        float maxWidth = Fonts.sfbold.getWidth(name, fontSize) + padding * 2.0f;

        // Рисуем заголовок
        DisplayUtils.drawRoundedRect(posX, posY, this.animation, 25.0f, 4.0f, ColorUtils.rgba(21, 21, 21, 215));
        Fonts.sfui.drawText(ms, "Keybinds", posX + 10, posY + padding + 1.5f, ColorUtils.rgb(255, 255, 255), 6.5f);
        posY += fontSize + padding * 2.0f + 5.0f; // Отступ после заголовка

        float localHeight = fontSize + padding * 2.0f;
        for (Function f : Prime.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (f.getAnimation().getValue() > 0.0 && f.getBind() != 0) {
                final String nameText = f.getName();
                final float nameWidth = Fonts.sfbold.getWidth(nameText, fontSize);
                final String bindText = "[" + KeyStorage.getKey(f.getBind()) + "]";
                final float bindWidth = Fonts.sfbold.getWidth(bindText, fontSize);
                final float localWidth = nameWidth + bindWidth + padding * 3.0f;

                DisplayUtils.drawRoundedRect(posX, posY, this.animation, 18.0f, 3.0f, ColorUtils.rgba(33, 33, 33, (int) (215.0 * f.getAnimation().getValue())));
                Fonts.sfui.drawText(ms, nameText, posX + 4.0f, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);
                Fonts.sfui.drawText(ms, bindText, posX + this.animation - 4.0f - bindWidth, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);

                if (localWidth > maxWidth) {
                    maxWidth = localWidth;
                }
                posY += (float) ((12.0f + padding) * f.getAnimation().getValue());
                localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
            }
        }

        this.animation = MathUtil.lerp(this.animation, Math.max(maxWidth, 100.0f), 10.0f);
        this.height = localHeight + 5.0f;
        this.dragging.setWidth(this.animation);
        this.dragging.setHeight(this.height);
    }

    public static void sizeAnimation(final double width, final double height, final double scale) {
        GlStateManager.translated(width, height, 0.0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0.0);
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
8 Мар 2024
Сообщения
639
Реакции[?]
2
Поинты[?]
2K
короче опять хотел сделать как в целке(noad) но не получилось
ss:Посмотреть вложение 280705

Код:
package im.prime.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.prime.Prime;
import im.prime.events.EventDisplay;
import im.prime.functions.api.Function;
import im.prime.ui.display.ElementRenderer;
import im.prime.utils.client.KeyStorage;
import im.prime.utils.drag.Dragging;
import im.prime.utils.math.MathUtil;
import im.prime.utils.render.ColorUtils;
import im.prime.utils.render.DisplayUtils;
import im.prime.utils.render.font.Fonts;
import im.prime.utils.text.GradientUtil;
import net.minecraft.util.text.ITextComponent;

public class KeyBindRenderer implements ElementRenderer {
    private final Dragging dragging;
    private float animation;
    private float width;
    private float height;

    public KeyBindRenderer(final Dragging dragging) {
        this.dragging = dragging;
    }

    @Override
    public void render(final EventDisplay eventDisplay) {
        final MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = this.dragging.getX();
        float posY = this.dragging.getY();
        final float fontSize = 6.5f;
        final float padding = 5.0f;
        final ITextComponent name = GradientUtil.gradient("Keybinds");
        float maxWidth = Fonts.sfbold.getWidth(name, fontSize) + padding * 2.0f;

        // Рисуем заголовок
        DisplayUtils.drawRoundedRect(posX, posY, this.animation, 25.0f, 4.0f, ColorUtils.rgba(21, 21, 21, 215));
        Fonts.sfui.drawText(ms, "Keybinds", posX + 10, posY + padding + 1.5f, ColorUtils.rgb(255, 255, 255), 6.5f);
        posY += fontSize + padding * 2.0f + 5.0f; // Отступ после заголовка

        float localHeight = fontSize + padding * 2.0f;
        for (Function f : Prime.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (f.getAnimation().getValue() > 0.0 && f.getBind() != 0) {
                final String nameText = f.getName();
                final float nameWidth = Fonts.sfbold.getWidth(nameText, fontSize);
                final String bindText = "[" + KeyStorage.getKey(f.getBind()) + "]";
                final float bindWidth = Fonts.sfbold.getWidth(bindText, fontSize);
                final float localWidth = nameWidth + bindWidth + padding * 3.0f;

                DisplayUtils.drawRoundedRect(posX, posY, this.animation, 18.0f, 3.0f, ColorUtils.rgba(33, 33, 33, (int) (215.0 * f.getAnimation().getValue())));
                Fonts.sfui.drawText(ms, nameText, posX + 4.0f, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);
                Fonts.sfui.drawText(ms, bindText, posX + this.animation - 4.0f - bindWidth, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);

                if (localWidth > maxWidth) {
                    maxWidth = localWidth;
                }
                posY += (float) ((12.0f + padding) * f.getAnimation().getValue());
                localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
            }
        }

        this.animation = MathUtil.lerp(this.animation, Math.max(maxWidth, 100.0f), 10.0f);
        this.height = localHeight + 5.0f;
        this.dragging.setWidth(this.animation);
        this.dragging.setHeight(this.height);
    }

    public static void sizeAnimation(final double width, final double height, final double scale) {
        GlStateManager.translated(width, height, 0.0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0.0);
    }
}
похоже вроде на олдовый экселент
 
Забаненный
Статус
Оффлайн
Регистрация
31 Авг 2023
Сообщения
699
Реакции[?]
6
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
надо запретить постить визуалы в этот раздел,а лучше вообще его удалить
 
Начинающий
Статус
Оффлайн
Регистрация
5 Мар 2023
Сообщения
223
Реакции[?]
1
Поинты[?]
3K
короче опять хотел сделать как в целке(noad) но не получилось
ss:Посмотреть вложение 280705

Код:
package im.prime.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.prime.Prime;
import im.prime.events.EventDisplay;
import im.prime.functions.api.Function;
import im.prime.ui.display.ElementRenderer;
import im.prime.utils.client.KeyStorage;
import im.prime.utils.drag.Dragging;
import im.prime.utils.math.MathUtil;
import im.prime.utils.render.ColorUtils;
import im.prime.utils.render.DisplayUtils;
import im.prime.utils.render.font.Fonts;
import im.prime.utils.text.GradientUtil;
import net.minecraft.util.text.ITextComponent;

public class KeyBindRenderer implements ElementRenderer {
    private final Dragging dragging;
    private float animation;
    private float width;
    private float height;

    public KeyBindRenderer(final Dragging dragging) {
        this.dragging = dragging;
    }

    @Override
    public void render(final EventDisplay eventDisplay) {
        final MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = this.dragging.getX();
        float posY = this.dragging.getY();
        final float fontSize = 6.5f;
        final float padding = 5.0f;
        final ITextComponent name = GradientUtil.gradient("Keybinds");
        float maxWidth = Fonts.sfbold.getWidth(name, fontSize) + padding * 2.0f;

        // Рисуем заголовок
        DisplayUtils.drawRoundedRect(posX, posY, this.animation, 25.0f, 4.0f, ColorUtils.rgba(21, 21, 21, 215));
        Fonts.sfui.drawText(ms, "Keybinds", posX + 10, posY + padding + 1.5f, ColorUtils.rgb(255, 255, 255), 6.5f);
        posY += fontSize + padding * 2.0f + 5.0f; // Отступ после заголовка

        float localHeight = fontSize + padding * 2.0f;
        for (Function f : Prime.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (f.getAnimation().getValue() > 0.0 && f.getBind() != 0) {
                final String nameText = f.getName();
                final float nameWidth = Fonts.sfbold.getWidth(nameText, fontSize);
                final String bindText = "[" + KeyStorage.getKey(f.getBind()) + "]";
                final float bindWidth = Fonts.sfbold.getWidth(bindText, fontSize);
                final float localWidth = nameWidth + bindWidth + padding * 3.0f;

                DisplayUtils.drawRoundedRect(posX, posY, this.animation, 18.0f, 3.0f, ColorUtils.rgba(33, 33, 33, (int) (215.0 * f.getAnimation().getValue())));
                Fonts.sfui.drawText(ms, nameText, posX + 4.0f, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);
                Fonts.sfui.drawText(ms, bindText, posX + this.animation - 4.0f - bindWidth, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);

                if (localWidth > maxWidth) {
                    maxWidth = localWidth;
                }
                posY += (float) ((12.0f + padding) * f.getAnimation().getValue());
                localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
            }
        }

        this.animation = MathUtil.lerp(this.animation, Math.max(maxWidth, 100.0f), 10.0f);
        this.height = localHeight + 5.0f;
        this.dragging.setWidth(this.animation);
        this.dragging.setHeight(this.height);
    }

    public static void sizeAnimation(final double width, final double height, final double scale) {
        GlStateManager.translated(width, height, 0.0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0.0);
    }
}
1720447207332.pngзаебись
 
Начинающий
Статус
Оффлайн
Регистрация
30 Июл 2023
Сообщения
420
Реакции[?]
2
Поинты[?]
1K
те кто говорять понос и т.д я скажу это написано на чатгпт (noad)
 
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2024
Сообщения
182
Реакции[?]
0
Поинты[?]
0
короче опять хотел сделать как в целке(noad) но не получилось
ss:Посмотреть вложение 280705

Код:
package im.prime.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.prime.Prime;
import im.prime.events.EventDisplay;
import im.prime.functions.api.Function;
import im.prime.ui.display.ElementRenderer;
import im.prime.utils.client.KeyStorage;
import im.prime.utils.drag.Dragging;
import im.prime.utils.math.MathUtil;
import im.prime.utils.render.ColorUtils;
import im.prime.utils.render.DisplayUtils;
import im.prime.utils.render.font.Fonts;
import im.prime.utils.text.GradientUtil;
import net.minecraft.util.text.ITextComponent;

public class KeyBindRenderer implements ElementRenderer {
    private final Dragging dragging;
    private float animation;
    private float width;
    private float height;

    public KeyBindRenderer(final Dragging dragging) {
        this.dragging = dragging;
    }

    @Override
    public void render(final EventDisplay eventDisplay) {
        final MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = this.dragging.getX();
        float posY = this.dragging.getY();
        final float fontSize = 6.5f;
        final float padding = 5.0f;
        final ITextComponent name = GradientUtil.gradient("Keybinds");
        float maxWidth = Fonts.sfbold.getWidth(name, fontSize) + padding * 2.0f;

        // Рисуем заголовок
        DisplayUtils.drawRoundedRect(posX, posY, this.animation, 25.0f, 4.0f, ColorUtils.rgba(21, 21, 21, 215));
        Fonts.sfui.drawText(ms, "Keybinds", posX + 10, posY + padding + 1.5f, ColorUtils.rgb(255, 255, 255), 6.5f);
        posY += fontSize + padding * 2.0f + 5.0f; // Отступ после заголовка

        float localHeight = fontSize + padding * 2.0f;
        for (Function f : Prime.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (f.getAnimation().getValue() > 0.0 && f.getBind() != 0) {
                final String nameText = f.getName();
                final float nameWidth = Fonts.sfbold.getWidth(nameText, fontSize);
                final String bindText = "[" + KeyStorage.getKey(f.getBind()) + "]";
                final float bindWidth = Fonts.sfbold.getWidth(bindText, fontSize);
                final float localWidth = nameWidth + bindWidth + padding * 3.0f;

                DisplayUtils.drawRoundedRect(posX, posY, this.animation, 18.0f, 3.0f, ColorUtils.rgba(33, 33, 33, (int) (215.0 * f.getAnimation().getValue())));
                Fonts.sfui.drawText(ms, nameText, posX + 4.0f, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);
                Fonts.sfui.drawText(ms, bindText, posX + this.animation - 4.0f - bindWidth, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);

                if (localWidth > maxWidth) {
                    maxWidth = localWidth;
                }
                posY += (float) ((12.0f + padding) * f.getAnimation().getValue());
                localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
            }
        }

        this.animation = MathUtil.lerp(this.animation, Math.max(maxWidth, 100.0f), 10.0f);
        this.height = localHeight + 5.0f;
        this.dragging.setWidth(this.animation);
        this.dragging.setHeight(this.height);
    }

    public static void sizeAnimation(final double width, final double height, final double scale) {
        GlStateManager.translated(width, height, 0.0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0.0);
    }
}
фу
 
Начинающий
Статус
Оффлайн
Регистрация
11 Май 2024
Сообщения
49
Реакции[?]
0
Поинты[?]
0
те кто говорять понос и т.д я скажу это написано на чатгпт (noad)
Если что ты это не чат gpt, я скажу ему сделать он сделает раз в 1000 лучше чем у тебя. Так что можешь не отмазываться то что это чат gpt
 
Начинающий
Статус
Оффлайн
Регистрация
30 Июл 2023
Сообщения
420
Реакции[?]
2
Поинты[?]
1K
Если что ты это не чат gpt, я скажу ему сделать он сделает раз в 1000 лучше чем у тебя. Так что можешь не отмазываться то что это чат gpt
Ххахахха чат гпт ничего не умеет я залил что он сделал я ему кидал скриншот с целки он это сделал да я мог это зафиксить но залил так
 
Начинающий
Статус
Оффлайн
Регистрация
6 Апр 2024
Сообщения
190
Реакции[?]
5
Поинты[?]
4K
короче опять хотел сделать как в целке(noad) но не получилось
ss:Посмотреть вложение 280705

Код:
package im.prime.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.prime.Prime;
import im.prime.events.EventDisplay;
import im.prime.functions.api.Function;
import im.prime.ui.display.ElementRenderer;
import im.prime.utils.client.KeyStorage;
import im.prime.utils.drag.Dragging;
import im.prime.utils.math.MathUtil;
import im.prime.utils.render.ColorUtils;
import im.prime.utils.render.DisplayUtils;
import im.prime.utils.render.font.Fonts;
import im.prime.utils.text.GradientUtil;
import net.minecraft.util.text.ITextComponent;

public class KeyBindRenderer implements ElementRenderer {
    private final Dragging dragging;
    private float animation;
    private float width;
    private float height;

    public KeyBindRenderer(final Dragging dragging) {
        this.dragging = dragging;
    }

    @Override
    public void render(final EventDisplay eventDisplay) {
        final MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = this.dragging.getX();
        float posY = this.dragging.getY();
        final float fontSize = 6.5f;
        final float padding = 5.0f;
        final ITextComponent name = GradientUtil.gradient("Keybinds");
        float maxWidth = Fonts.sfbold.getWidth(name, fontSize) + padding * 2.0f;

        // Рисуем заголовок
        DisplayUtils.drawRoundedRect(posX, posY, this.animation, 25.0f, 4.0f, ColorUtils.rgba(21, 21, 21, 215));
        Fonts.sfui.drawText(ms, "Keybinds", posX + 10, posY + padding + 1.5f, ColorUtils.rgb(255, 255, 255), 6.5f);
        posY += fontSize + padding * 2.0f + 5.0f; // Отступ после заголовка

        float localHeight = fontSize + padding * 2.0f;
        for (Function f : Prime.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (f.getAnimation().getValue() > 0.0 && f.getBind() != 0) {
                final String nameText = f.getName();
                final float nameWidth = Fonts.sfbold.getWidth(nameText, fontSize);
                final String bindText = "[" + KeyStorage.getKey(f.getBind()) + "]";
                final float bindWidth = Fonts.sfbold.getWidth(bindText, fontSize);
                final float localWidth = nameWidth + bindWidth + padding * 3.0f;

                DisplayUtils.drawRoundedRect(posX, posY, this.animation, 18.0f, 3.0f, ColorUtils.rgba(33, 33, 33, (int) (215.0 * f.getAnimation().getValue())));
                Fonts.sfui.drawText(ms, nameText, posX + 4.0f, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);
                Fonts.sfui.drawText(ms, bindText, posX + this.animation - 4.0f - bindWidth, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);

                if (localWidth > maxWidth) {
                    maxWidth = localWidth;
                }
                posY += (float) ((12.0f + padding) * f.getAnimation().getValue());
                localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
            }
        }

        this.animation = MathUtil.lerp(this.animation, Math.max(maxWidth, 100.0f), 10.0f);
        this.height = localHeight + 5.0f;
        this.dragging.setWidth(this.animation);
        this.dragging.setHeight(this.height);
    }

    public static void sizeAnimation(final double width, final double height, final double scale) {
        GlStateManager.translated(width, height, 0.0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0.0);
    }
}
в целке чота новое?
 
Начинающий
Статус
Оффлайн
Регистрация
19 Фев 2024
Сообщения
242
Реакции[?]
1
Поинты[?]
1K
надо запретить постить визуалы в этот раздел,а лучше вообще его удалить
Удалять не надо а вот ограничить визуалы да
Потому что раз в 50 сливают годноту
 
Forge Api ;-;
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
771
Реакции[?]
18
Поинты[?]
13K
Чел это жесть... Не пости ничего больше сюда, у людей может сердце слабое или ещё чего похуже, а ты тут такое выкладываешь
 
Начинающий
Статус
Оффлайн
Регистрация
6 Апр 2024
Сообщения
190
Реакции[?]
5
Поинты[?]
4K
короче опять хотел сделать как в целке(noad) но не получилось
ss:Посмотреть вложение 280705

Код:
package im.prime.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.prime.Prime;
import im.prime.events.EventDisplay;
import im.prime.functions.api.Function;
import im.prime.ui.display.ElementRenderer;
import im.prime.utils.client.KeyStorage;
import im.prime.utils.drag.Dragging;
import im.prime.utils.math.MathUtil;
import im.prime.utils.render.ColorUtils;
import im.prime.utils.render.DisplayUtils;
import im.prime.utils.render.font.Fonts;
import im.prime.utils.text.GradientUtil;
import net.minecraft.util.text.ITextComponent;

public class KeyBindRenderer implements ElementRenderer {
    private final Dragging dragging;
    private float animation;
    private float width;
    private float height;

    public KeyBindRenderer(final Dragging dragging) {
        this.dragging = dragging;
    }

    @Override
    public void render(final EventDisplay eventDisplay) {
        final MatrixStack ms = eventDisplay.getMatrixStack();
        final float posX = this.dragging.getX();
        float posY = this.dragging.getY();
        final float fontSize = 6.5f;
        final float padding = 5.0f;
        final ITextComponent name = GradientUtil.gradient("Keybinds");
        float maxWidth = Fonts.sfbold.getWidth(name, fontSize) + padding * 2.0f;

        // Рисуем заголовок
        DisplayUtils.drawRoundedRect(posX, posY, this.animation, 25.0f, 4.0f, ColorUtils.rgba(21, 21, 21, 215));
        Fonts.sfui.drawText(ms, "Keybinds", posX + 10, posY + padding + 1.5f, ColorUtils.rgb(255, 255, 255), 6.5f);
        posY += fontSize + padding * 2.0f + 5.0f; // Отступ после заголовка

        float localHeight = fontSize + padding * 2.0f;
        for (Function f : Prime.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (f.getAnimation().getValue() > 0.0 && f.getBind() != 0) {
                final String nameText = f.getName();
                final float nameWidth = Fonts.sfbold.getWidth(nameText, fontSize);
                final String bindText = "[" + KeyStorage.getKey(f.getBind()) + "]";
                final float bindWidth = Fonts.sfbold.getWidth(bindText, fontSize);
                final float localWidth = nameWidth + bindWidth + padding * 3.0f;

                DisplayUtils.drawRoundedRect(posX, posY, this.animation, 18.0f, 3.0f, ColorUtils.rgba(33, 33, 33, (int) (215.0 * f.getAnimation().getValue())));
                Fonts.sfui.drawText(ms, nameText, posX + 4.0f, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);
                Fonts.sfui.drawText(ms, bindText, posX + this.animation - 4.0f - bindWidth, posY + 4.0f, ColorUtils.rgba(255, 255, 255, (int) (255.0 * f.getAnimation().getValue())), fontSize);

                if (localWidth > maxWidth) {
                    maxWidth = localWidth;
                }
                posY += (float) ((12.0f + padding) * f.getAnimation().getValue());
                localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
            }
        }

        this.animation = MathUtil.lerp(this.animation, Math.max(maxWidth, 100.0f), 10.0f);
        this.height = localHeight + 5.0f;
        this.dragging.setWidth(this.animation);
        this.dragging.setHeight(this.height);
    }

    public static void sizeAnimation(final double width, final double height, final double scale) {
        GlStateManager.translated(width, height, 0.0);
        GlStateManager.scaled(scale, scale, scale);
        GlStateManager.translated(-width, -height, 0.0);
    }
}
у меня сердце у бабки остановилось, ей было 70 лет...
 
Сверху Снизу