
Modern UI
1 / 17
Modern UI by Icyllis Milica
Что это такое?
Modern UI — это не просто очередной мод для Minecraft, а полноценный каркас для создания приложений с 2D- и 3D-графикой. В основе лежит собственное ядро Modern UI Core Framework, которое использует современные графические API для высокопроизводительного рендеринга в реальном времени. При этом проект заметно улучшает и оптимизирует набор функций, знакомых пользователям Google Android, и включает собственный движок текста с поддержкой интернационализации.
Для Minecraft мод выступает в роли загрузчика этого фреймворка и предоставляет API для моддинга на базе Forge/Fabric. С его помощью можно создавать мощные графические интерфейсы прямо в игре. Управление всеми настройками мода осуществляется через экран Action Center, который открывается по умолчанию сочетанием клавиш Ctrl+K (или ⌘+K на macOS). Кстати, экран Preferences там можно листать свайпом — на второй странице находятся настройки шрифтов.
Движок текста нового поколения
Отдельного внимания заслуживает встроенная текстовая система. Разработчик проделал огромную работу, чтобы текст в Minecraft стал не просто читабельным, а по-настоящему качественным на любых масштабах — как в 2D, так и в 3D. Вот что умеет этот движок:
- Живая работа со шрифтами: загрузка и предпросмотр TrueType/OpenType шрифтов в реальном времени, улучшенный механизм fallback-шрифтов.
- Качественный рендеринг: сглаживание (anti-aliasing), хинтинг FreeType, улучшенный SDF-рендеринг с батч-обработкой, вычисление точного размера шрифта в пространстве устройства для нативной отрисовки глифов.
- Эмодзи: поддержка всех эмодзи из списка Unicode 15.1 (сентябрь 2023) через Google Noto Color Emoji.
- Работа с текстом: настраиваемый эвристический алгоритм для двунаправленного текста (BiDi), настройка теней и сырого размера шрифта, перенос строк по стандарту Unicode с учётом CSS line-break и word-break.
- Производительность: быстрые и точные асинхронные вычисления раскладки, эффективный алгоритм упаковки прямоугольников для глифов, использование настоящих grayscale-текстур (1 байт на пиксель вместо 4 байт у ванильного Minecraft).
- Совместимость: мод дружит с OptiFine, Sodium (Rubidium), Iris (Oculus) и множеством других модов, а также поддерживает JSON-определения шрифтов Minecraft (включая битмап-шрифты и TTF).
Дополнительные возможности для игры
Помимо текста, мод добавляет целый набор полезных мелочей, которые делают игру комфортнее:
- Изменение цвета фона экранов и размытие фонового изображения по Гауссу (настоящий однопроходный blur, а не двухпроходный box blur, как у некоторых конкурентов).
- Плавное появление фона с анимацией затухания.
- Новые режимы окна: полноэкранный без рамок и развёрнутый без рамок.
- Ограничение FPS и плавное затухание громкости, когда окно игры не в фокусе или свёрнуто.
- Автопауза одиночной игры при открытии инвентаря.
- Ползунок масштаба GUI вместо дискретных значений (с подсказками).
- Звуковой сигнал "динь" при загрузке главного меню.
- Плавная прокрутка в списках ванильного Minecraft и панелях Forge.
- Зум по клавише "C" — аналог OptiFine.
- Отмена/повтор действий (Ctrl+Z/Ctrl+Y) и поддержка графем для всех текстовых полей.
- Проигрывание локальной музыки с возможностью перемотки и визуализацией спектра.
- Эмодзи-шорткоды Discord/Slack/GitHub/IamCal/JoyPixels прямо в чате.
- Стильные всплывающие подсказки с настраиваемыми рамками, градиентами, автопереносом строк и точным позиционированием до пикселя.
Ключевые возможности фреймворка
Как самостоятельная платформа, Modern UI предлагает:
- 2D-библиотеку для нескольких графических API.
- Промежуточное представление и AST для языков шейдеров.
- Рендеринг векторной графики с использованием SDF.
- Пост-обработку изображений.
- Быстрые вычисления матриц и векторов.
- Конвертацию форматов изображений.
- Анимации и переходы.
- Событийный цикл и многопоточность.
- Сложную раскладку текста с шейпингом.
- MVVM и управление жизненным циклом.
- Автоматическую RTL-раскладку интерфейса.
- Поддержку Markdown (CommonMark).
Тонкая настройка шрифтов
В настройках Action Center (Preferences → вторая страница) можно указать предпочитаемое семейство шрифтов — как системный шрифт, так и файл TTF/OTF. Для случаев, когда нужный шрифт недоступен, предусмотрены fallback-семейства.
Движок Modern UI следует JSON-определениям шрифтов Minecraft, игнорируя лишь типы glyph provider legacy_unicode и unihex. Упомянутые семейства шрифтов Modern UI будут использоваться как запасные для шрифтов Minecraft. Опция Default Font Behavior (в Preferences > Text Layout) позволяет удалить некоторые glyph provider'ы из стандартного шрифта minecraft:default. Если выставить значение Keep Other, ванильные ASCII-шрифты использоваться не будут (при условии, что не включён Force Unicode Font). Для любителей ванильного юникода есть совет: скачайте OTF-версию GNU Unifont.
Сравнение с Caxton
На Modrinth можно найти мод Caxton, известный своим MSDF-рендерингом текста. У Modern UI и Caxton есть общие черты: оба используют HarfBuzz для шейпинга, поддерживают Unicode-обработку, переносы строк и разрывы графем, совместимы с Iris в режиме растрового рендеринга и обладают эффективным алгоритмом упаковки прямоугольников. Но различий гораздо больше:
- Caxton использует более новую версию HarfBuzz, тогда как Modern UI довольствуется версией из JDK 17 (обновление появится в JDK 21).
- Caxton рендерит текст через multi-channel SDF, что даёт более чёткое изображение при увеличении; у Modern UI буквы получаются слегка округлыми.
- Modern UI совместим с OptiFine, а Caxton — нет.
- Modern UI поддерживает цветные эмодзи, Caxton — нет.
- Modern UI поддерживает хинтинг FreeType (важно для мониторов с низким разрешением), Caxton — нет.
- Modern UI обеспечивает идеальную выборку нативных глифов в пространстве экрана — идеально для 2D.
- Одно-канальный SDF без дополнительных затрат GPU, всегда 1bpp-текстуры.
- Умный метод сэмплирования SDF при уменьшении текста.
- Не нужно ждать генерации MSDF-текстур — шрифты переключаются в игре мгновенно.
- Различные эвристики направления текста и стратегии переноса строк.
- Нет дополнительных нативных библиотек, поэтому работает на macOS.
- Чуть более высокая производительность раскладки и меньшее потребление RAM.
Совместимость и конфликты
Мод полностью совместим с OptiFine, Sodium, Iris, Create и AoA3. Правда, при активных шейдерах автоматически отключается опция Use Modern Text Shaders in 3D — иначе контур светящегося текста станет невидимым.
Моды, которые Modern UI заменяет собой
| Мод | Версии | Причина |
|---|---|---|
| Blur | 1.15 ~ 1.21.8 | Полное функциональное покрытие, лучшая оптимизация |
| Controlling | 1.15 | Альтернативная реализация |
| TipTheScales | 1.15 ~ 1.21.8 | Альтернативная реализация |
| Inventory Pause | 1.18 ~ 1.21.1 | Альтернативная реализация |
| Emojiful | 1.18 ~ 1.21.1 | Поддержка цветных эмодзи с версии 3.5.0; у Emojiful плохой код, вызывающий фризы, высокое потребление VRAM и прочие проблемы |
| Borderless Window | 1.18 ~ 1.21.4 | Альтернативная реализация |
| Ding | 1.18 ~ 1.21.4 | Альтернативная реализация |
| SmoothScrollingEverywhere | 1.18 ~ 1.19 | Альтернативная реализация |
| FPS Reducer | 1.18 ~ 1.21.8 | Альтернативная реализация |
Возможные конфликты и их решения
- Emojiful (1.16 ~ 1.21.1): лучше не использовать; если крайне нужно — отключите текстовый движок Modern UI в конфиге.
- Legendary Tooltips (1.16 ~ 1.21.4): отключите тултипы Modern UI в конфиге.
- FeyTweaks (1.18 ~ 1.21.1): отключите TextRendererMixin в mixin-конфиге FeyTweaks.
- SmoothScrollingEverywhere (1.18 ~ 1.19): отключите плавную прокрутку Modern UI в конфиге.
- Caxton (1.18 ~ 1.21.8): отключите текстовый движок Modern UI.
- ImmediatelyFast (1.18 ~ 1.21.8): для версий 1.18 ~ 1.21.4 отключите hud_batching, font_atlas_resizing и fast_text_lookup (иначе возможны случайные краши); для 1.21.6 ~ 1.21.8 отключите avoid_redundant_framebuffer_switching.
- Untranslated Items (1.18 ~ 1.21.4): отключите кэш текстовых компонентов Modern UI.
Поддерживаемые версии и системные требования
На данный момент активно поддерживаются версии: 1.21.8, 1.21.7, 1.21.6, 1.21.1, 1.21, 1.20.1, 1.20. Версия 1.21.4 скоро будет исключена из поддержки. Все более старые версии (от 1.14.4 до 1.21.3) больше не поддерживаются. Описание на этой странице актуально для Minecraft 1.20.1 и выше — в старых версиях часть функций может отсутствовать.
Вопреки распространённому мнению, Modern UI не требует мощного ПК. Если вы играете в ванильный Minecraft, мод будет работать и у вас. Единственное условие — не забывайте обновлять драйверы GPU. Официальные требования:
- ОС: Windows 8.1+, Linux (X11 или Wayland), macOS.
- Архитектура: x64 или arm64.
- GPU: GeForce 210 или новее.
- Драйвер GPU: OpenGL 3.3+ или Vulkan 1.1+ (чем новее, тем лучше).
- Java: 17+ (чем новее, тем лучше).
Частые вопросы
Чем отличается Default Font Behavior от Force Unicode Font?
Modern UI всегда перенаправляет юникод-шрифты на свой шрифт по умолчанию. Default Font Behavior в версиях 1.19+ установлен в KEEP ALL — тогда для ASCII-символов используется стандартный шрифт Minecraft. KEEP OTHER отключает стандартный шрифт, но оставляет дополнительные (например, из мини-игр). Это и есть отличие от Force Unicode Font (IGNORE ALL).
Сильно ли нагружает систему?
Нет. Modern UI не оказывает значительного влияния на CPU, GPU, RAM и VRAM благодаря хорошей оптимизации. Фреймворк даже эффективнее приложений на Chromium. Правда, на слабых ПК эффект размытия фона может быть тяжёлым — ванильный Minecraft не поддерживает генерацию мипмапов на render targets. Но даже в этом случае blur от Modern UI работает быстрее, чем у мода Blur.
Как отключить все изменения ванильной игры?
Почти всё настраивается. Не конфигурируются только алгоритм масштаба GUI и некоторые низкоуровневые вещи. Все остальные функции можно отключить через Action Center (Ctrl+K) или конфиг-файлы в gameDir/config/ModernUI/.
Это клиентский мод? Нужен ли он на сервере?
Начиная с версии 1.19.2, устанавливать мод на сервер нет смысла. Все серверные функции перенесены в Forge API и Fabric API.
Как начать разработку модов на основе Modern UI?
Проект ещё на ранней стадии, спецификация дописывается. Можно изучить JavaDoc. Примеры — сам Modern UI (Action Center) и Flux Networks. Вопросы можно задавать на Discord-сервере.
Все сообщения об ошибках отправляйте на GitHub issue tracker. Обсуждения и предложения — на Discord-сервере.
Все права на данный контент принадлежат его авторам. Мы не храним и не распространяем файлы — страница носит исключительно информационный характер. Оригинальный источник доступен по этой ссылке.

Плагины
Шейдеры
Текстуры
Карты
Скины
Сиды
Новости
Комментарии (0)
Пока нет комментариев
Будьте первым!