Modern UI от Icyllis Milica
Описание:
Modern UI (от Icyllis Milica) — это фреймворк для разработки автономного ПО с 2D и 3D рендерингом. Он использует современные графические API и технологии для обеспечения высокопроизводительного рендеринга в реальном времени. Modern UI улучшает и оптимизирует набор функций, используемых Google Android, и включает собственную систему интернационализации текста.
Modern UI для Minecraft — это мод, основанный на Modern UI Core Framework. Он предоставляет среду для Modern UI в Minecraft и API для создания продвинутых графических интерфейсов через Forge/Fabric.
Нажмите Ctrl+K или ⌘+K (по умолчанию), чтобы открыть Центр действий для настройки мода. (Примечание: для настройки шрифтов проведите по экрану настроек).
Мод включает мощный движок компоновки и рендеринга текста для Minecraft:
Этот движок обрабатывает Unicode и обеспечивает читаемость текста в любом масштабе (2D/3D):
- Превью и перезагрузка шрифтов TrueType/OpenType в реальном времени
- Улучшенный механизм замены шрифтов
- Сглаживание текста и хинтинг FreeType
- SDF-рендеринг текста в 2D/3D с пакетной обработкой
- Точный расчёт размера шрифта в пространстве устройства
- Поддержка Google Noto Color Emoji (Unicode 15.1)
- Поддержка Emoji-кодов Discord/Slack/GitHub в чате
- Настраиваемый алгоритм двунаправленного текста (BiDi)
- Настройка тени текста и размера шрифта
- Перенос строк и слов по стандартам Unicode/CSS
- Быстрая асинхронная компоновка текста
- Эффективный алгоритм упаковки глифов
- Текстуры в градациях серого (1 bpp)
- Совместимость с OptiFine, Sodium, Iris и др. модами
- Поддержка JSON-шрифтов Minecraft
Дополнительные функции для Minecraft:
- Размытие фона интерфейса (Gaussian blur)
- Анимация плавного появления экранов
- Режимы окна: Fullscreen (borderless), Maximized (borderless)
- Ограничение FPS и громкости при свёрнутом окне
- Пауза в одиночной игре при открытии инвентаря
- Настраиваемая шкала GUI (слайдер)
- Звук «Ding» при загрузке главного меню
- Плавная прокрутка списков
- Клавиша «C» для зума (аналог OptiFine)
- Стилизованные всплывающие подсказки с закруглёнными углами
- Точное позиционирование подсказок, автоматический перенос текста
Основные возможности:
- 2D-графика для различных графических API
- Промежуточное представление шейдеров
- Рендеринг SDF и векторной графики
- Поддержка Markdown и HTML
- Постобработка изображений
- Быстрые матричные вычисления
- Конвертация форматов изображений
- Анимации и переходы
- Многопоточность и цикл событий
- Движок компоновки сложного текста
- MVVM и управление жизненным циклом
- Автоматическая RTL-разметка
Modern Text Engine для Minecraft:
- Цветные Emoji (Google Noto Color Emoji 15.1)
- Emoji-коды в чате (например :rofl:)
- Настройка TTF/OTF шрифтов: размер, тень, смещение
- Векторные шрифты с автоматическим переключением разрешения
- SDF-рендеринг в 3D, сглаживание в 2D GUI
- Многоабзацная вёрстка, кэширование
- Точное выравнивание, быстрая отрисовка цифр
- Mip-mapping, SSAA, линейная фильтрация
- Оптимизированная обработка BiDi-текста (арабский, идиш)
- Настраиваемые алгоритмы направления текста
- Формирование текста через HarfBuzz (тайский, деванагари)
- Разрыв кластеров графем и строк по Unicode
- Локализованный перенос слов
- Пиксельный рендеринг, фиксированное разрешение
- Оптимизация: +10% FPS, меньше RAM/VRAM
Настройка шрифтов
Откройте Центр действий (Ctrl+K), перейдите в Настройки → Шрифты.
- Основной шрифт: предпочтительное семейство (системное или TTF/OTF).
- Запасные шрифты: используются при недоступности основного.
Modern UI использует JSON-шрифты Minecraft, игнорируя только 'legacy_unicode' и 'unihex'. Шрифты Modern UI служат запасными для шрифтов Minecraft.
Сравнение с Caxton:
Сходства:
- Использование HarfBuzz для формирования текста
- Поддержка Unicode
- Алгоритмы переноса строк и разрыва графем
- Эффективная упаковка глифов
- Совместимость с Iris
Различия:
- Modern UI: цветные Emoji, Caxton: нет
- Modern UI: совместимость с OptiFine, Caxton: нет
- Modern UI: хинтинг FreeType, Caxton: нет
- Modern UI: 1bpp текстуры, Caxton: multi-channel SDF
- Modern UI: не требует нативных библиотек, Caxton: требует
- Modern UI: меньшее потребление RAM, Caxton: выше
- Modern UI: мгновенное переключение шрифтов, Caxton: требует генерации текстур
FAQ:
Отчёт об ошибках: Сообщайте на GitHub.