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

ApricityUI

Создавай интерфейс Minecraft с помощью HTML + CSS + JS, максимально следуя веб-стандартам.

от MerrySnow· Flechazo098, QiHuang02 и ещё 1ДекорБиблиотекиУтилиты
FabricNeoForgeForge
Загрузчики
FabricNeoForgeForge
Скачиваний на Modrinth
63,3 тыс.
Подписчиков на Modrinth
16
версия
81
Обновлён
19 октября 202619 окт.
Опубликован
в 2026
Это библиотека — она нужна другим модам и сама ничего не добавляет в игру

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

Библиотека — нужна другим модам
Работает на Fabric, NeoForge и Forge
Для Minecraft 1.21.1, 26.1–26.1.2 …
Нужен в игре; на сервере — по желанию
Последняя версия — 1.2.8 от 19 октября 2026
Лицензия LGPL-2.1-only — бесплатно
Где нужен
В игреобязателенНа серверенеобязателен

Нужен в игре; на сервере — по желанию

Версии игры1.20.1–1.20.6, 1.21.1, 26.1–26.1.2 …
Описание переведено автоматическиПоказать оригинал (EN)

ApricityUI

Создавайте интерфейсы с помощью HTML + CSS + JS. Синтаксис максимально близок к веб-стандартам.

icon

Обзор

ApricityUI создавался с одной целью: UI-фреймворк, который прост в освоении, удобен и широко применим. Именно поэтому за основу взята классическая связка HTML + CSS + JS.

Сторона JS сейчас зависит от KubeJS (опционально), а значит авторы сборок могут рисовать любой интерфейс с крайне низким порогом входа.
Насколько низким? Вы можете поручить AI сгенерировать всё, что связано с ApricityUI. Веб-фреймворки достаточно популярны, чтобы AI хорошо их знал — результат может даже выглядеть лучше, чем вы нарисовали бы сами, и при этом вы сможете его прочитать.

Моды, которым нужен кастомный интерфейс, тоже могут зависеть от ApricityUI и строить легко расширяемые интерфейсы; JS и Java API в основном равнозначны.
В чём проявляется эта расширяемость? Вложенные маски, плавная прокрутка, скруглённые границы, матовое стекло на фоне, кастомные анимации, кастомные шрифты, воспроизведение GIF — вплоть до фильтров, масок и теней, вложенных друг в друга. То, что где-то требует сотен или тысяч строк, здесь — несколько строк.

Синтаксис ApricityUI по сути фиксирован и остаётся максимально близким к веб-стандартам, так что вы можете свободно обновляться и использовать его на разных версиях игры, не беспокоясь о поломке совместимости.

Начиная с 1.2.5 ApricityUI также может вызывать WebView, встроенный в вашу операционную систему, позволяя встроить в игру настоящий сайт или веб-страницу, которая принимает только аппаратный ввод (включая воспроизведение видео).

Если вы не уверены, что такое веб-фреймворк, запомните хотя бы три его известных преимущества:

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

Примечание: ApricityUI не включает в себя среду выполнения Chrome. Он полностью написан на Java с нуля; по состоянию на 1.2.4 jar весит всего 2.5 MB, ничего дополнительно не скачивает и безопасен в использовании.

Демонстрация

Встроенные темы на чистом CSS

Темы Ore и AE встроены, а следом появятся и другие универсальные темы в духе MC (или намеренно не в духе MC). Все они используют одну и ту же схему именования CSS, так что переключение между ними бесшовное.

Рисуйте где угодно

Он полностью интегрируется с рендерингом Minecraft — рисуйте где захотите. Одного KubeJS достаточно, чтобы настроить всплывающие подсказки предметов и радиальные меню.

  • Всплывающая подсказка предмета 东方足道屿 东方足道屿 item tooltip

  • Простое радиальное меню (от SurpTalent) Simple radial menu
Canvas

Поддержка Canvas, которой достаточно для графиков, отрисовки SVG, сложных вложенных эффектов, досок для рисования и подобных повседневных задач.

Оконные окна в мире

