HyUI

HyUI

A mod library for easy, clean user interface creation and modification. This is intended for mod creators.

5.6 тысяч загрузок
Обновлён 6 дней назад

Скриншоты

Описание

HyUI Это мощная, удобная для разработчиков библиотека Java, предназначенная для упрощения создания и управления пользовательскими интерфейсами для серверов Hytale. Соединяя необработанный протокол пользовательского интерфейса Hytale с высокоуровневыми абстракциями, HyUI позволяет создавать сложные, интерактивные и высокопроизводительные пользовательские интерфейсы, используя либо свободно Java Builder API или ЮИМЛДекларативный HTML/CSS-подобный синтаксис.

Независимо от того, создаете ли вы простую панель администратора, постоянный HUD или полномасштабную систему меню RPG, HyUI предоставляет инструменты и «лазейки», необходимые для эффективной работы.


Особенности

  • HYUIML (HTML/CSS): Создавайте интерфейсы, используя знакомый, декларативный HTML-подобный синтаксис со стилем CSS, а также шаблонированием и многоразовыми компонентами.
  • Свободный строитель API: Постройте вложенные иерархии пользовательского интерфейса (группы, кнопки, ярлыки и т. Д.), Используя чистую, читаемую цепочку методов.
  • многофункциональный Система: Сосуществовать с другими модами легко. HyUI автоматически управляет одним HUD-слотом Hytale, позволяя одновременно отображать несколько независимых HUD-элементов.
  • Динамическая инъекция элементов: База нагрузки .ui Файлы и впрыскивайте динамические элементы в определенные селекторы во время выполнения.
  • Обработка событий Упрощено: Привязывайте логику на стороне сервера непосредственно к событиям пользовательского интерфейса, используя простые выражения лямбда и получайте доступ к состоянию пользовательского интерфейса через МСЖД.
  • Периодический UI Обновить: Встроенная поддержка пакетных периодических обновлений HUD с низкой производительностью.
  • Специализированные строители: Включает готовых к использованию строителей для:
    • Кнопки: Стандартизированные текстовые кнопки на игровую тему и кнопки обратной связи.
    • Входные поля: Текст, цифры, слайдеры, чекбоксы и цветные пикеры.
    • Бары прогресса: Динамические индикаторы прогресса с настраиваемыми текстурами и эффектами.
    • Иконки элементов: Отображайте иконки предметов с поддерживаемыми активами текстурами.
    • контейнеры: Гибкие групповые строители с различными режимами компоновки и оконными рамами.
  • Изображения: Простые изображения, поддерживаемые активами, а также динамические изображения, загружаемые во время выполнения.
  • Расширенная логика (Escape Hatches): Доступ к сырому Разработчик Примеры в любой точке для свойств, изначально не охваченных API.

Быстрый старт

1.Установка (Gradle)

Чтобы использовать HyUI в вашем проекте Hytale, вы можете быстро начать работу, используя пример проекта: https://github.com/Elliesaur/Hytale-Example-UI-Project

В противном случае добавьте HyUI в свой проект через Cursemaven:

