
EclipseUI
EclipseUI - легковесная библиотека для создания конфигурационных экранов в Minecraft. Fabric и NeoForge, две темы, богатый набор виджетов из коробки.
EclipseUI - это по сути библиотека для разработчиков модов, которая берет на себя всю головную боль с созданием конфигурационных меню. Если вы когда-нибудь пользовались модами, у которых настройки открываются через унылые текстовые файлы - вы знаете, о чем я. EclipseUI призвана решить именно это: дать мододелам готовый инструмент, чтобы у модов были красивые и удобные экраны настроек, а не просто "отредактируй config.toml".
Что внутри
EclipseUI заточена под современные версии Майнкрафт, а главное - работает сразу на двух популярных загрузчиках: Fabric и NeoForge. Это значит, что мододелу не придется писать одно и то же дважды для каждого загрузчика.
Темы оформления:
- Faithful - стилизована под ванильный Майнкрафт, не выбивается из общего вида игры
- Modern - плоский дизайн, больше похожа на современные приложения
Виджеты из коробки:
- переключатели (toggle)
- ползунки (slider)
- выпадающие списки (dropdown)
- палитра цветов (color picker)
- текстовые поля
Также EclipseUI дружит с ModMenu - если у игрока установлен ModMenu, экран настроек автоматически появится в его списке модов. Удобно.
Интеграция для разработчиков
Для подключения к проекту используется JitPack. В build.gradle или build.gradle.kts добавляем репозиторий и зависимость. Вот пример для Fabric:
maven("https://jitpack.io")
modImplementation("com.github.coredex-source.EclipseUI:EclipseUI-fabric:v1.0.2")
Для NeoForge по аналогии:
implementation("com.github.coredex-source.EclipseUI:EclipseUI-neoforge:v1.0.2")
После этого создание экрана конфигурации выглядит так:
EclipseUI.configScreen()
.title(Component.literal("My Mod Config"))
.parent(parent)
.theme(Theme.MODERN)
.category(cat -> cat
.name(Component.literal("General"))
.toggle(t -> t
.name(Component.literal("Enable Feature"))
.binding(() -> config.enabled, v -> config.enabled = v)
.defaultValue(true)
)
.slider(s -> s
.name(Component.literal("Range"))
.range(0, 100, 1)
.bindingInt(() -> config.range, v -> config.range = v)
.defaultValue(50)
)
)
.build();
Для чего это нужно обычным игрокам
На первый взгляд может показаться, что EclipseUI - это инструмент сугубо для мододелов. Но по факту в выигрыше остаются все игроки Майнкрафт: чем проще разработчику сделать нормальный экран настроек, тем больше модов будут иметь удобный интерфейс, а не текстовые конфиги. Особенно это актуально для сборок модов, где настройки десятков модов и так превращаются в кашу.
Если вы собираете модпак на Fabric или NeoForge - наличие EclipseUI в зависимостях многих модов сделает жизнь игроков заметно приятнее. Да и вам как сборщику проще объяснить что-то, когда у каждого мода есть понятный интерфейс, а не визги "открой файлик там, поменяй строчку".
Скачать EclipseUI можно через JitPack для разработки, а обычным игрокам он придет как зависимость вместе с модами, которые его используют. Библиотека распространяется под лицензией MIT - можно спокойно использовать в любых проектах, даже коммерческих.