HTML можно отрисовать в точке внутри мира с настраиваемым углом, прохождением сквозь блоки, дистанцией взаимодействия, дальностью прорисовки, следованием за камерой, LOD и другими деталями.

  • 东方足道屿 массаж ног горничной 东方足道屿 массаж ног горничной

  • Полоски здоровья мобов и отображение предметов (от ୧⍤⃝无月) Полоски здоровья мобов и отображение предметов
Нативные элементы Minecraft

Управляйте слотами контейнеров, предметами, жидкостями, текстурами, моделями, анимациями спрайтов, ключами перевода и другими нативными элементами средствами HTML.

  • Building Shop магазин строительных материалов Building Shop магазин строительных материалов

  • Cobblemon Skin Manager (от 卡杨巴) Cobblemon Skin Manager
Редактор форматированного текста

Редакторы форматированного текста можно создавать data-driven способом.

  • Встроенный пример редактора форматированного текста Встроенный пример редактора форматированного текста

WebView

Чтобы интерфейсы разных модов оставались независимыми и при этом могли взаимодействовать друг с другом, ApricityUI использует многодокументную архитектуру. Это убирает большую часть смысла тега iframe, а Minecraft и так редко нуждается во вложенных интерфейсах — поэтому сегодня тег iframe в ApricityUI используется исключительно для встраивания WebView.

Проще говоря, создание документа с тегом iframe на самом деле открывает WebView и отрисовывает его за кадром в области iframe.

Минусы WebView очевидны: ни из Java, ни из KubeJS трудно найти элегантный способ логически с ним взаимодействовать, поэтому сейчас ApricityUI лишь передаёт ему аппаратный ввод.

Из-за высокого потребления памяти WebView также плохо подходит для оверлеев и окон в мире.

В небольшом числе окружений WebView вообще отсутствует (например, в Linux), но этот мод никогда не будет встраивать его сам.

Плюс в том, что WebView частично компенсирует неполное покрытие браузерных стандартов в ApricityUI. Он может отрисовывать сложные страницы, мало связанные с игрой, или напрямую открывать внешние сайты — живую документацию, списки изменений, обучающие видео по модам — и поддерживает создание кинотеатра прямо в мире.

Просмотр видео с сайта через WebView

Для разработчиков

Примечание: все документы и навыки встроены в файл модуля, и AI готов к использованию.

Для использования ApricityUI не нужно знать исходный код. Если он понадобится, доступен официальный Maven:

repositories {
    maven {
        url "https://maven.sighs.cc/repository/maven-public/"
    }
}
dependencies {
    implementation 'com.sighs:ApricityUI-forge-1.20.1:1.2.7'
}

Разрабатывать веб-приложения с помощью AI очень легко — вам даже не нужен SKILL, и то же самое касается ApricityUI.

Простой пример: одно предложение генерирует интерфейс.

Печь высокого давления, спроектированная AI Интерфейс чата, спроектированный AI

Генерация случайных дизайнов, пока один из них не понравится, а затем адаптация статического шаблона — это высокоэффективный рабочий процесс.

Свежесгенерированный статический шаблон можно импортировать и сразу просмотреть в менеджере ресурсов; изображения, аудио, шрифты и другие статические ресурсы тоже можно просматривать, а контекстное меню предлагает быструю справку.

Чтобы избежать конфликтов клавиш, начиная с 1.2.4 горячие клавиши менеджера ресурсов по умолчанию не назначены — назначьте их сами перед отладкой.

Resource manager

Начиная с 1.2.4 jar содержит полную документацию, а в конфиге есть опции для автоматических скриншотов (хранится до 20 штук) и для перезагрузки подходящего интерфейса, как только файл изменится. Всё это рассчитано на ИИ.

Внутри ИИ-агента для кодинга можно сформулировать так, чтобы продолжать итерации над дизайном:

Задача — создать или изменить UI; можно менять только HTML/CSS/JS.
Следуй указаниям из встроенной документации.
Известно: папка run/screenshots/aui выдаёт скриншот игры каждую секунду; за статическими ресурсами следят автоматически, и при изменении они вызывают перезагрузку.
Цикл тестирования: редактируй файлы html/css/js -> следи в логе за сообщением о перезагрузке -> подожди три секунды, затем проверь самый свежий скриншот в папке screenshots -> оцени, соответствует ли он требованию; если нет — продолжай редактировать, если да — остановись.
Целевой HTML-файл: run/apricity/test/quest.html
Требуемый результат: список квестов в игре, современный плоский стиль, красно-белая палитра
Референсное изображение: run/screenshots/image_614748742442633.png

