
ApricityUI
Мод ApricityUI позволяет создавать пользовательские интерфейсы для Майнкрафта с помощью HTML, CSS и JavaScript, следуя веб-стандартам. Удобно для разработчиков и мододелов, с поддержкой горячей перезагрузки и DevTools.
ApricityUI - интерфейсы Minecraft на HTML, CSS и JS
Создание пользовательских интерфейсов в Майнкрафте - задача не из простых. Обычно требуется знание Java и работа с громоздкой GUI-системой игры. Но мод ApricityUI кардинально меняет подход, предлагая делать UIs с помощью привычных веб-технологий - HTML, CSS и JavaScript. Никаких сотен строк кода на Java - просто верстайте как сайт.
Основная идея
Разработчики ApricityUI хотели дать удобный и универсальный UI-фреймворк с низким порогом входа. Для этого выбрали классическое веб-трио: HTML, CSS и JS.
- JS-интеграция: JavaScript-уровень работает через KubeJS (опционально). Это значит, что создатели модпаков могут рисовать интерфейсы с минимальным порогом обучения.
- Насколько это просто? Вы можете буквально попросить ИИ сгенерировать весь контент для ApricityUI. Веб-стандарты универсальны, ИИ отлично в них разбирается - часто получаются UIs красивее ручных, а код остаётся понятным.
- Для разработчиков модов: Если вашему моду нужны кастомные интерфейсы, можно подключить ApricityUI как зависимость и создавать гибкие UI. JS- и Java-реализации почти равнозначны.
- Расширяемость: Фичи вроде вложенных масок, плавного скролла, скруглённых углов, эффекта матового стекла, кастомных анимаций, шрифтов и GIF - которые обычно занимают сотни строк кода - делаются в несколько строк на ApricityUI.
- Защита от будущего: Поскольку фреймворк следует фиксированным веб-стандартам, можно спокойно обновляться между версиями игры без опасений сломать совместимость.
Если вы не знакомы с веб-технологиями, вот их три главных преимущества:
- Богатый функционал: от простых фигур до сложных эффектов рендеринга. ApricityUI даже умеет отображать интерфейсы на определённых блоках в мире!
- Простота использования: Большинство "курсов для новичков" в интернете занимают менее 3 часов (некоторые - 10 минут). К тому же ИИ отлично знает эту область.
- Лёгкая отладка: Почти всё поддерживает мгновенную горячую перезагрузку. В фреймворк встроены инструменты разработчика для визуальной отладки.
Важно: ApricityUI не встраивает браузерный движок Chrome/CEF. Он написан с нуля на Java и весит менее 1 МБ. Никакого раздувания.
Примеры и демонстрации
-
Блочная модель: поддержка box-shadow, настраиваемых границ и скруглённых углов с разными радиусами.
-
Flexbox: стандартная флексовая вёрстка.
-
Кастомные шрифты: поддержка до четырёх различных шрифтов (включая ванильный) одновременно.
-
Контейнеры: встроенное обрезание содержимого за пределами (overflow masking).
-
Рендеринг в мире: отображение интерфейсов по заданным координатам и углам с учётом перекрытий.
-
Масштабирование 9-slice: использование свойства
border-imageдля гибких текстур интерфейса. -
Вложенные маски: поддержка сложных масок (например, обрезание контейнера до треугольника).
-
GIF-анимация: полная поддержка анимированных изображений.
-
Анимации: кастомные CSS-анимации и переходы.
-
Поля ввода: встроенные настраиваемые текстовые поля.
-
Интеграция с ванильными элементами: поддержка стандартных контейнеров/инвентарей.
-
Кастомные темы: включает готовые темы, например, в стиле "AE2 (Applied Energistics)".
Подробнее смотрите простые примеры в официальной документации. Лень? Попросите ИИ написать стили или "одолжите" код с CodePen. Если наткнётесь на CSS-свойство, которое не поддерживается, сообщите об этом.
Распределение ресурсов
- Поддерживаемые форматы: HTML, CSS, JavaScript, TTF/OTF-шрифты и большинство форматов изображений (включая GIF). Аудио и видео в планах.
- Пути хранения: ресурсы размещаются в папке
/apricityв директории экземпляра или через ресурспаки. - Горячая перезагрузка: для разработчиков модпаков рекомендуем папку
/apricity. Нажмите клавишу END - и изменения вступят в силу обычно меньше чем за секунду. - Распространение: можно распространять интерфейсы через ресурспаки или простой ZIP. Ресурспаки требуют перезагрузки игры, поэтому ZIP быстрее для тестирования.
- Удалённые ресурсы: ApricityUI поддерживает асинхронную загрузку веб-ресурсов (например, хостинг изображений или GitHub). Пожалуйста, используйте эту возможность ответственно!
Также ведётся работа над "серверным рендерингом HTML для клиента" - будет в будущем обновлении.
Хотите узнать больше?
- На самом деле, в ApricityUI есть консоль DevTools, похожая на браузерную. Нажмите F12, чтобы её открыть. Сейчас она поддерживает визуальное редактирование атрибутов, innerText и стилей, а также выполнение JS-команд.
- На самом деле, KubeJS опционален. Без него нельзя выполнять JS внутри HTML или пользоваться консолью, но для жёстко заданных UI модов это необязательно.
- На самом деле, горячая перезагрузка очень быстрая: обновление документа с 20 разными аватарами и 3 кастомными шрифтами занимает около секунды. (Перезагружается UI-документ, а не весь ресурспак Майнкрафта.)
- На самом деле, производительность достойная: в стресс-тесте сложный интерфейс снизил FPS с 400 до 300 - хотя ванильное меню креатива выдаёт всего 240 FPS!
- На самом деле, разрабатываются "лёгкие" порты современных фреймворков вроде Vue и Svelte. Прогресс медленный.
- На самом деле, ИИ отлично справляется с HTML/CSS, так что легко может "написать" для вас мини-игру. Правда, ApricityUI пока поддерживает не все возможности браузера, поэтому нужно дать ИИ список совместимых свойств.
Готовы попробовать?
Скачайте мод ApricityUI и начните создавать современные интерфейсы для Майнкрафта. Благодаря веб-стандартам, это просто, быстро и открывает безграничные возможности для кастомизации. Идеально подходит как для мододелов, так и для сборщиков модпаков - минимум кода, максимум гибкости.