репозитории {
maven {url}https://www.cursemaven.com"}
?

зависимости {
Идентификатор проекта: 1431415
"curse.maven:hyui-1431415:<file-id>"
?

2. Создание страницы с помощью HYUIML (HTML)

Для большинства случаев использования HYUIML является самым быстрым способом создания макетов:

Струна html = ""
<div class="page-overlay">
<div class="container" data-hyui-title="My Menu">
<div class="container-contents">
<p>Добро пожаловать в меню!</p>
<button id="myBtn"> Нажмите Me</button>
<img class="динамический образ" src=https://example.invalid/render/PlayerName"/"
</div>
</div>
</div>
"";

PageBuilder.pageForPlayer(playerRef)
.fromHtml(html)
.addEventListener("myBtn", CustomUIEventBindingType.Activating, (ctx) -> {
PlayerRef.sendMessage(Message.raw("Clicked!"));
)
.open(магазин);

3. Создание HUD

HUD являются постоянными элементами на экране:

HudBuilder.hudForPlayer (PlayerRef)
.fromHtml("<div style='anchor-top: 10; anchor-left: 10;'><p>Здоровье: 100</p></div>"
.show (магазин);

Компоненты

Строитель Цель
PageBuilder Точка входа для полноэкранных пользовательских интерфейсов; управляет загрузкой файлов и жизненным циклом.
Строитель Точка входа для создания HUD; управляет сосуществованием и обновляется.
GroupBuilder Контейнер, используемый для организации и компоновки детских элементов.
Контейнерстроитель Предоставляет стандартную оконную раму Hytale.
PageOverlayBuilder Полноэкранный накладной контейнер.
Разработчик TabNavigation Навигационная панель.
Разработчик TabContentBuilder Контейнер содержимого вкладок.
Разработчик ButtonBuilder Для интерактивных кнопок поддерживается стандартная эстетика Hytale.
Разработчик LabelBuilder Для отображения динамического текста с поддержкой стиля и якоря.
ImageBuilder Для отображения изображений, обеспеченных активами (.png).
Разработчик DynamicImageBuilder Загруженные во время выполнения изображения PNG.
TextFieldBuilder Захватывает струнный ввод от игрока.
Разработчик NumberFieldBuilder Захватывает числовой ввод от игрока.
Скачать BoxBuilder Контроль выбора Dropdown.
CheckBoxBuilder Контроль входной коробки.
Разработчик ColorPickerBuilder Предоставляет интерфейс выбора цвета Hex.
SliderBuilder Обеспечивает поддержку слайдеров.
Разработчик ProgressBarBuilder Обеспечивает поддержку прогресс-баров.
Разработчик TimerLabelBuilder Таймерные метки с форматированием.
Разработчик SpriteBuilder Анимированный рендеринг спрайт.
Пункт IconBuilder Обеспечивает поддержку иконок.
Разработчик Элементы Item Slot UI.
Разработчик:GridBuilder Прокручиваемая сетка.

Документация и примеры

Подробную документацию по установке, созданию страниц, строительству HUD и HYUIML можно найти в разделе WEB документы папка.

Кликни Источник кнопка на этой странице (подробности -> источник на мобильном телефоне, правая боковая панель на рабочем столе) для просмотра полной документации и примеров реализации!

Требования:

  • Hytale Server добавляется в зависимости
  • Java 25 (совместимая с Hytale версия)
  • jsoup (встроен в JAR по лицензии MIT)
  • MultipleHUD - факультативное требование - включает источник в JAR (не встроенный) по лицензии MIT.

Лицензии

Все лицензии с открытым исходным кодом можно найти в репо JAR и GitHub.

Помощь и поддержка

Не стесняйтесь присоединиться к раздору: https://discord.gg/NYeK9JqmNB - Рад помочь!

Показать оригинальное описание (English)

HyUI is a powerful, developer-friendly Java library designed to simplify the creation and management of custom User Interfaces for Hytale servers. By bridging Hytale's raw UI protocol with high-level abstractions, HyUI allows you to build complex, interactive, and high-performance UIs using either a fluent Java Builder API or HYUIML, a declarative HTML/CSS-like syntax.

Whether you are building a simple admin panel, a persistent HUD, or a full-scale RPG menu system, HyUI provides the tools and "escape hatches" needed to get the job done efficiently.


Features

  • HYUIML (HTML/CSS): Build interfaces using a familiar, declarative HTML-like syntax with CSS styling, plus templating and reusable components.
  • Fluent Builder API: Construct nested UI hierarchies (Groups, Buttons, Labels, etc.) using a clean, readable chain of methods.
  • Multi-HUD System: Coexist with other mods effortlessly. HyUI automatically manages Hytale's single HUD slot to allow multiple independent HUD elements to be displayed simultaneously.
  • Dynamic Element Injection: Load base .ui files and inject dynamic elements into specific selectors at runtime.
  • Event Handling Simplified: Bind server-side logic directly to UI events using simple lambda expressions and access UI state via UIContext.
  • Periodic UI Refresh: Built-in support for batched, periodic HUD updates with low performance overhead.
  • Specialized Builders: Includes ready-to-use builders for:
    • Buttons: Standardized game-themed text buttons and back buttons.
    • Input Fields: Text, Numbers, Sliders, Checkboxes, and Color Pickers.
    • Progress Bars: Dynamic progress indicators with customizable textures and effects.
    • Item Icons: Display item icons with asset-backed textures.
    • Containers: Flexible Group builders with various layout modes and window frames.
  • Images: Easy asset-backed images, plus runtime-downloaded dynamic images.
  • Advanced Logic (Escape Hatches): Access raw UICommandBuilder instances at any point for properties not natively covered by the API.

Quick Start

1. Installation (Gradle)

To use HyUI in your Hytale project, you can get started quickly by using the example project: https://github.com/Elliesaur/Hytale-Example-UI-Project

Otherwise, add HyUI to your project via Cursemaven:

repositories {
    maven { url "https://www.cursemaven.com" }
}

dependencies {
    // Project ID: 1431415
    implementation "curse.maven:hyui-1431415:<file-id>"
}

2. Creating a Page with HYUIML (HTML)

For most use cases, HYUIML is the fastest way to build layouts:

String html = """
    <div class="page-overlay">
        <div class="container" data-hyui-title="My Menu">
            <div class="container-contents">
                <p>Welcome to the menu!</p>
                <button id="myBtn">Click Me</button>
                <img class="dynamic-image" src="https://example.invalid/render/PlayerName" />
            </div>
        </div>
    </div>
    """;

PageBuilder.pageForPlayer(playerRef)
    .fromHtml(html)
    .addEventListener("myBtn", CustomUIEventBindingType.Activating, (ctx) -> {
        playerRef.sendMessage(Message.raw("Clicked!"));
    })
    .open(store);

3. Creating a HUD

HUDs are persistent on-screen elements:

HudBuilder.hudForPlayer(playerRef)
    .fromHtml("<div style='anchor-top: 10; anchor-left: 10;'><p>Health: 100</p></div>")
    .show(store);

Components

Builder Purpose
PageBuilder Entry point for full-screen UIs; manages file loading and lifecycle.
HudBuilder Entry point for HUD creation; manages multi-HUD coexistence and refreshes.
GroupBuilder A container used to organize and layout child elements.
ContainerBuilder Provides the standard Hytale window frame.
PageOverlayBuilder Full-screen overlay container.
TabNavigationBuilder Tabbed navigation bar.
TabContentBuilder Tab content container.
ButtonBuilder For interactive buttons; supports standard Hytale aesthetics.
LabelBuilder For displaying dynamic text with style and anchor support.
ImageBuilder For displaying asset-backed images (.png).
DynamicImageBuilder Runtime-downloaded PNG images.
TextFieldBuilder Captures string input from the player.
NumberFieldBuilder Captures numeric input from the player.
DropdownBoxBuilder Dropdown selection control.
CheckBoxBuilder Checkbox input control.
ColorPickerBuilder Provides a Hex color selection interface.
SliderBuilder Provides support for number sliders.
ProgressBarBuilder Provides support for progress bars.
TimerLabelBuilder Timer labels with formatting.
SpriteBuilder Animated sprite rendering.
ItemIconBuilder Provides support for item icons.
ItemSlotBuilder Item slot UI elements.
ItemGridBuilder Scrollable item grid.

Documentation & Examples

Detailed documentation for installation, page building, HUD building, and HYUIML can be found in the docs folder.

Click the Source button on this page (details -> source on mobile, right sidebar on desktop) to view the full documentation and implementation examples!

Requirements:

  • Hytale Server added as a dependency
  • Java 25 (or current Hytale-compatible version)
  • jsoup (embedded in the JAR under MIT license)
  • MultipleHUD - optional requirement - included source in JAR (not embedded) under MIT license.

Licenses

All open source licenses can be found within the JAR and GitHub repo.

Help and Support

Feel free to join the Discord: https://discord.gg/NYeK9JqmNB - happy to help!

Последние версии

HyUI-0.5.7-all.jar

Early Access 28.01.2026 749.5 КБ
Скачать

HyUI-0.5.6-all.jar

Early Access 27.01.2026 745.8 КБ
Скачать

HyUI-0.5.5-all.jar

Early Access 27.01.2026 745.9 КБ
Скачать

HyUI-0.5.4-all.jar

Early Access 26.01.2026 774.7 КБ
Скачать

HyUI-0.5.3-all.jar

Early Access 25.01.2026 762.5 КБ
Скачать