Полный SKILL описан в официальной документации и входит в jar вместе с полной документацией.

Сложные потребности в UI в Minecraft редки. Обычно ИИ достаточно прочитать встроенную документацию, чтобы выполнить большую часть работы над дизайном за один проход, а со встроенной темой результат уже выглядит хорошо.

Когда интерфейс в целом готов, можно открыть инструменты отладки, похожие на браузерные — они тоже не привязаны по умолчанию начиная с 1.2.4.

В DevTools можно находить и выбирать элементы на странице и редактировать стили и содержимое напрямую, с отменой и повтором, а затем сохранять стили или всё содержимое DOM.

Логи о неподдерживаемых функциях, синтаксических ошибках, внутренних исключениях и подобных проблемах дублируются в консоль DevTools.

DevTools

Также можно позаимствовать готовые стили с Codepen. Если вам попадётся нужное CSS-свойство, которого не хватает, откройте issue на Github.

Распространение ресурсов

ApricityUI поддерживает HTML, CSS, Javascript, шрифты TTF/OTF и большинство форматов изображений, включая GIF, в качестве статических ресурсов; аудио и видео запланированы.
Ресурсы лежат в папке apricity экземпляра версии и в ресурспаках. У ресурспаков приоритет ниже, но стандартные глобальные стили и встроенные шрифты поставляются в собственных ресурсах мода.
Разработчикам модпаков рекомендуется размещать их в папке apricity. Горячая перезагрузка по умолчанию привязана к END и обычно занимает меньше секунды.

Подробности смотрите в главе Resource Manager официальной документации.

Если хотите упаковать и поделиться, подойдёт либо ресурспак, либо обычный архив. Поскольку ресурспак к тому же требует перезагрузки игры, рекомендуется простой архив.
Для модов, использующих ApricityUI как зависимость, лучше подходит форма ресурспака: стандартные пути загрузки включают путь ресурспака для разработки с наивысшим приоритетом, что очень удобно.
Ещё один вариант — сетевые ресурсы, например хостинги изображений или открытые площадки для статики. ApricityUI поддерживает асинхронную загрузку сетевых ресурсов — только не делайте с этим ничего плохого.

ApricityUI также предлагает ретро-воркфлоу «сервер отправляет HTML клиенту для отрисовки», который позволяет полностью управлять клиентским UI с сервера.

Хотите узнать больше?

  • ApricityUI также реализует браузерный зум: зажмите CTRL и прокручивайте на странице, чтобы приближать и отдалять, так что игроки могут адаптироваться к любому размеру окна.
  • KubeJS — необязательная зависимость. Без него нельзя выполнить JavaScript, написанный внутри HTML, и консоль недоступна — но для разработчиков модов это редко имеет значение, ведь работу с DOM можно делать на Java.
  • Горячая перезагрузка быстрая: двадцать разных аватарок из QQ плюс три кастомных шрифта, включая инлайн-JS, перезагружают целый документ примерно за одну секунду. Если вы пишете клиентские скрипты на KubeJS, возможно, этим даже удастся срезать углы — хотя пути к ресурсам не дают автодополнения PJS. Учтите, что эта перезагрузка не перезагружает ресурспаки.
  • В обычном использовании у ApricityUI нет очевидного узкого места по производительности, а на 26.1 и выше почти не о чем беспокоиться. Но автор не может протестировать все случаи — если вам случится поймать внезапный лаг, пожалуйста, сразу сообщите о нём.
  • Лёгкие порты современных фронтенд-фреймворков, таких как Vue и Svelte, активно разрабатываются. Простой Vue уже имеет PR от kltyton, а Svelte будет встроен позже. Присоединяйтесь к группе, если интересно!

Галерея

  • win98 win98

  • Machine-Max настройки транспорта Machine-Max настройки транспорта

  • FindMe управление компаньонами FindMe управление компаньонами

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

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

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

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

У ApricityUI есть сборки для Minecraft 1.19.2–1.19.4, 1.20.1–1.20.6, 1.21.1, 26.1–26.1.2 ….

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

Нужен в игре; на сервере — по желанию

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

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