InGame Info Reborn: гибкий HUD и данные на экране Minecraft
Игроки, которые давно в Minecraft, часто хотят видеть больше, чем стандартный интерфейс. Точный FPS, координаты, уровень освещения, состояние брони — всё это можно вывести на экран. Раньше для этого использовали старый мод InGame-Info-XML, но он устарел. Ему на смену пришёл InGame Info Reborn — современная библиотека, написанная с нуля. Это не просто копия старого мода, а полноценный наследник с новой архитектурой.
В отличие от простых HUD-модов, этот инструмент работает как конструктор. После установки вы не увидите готовых панелей. Всё настраивается через конфиги или код других модов, использующих его API. Разработчики могут строить сложные интерфейсы: от текстовых меток до интерактивных панелей с кнопками и ползунками. Главная фишка — разделение логики и отображения, что делает интерфейсы предсказуемыми и лёгкими в поддержке.
Архитектура и принципы работы
Создатели не стали изобретать велосипед. Они взяли проверенный паттерн MVVM (Model-View-ViewModel). Вся бизнес-логика живёт в ViewModel, а View занимается только рендерингом. Для описания интерфейса используется XAML-подобный DSL. Вы буквально собираете экран из групп и контролов, не думая о координатах.
Пример простой разметки:
<VerticalGroup>
<Text uid="fps" />
</VerticalGroup>
Эта конструкция создаёт вертикальную группу с текстовым полем. Данные в него подставляются позже через ViewModel. Связывание происходит через аннотацию @Reactive. Когда значение меняется, интерфейс обновляется автоматически. Никаких ручных обновлений и таймеров — просто подписались на событие и забыли.
Для динамичных сцен есть режим Compose. Он позволяет создавать immediate-mode интерфейсы прямо внутри ViewModel. Виртуальное сравнение деревьев гарантирует, что перерисовываются только изменённые элементы. Это экономит ресурсы и держит FPS стабильным.
Система событий и контролы
InGame Info Reborn не ограничивается пассивным выводом данных. Встроена DOM-подобная система событий с захватом и всплытием. Клик по кнопке можно перехватить на любом уровне вложенности. Интерактивные контролы — кнопки, чекбоксы, поля ввода — умеют останавливать распространение событий, чтобы не мешать игре.
Двойной цикл обновления (отдельно для логики и рендера) позволяет анимациям оставаться плавными даже при высокой нагрузке. Это особенно важно для серверов с большим количеством игроков.
Что доступно из коробки
- Группы компоновки: VerticalGroup, HorizontalGroup, SizedGroup, AdaptiveGroup. Элементы можно вкладывать друг в друга, создавая сложные сетки.
- Контролы: текст, скользящий текст, анимированный текст, кнопки, чекбоксы, изображения (включая загрузку по URL), GIF, прогресс-бары, отображение предметов.
- Темы: глобальный менеджер с настройкой цветов, масштаба шрифтов и декораций.
- Интеграции: поддержка CraftTweaker/ZenScript для кастомизации без Java, встроенный Spotify-виджет.
- Утилиты: аннотационная автоинтерполяция для анимаций, очередь команд отрисовки, изолированный framebuffer для GUI.
GUI-контейнеры работают в двух режимах: наложение поверх игры или фокус с перехватом всего ввода. Переключение происходит на лету. Модальная система слоёв пока в планах, но уже сейчас можно строить многоуровневые интерфейсы.
Установка и совместимость
Мод находится в стадии активной разработки, но ядро уже стабильно. Разработчик сосредоточен на надёжности, а не на добавлении новых контролов. Реализованы кастомный GUI-контейнер, система выравнивания, вложенность групп и все базовые контролы.
Чтобы скачать InGame Info Reborn: гибкий HUD и данные на экране Minecraft, убедитесь, что у вас установлен правильный загрузчик. Мод поддерживает актуальные версии Minecraft и работает через Forge или NeoForge. Проверьте совместимость с вашей сборкой перед установкой.
Процесс установки прост: скачайте файл мода, поместите его в папку mods и запустите игру. Зависимости подтянутся автоматически. Если вы используете лаунчер с каталогом модов, найти InGame Info Reborn: гибкий HUD и данные на экране Minecraft для Minecraft можно прямо там — установка займёт пару кликов.
Практический пример
Рассмотрим, как вывести FPS на экран. Сначала регистрируем точку входа:
@SubscribeEvent
public static void onIgiRuntimeEntryPoint(IgiRuntimeEntryPointEvent event) {
event.runtime.initPhase
.registerMvvm("example", ExampleViewModel.class)
.openGuiOnStartup("example");
}
Этот код инициализирует ViewModel и показывает GUI при запуске. Внутри ViewModel описываются реактивные свойства, которые связываются с разметкой. Разметка хранится в ресурсах мода и загружается автоматически.
Планы развития
В ближайших планах — Foldout Group, Draggable Group и полноценный Transition API для управления переходами между представлениями. Разработчик также работает над улучшением производительности и расширением документации.
InGame Info Reborn задаёт новый стандарт для интерфейсных модов. Вместо хаотичного кода вы получаете стройную архитектуру: модель отдельно, вид отдельно, события обрабатываются предсказуемо. Если вы разработчик, который хочет добавить красивые HUD-элементы в свой мод, или просто игрок, желающий получить максимум информации на экране без тормозов — этот проект для вас.
Как установить мод — мы уже разобрали. Осталось только выбрать подходящую сборку и начать пользоваться. Благодаря удобным лаунчерам попробовать его можно за считанные минуты, не погружаясь в дебри конфигов.
