Мод для Майнкрафт на Forge, который добавляет API для создания игровых интерфейсов на HTML и CSS. Он предназначен для разработчиков модов: вместо стандартного API экранов Майнкрафт позволяет описывать разметку, стили и обработку нажатий в привычном веб-формате.
Возможности
- Поддерживает HTML-теги, атрибуты, вложенные элементы и HTML-сущности.
- Стили CSS с селекторами классов, идентификаторов и тегов, а также встроенными стилями.
- Раскладку блоков, Flexbox и CSS Grid.
- Градиенты, скругление углов, имитацию теней, прозрачность и оформление текста.
- Нажатия на кнопки, ссылки и элементы с атрибутом
id, проверку попадания курсора и прокрутку колёсиком мыши. - Шаблоны с подстановками вида
{{variable}}и контекстом данныхDataContext.
Как пользоваться
Экран создаётся через HtmlRendererAPI.createScreen(Component title). В конструкторе последовательно задаются разметка методом html(String html), таблица стилей css(String css), данные data(DataContext context) и обработчик нажатий onClick(Consumer<ClickEvent> handler); готовый экран возвращает build().
Для собственного экрана можно унаследовать класс HtmlScreen и переопределить getHtml() и getCss(). Метод setPreferredSize(int w, int h) задаёт размер области содержимого, а rebuild() пересобирает интерфейс после изменения данных.
Для прокручиваемого блока укажите overflow-y: scroll или overflow-y: auto: колесо мыши перемещает его на 20 пикселей за шаг.
Требования и совместимость
Требуются Forge и Java 17.
