Перейти к содержимому

Brapi

Быстрая библиотека отрисовки интерфейса для модов Fabric. Скругление углов, градиенты, текстуры и текст.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
277
Подписчиков на Modrinth
5
версии
4
Обновлён
11 августа 202611 авг.
Опубликован
в 2026
Это библиотека — она нужна другим модам и сама ничего не добавляет в игру
Example screen with Brapi — Run /brapitest in game to test it · свайп

Коротко о моде

Библиотека — нужна другим модам
Работает на Fabric
Для Minecraft 1.21.11
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 0.26+1.21.11+fabric от 11 августа 2026
Нужен Fabric API
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.21.11
Описание переведено автоматическиПоказать оригинал (EN)

Brapi

Библиотека отрисовки интерфейса для модов на Fabric. Поддерживает скруглённые прямоугольники, текст, градиенты, текстуры и 9-slice спрайты с простым API. В будущем — поддержка растеризатора SVG, теней, дополнительных настроек текста, переключаемого immediate mode рендеринга и линий.

Зачем

Делать красивые интерфейсы в Minecraft сложнее, чем должно быть. Ванильные инструменты неплохо справляются с простыми прямоугольниками, но как только хочется плавных скруглённых углов, кругов или приятного текста — упираешься в стену. Обычно есть два варианта:

  1. Подключить тяжёлую графическую библиотеку вроде Skia, которую сложно настроить с первого раза и которая сильно раздувает размер мода
  2. Писать собственные шейдеры с нуля — а это лишняя настройка и шаблонный код, который большинство моддеров предпочли бы пропустить Brapi даёт третий вариант. Это лёгкий слой поверх существующей системы рендеринга Minecraft, так что ты получаешь красивую картинку без боли. Ключевые преимущества:
  • Никакого шаблонного кода: без возни с настройкой. Просто создай BRender, добавь вызовы отрисовки и сделай flush.
  • Сложные фигуры — просто: рисуй круги, контуры и скруглённые прямоугольники (даже с разными радиусами углов) одной строкой кода.
  • Автоматическая батчинг и слои: Brapi сам определяет правильный порядок отрисовки, так что интерфейс выглядит как надо без ручного управления.

📦 Установка

Добавление в качестве зависимости Добавь репозиторий и зависимость в build.gradle:

repositories {
    exclusiveContent {
        forRepository {
            maven {
                name = "Modrinth"
                url = "https://api.modrinth.com/maven"
            }
        }
        filter {
            includeGroup "maven.modrinth"
        }
    }
}
dependencies {
    modImplementation "maven.modrinth:brapi:0.26+${minecraft_version}+fabric" // only supported minecraft version is 1.21.11 right now
}

fabric.mod.json:

"depends": {
    "brapi": "*"
}

Использование в коде

Создай экземпляр BRender, добавь вызовы отрисовки, затем вызови flush(graphics) для отправки. Всё рендерится в конце кадра с сортировкой по слоям. 🎨 Все цвета в формате ARGB: 0xFFFF0000 = непрозрачный красный, 0x80FF0000 = красный с прозрачностью 50%.
📐 Координаты в единицах GuiScale: (100, 100) при масштабе 3 = (300, 300) пикселей.

Заливка фигур

  • bRender.rect(100, 100, 100, 100, 0xFFFF0000, layer); — красный прямоугольник 100x100
  • bRender.roundRect(100, 100, 100, 100, 0xFFFF0000, 10, layer); — скруглённый прямоугольник, радиус 10px
  • bRender.roundRect(100, 100, 100, 100, 0xFFFF0000, 10, 5, layer); — 10px верхний левый/нижний правый, 5px верхний правый/нижний левый
  • bRender.roundRect(100, 100, 100, 100, 0xFFFF0000, 10, 5, 20, 30, layer); — индивидуальные радиусы углов
  • bRender.circle(100, 100, 50, 0xFFFF0000, layer); — круг, радиус 50px

Градиенты

Все залитые фигуры поддерживают градиенты через Gradient и GradientDirection:

  • bRender.roundRect(100, 100, 100, 100, gradient, GradientDirection.LEFT_RIGHT, 10, layer); Направления: LEFT_RIGHT, TOP_BOTTOM, TOP_LEFT_BOTTOM_RIGHT, TOP_RIGHT_BOTTOM_LEFT

Контуры (только обводка)

  • bRender.stroke(100, 100, 100, 100, 0xFFFF0000, 2, layer); — контур прямоугольника 2px
  • bRender.strokeRounded(100, 100, 100, 100, 0xFFFF0000, 10, 2, layer); — скруглённый контур 2px, радиус 10px
  • bRender.strokeRounded(100, 100, 100, 100, 0xFFFF0000, 10, 5, 2, layer); — 10px верхний левый/нижний правый, 5px верхний правый/нижний левый
  • bRender.strokeRounded(100, 100, 100, 100, 0xFFFF0000, 10, 5, 20, 30, 2, layer); — индивидуальные радиусы

Заливка + контур

  • bRender.roundRectStroked(100, 100, 100, 100, 0xFF0000FF, 0xFFFF0000, 10, 2, layer); — синяя заливка, красный контур 2px

Текст

  • bRender.drawText(font, "Hello!", 100, 100, 24, 0xFFFFFFFF, layer); — текст BFont
  • bRender.drawText(font, formattedCharSequence, 100, 100, 24, 0xFFFFFFFF, layer); — форматированный текст с цветами по символам

Текстуры

  • bRender.drawTexture(tex, 100, 100, 200, 150, 0xFFFFFFFF, linear, layer); — растянуть на всю область
  • bRender.drawTextureCropped(tex, 100, 100, 64, 64, 0, 0, 32, 32, 0xFFFFFFFF, linear, layer); — обрезка
  • bRender.drawTextureTiled(tex, 100, 100, 200, 200, 0xFFFFFFFF, linear, layer); — тайлинг
  • bRender.drawTexture9Slice(slice, 100, 100, 300, 200, 0xFFFFFFFF, linear, layer); — 9-slice

🔄 Flush

BRender r = new BRender();
r.roundRect(...);
r.flush(graphics); // submit to draw list
//OR
r.flush(graphics, BRender.WithOffset(100, 100)); // with 100 pixel offset

Частые вопросы

Как установить Brapi?

Установите Fabric под свою версию Minecraft, скачайте Brapi под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Brapi?

У Brapi есть сборки для Minecraft 1.21.11.

Нужен ли Brapi на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
GNU Lesser General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее