
SIRIUS Ui
Json UI Engine for Minecraft Java Edition
Автор: AlanHT520175,2 тыс.213обновлён 9 авг. 2026 г.
ДекорМеханики игрыУтилиты
Описание
What is this?
SIRIUS Ui is a UI enhancement mod powered by a JSON-driven Widget component system. Define game interfaces by writing JSON files — no Java code required.
SIRIUS Ui is open source under the HaoTianA License v1.0.
Installation
- Place the Mod JAR file into your
.minecraft/mods/directory - Launch the game
Author
AlanHT520
Галерея
Последние версии
Все версии →alpha
SIRIUS Ui 0.4.87-Dev.65
0.4.87-Dev.659 авг. 2026 г.382Minecraft: 1.21.1neoforge
Что нового
- Added "splash"
- Removed the displayed entities in the title screen
- Optimized some details
- Added element audio
- Optimized the sliding effect of the slider Fixed the issue of lagging when sliding the audio slider.
alpha
SIRIUS Ui 0.4.87-Dev.65
0.4.87-Dev.659 авг. 2026 г.330Minecraft: 1.20.1forge
Что нового
- Added "splash"
- Removed the displayed entities in the title screen
- Optimized some details
- Added element audio
- Optimized the sliding effect of the slider Fixed the issue of lagging when sliding the audio slider.
alpha
SIRIUS Ui 0.4.86-Dev.64
0.4.86-Dev.6414 июл. 2026 г.218Minecraft: 1.21.1neoforge
Что нового
# Changelog
## v0.4.86-Dev.64 (Alpha)
### 注意 : 这是一个开发版,可能会有很多bug
### New Features
- Changed the options screen
- Added PPT transition logic
- Added player entity display in the title screen
### Bug Fixes
- Fixed incompatibility with owo-lib
- Fixed missing Mods list button
### Architecture Refactor
- **Widget component system**: Refactored from a monolithic `Element` class to an interface-based `Widget` component architecture. Added `widget/` package with 17 standalone Widget classes:
- Basic: `TextWidget`, `ImageWidget`, `ButtonWidget`, `BoxWidget`
- Container: `ContainerWidget`, `ContentWidget`, `ButtonContentWidget`
- List: `ListWidget`, `DynamicListWidget`, `PackListWidget`
- Interactive: `SliderWidget`, `StringEditBoxWidget`
- Display: `EntityDisplayWidget`
- Cycle: `CycleButtonWidget`, `ArrowSwitchWidget`, `DropdownWidget`, `SelectorWidget`
- **Render context**: Added `context/` package (`RenderContext`, `ScreenVariableRegistry`, `WidgetDimensionRegistry`) for unified render state and variable management
- **Property separation**: `data/props/` package decouples style, text, layout, and animation properties from the old Element into independent records (`StyleProps`, `TextProps`, `LayoutProps`, `SliderProps`, `CycleButtonProps`, etc.)
- **Factory pattern**: Added `WidgetFactory` for unified JSON → Widget construction
### New Features
- **Entity display**: Added `EntityDisplayWidget` with `FakePlayer`/`FakeLevel`, enabling player entity model rendering within UIs
- **Dynamic lists**: Added `DynamicListWidget`, supporting dynamic list loading from data sources (server list, world saves, Realms, resource packs)
- **Data sources**: Added `data/source/` package with `ServerListDataSource`, `WorldSaveDataSource`, `RealmsDataSource`, `PackDataSource`
- **Animation system**: Added `AnimationStep` record, supporting per-frame text animation configuration
- **Cycle/selection controls**: Added four interactive control types: `arrow_switch`, `cycle`, `dropdown`, `selector`
### Mixin Changes
- Removed `GuiGraphicsMixin` (old alpha blending override)
- Added `LivingEntityRendererMixin` to fix name display issues when rendering FakePlayer entities
### Removed Legacy Code
- Removed `Element.java` — old monolithic element class
- Removed `ElementRenderer.java` — old centralized renderer
- Removed `InteractionHandler.java` — old centralized interaction handler
- Removed `ScreenBuilder.java` — old screen builder
- Removed `ButtonStyle.java` / `ButtonStyleData.java` — old button style classes
- Removed `SizeDeserializer.java` — old size deserializer
### Assets
- **Screen configs**: Added 6 new screens (`screen`, `options_screen`, `play_selection_screen`, `resource_packs_screen`, `mouse_settings_screen`, `font_options_screen`)
- **Widget JSONs**: Expanded from simple button configs to a comprehensive Widget configuration system, covering all settings categories: accessibility, chat, controls, general, skin, sounds, video
- **Textures**: Significantly expanded button textures including titlemenu series, select series, world series, options icons, slider components, etc.; legacy textures moved to `options/old/`
- **Language files**: 22 language files trimmed and aligned to `zh_cn.json` as the baseline
alpha
SIRIUS Ui 0.3.8 NeoForge
0.3.84 мая 2026 г.495Minecraft: 1.21.1neoforge
Что нового
- only for 1.21.1, because there is no such issue in 26.1
- fixed a issue that GuiGraphics was incompatible with the Alpha channel.
alpha
SIRIUS Ui 0.3.8 Fabric
0.3.84 мая 2026 г.693Minecraft: 1.21.1fabric
Что нового
- only for 1.21.1, because there is no such issue in 26.1
- fixed a issue that GuiGraphics was incompatible with the Alpha channel.
alpha
SIRIUS Ui 0.3.7 NeoForge
0.3.73 мая 2026 г.212Minecraft: 26.1.2neoforge
Что нового
## SIRIUS Ui Changelog: v0.3.2 → v0.3.7
### 🎉 New Features
#### 1. New Background Type: PPT Slideshow (`type: "ppt"`)
- Replaces the removed experimental GIF background with a robust multi-image slideshow.
- Images can be organised into `groups`, each with an independent `playCount` (`-1` for infinite loop).
- Customise group playback order with `playGroups`; use `playAfter` to make a specific group loop forever (e.g. intro sequence followed by a looping main background).
- Each slide can have its own `time` (milliseconds); a global `defaultTime` is used when a slide omits it.
#### 2. Screen Registration (`register.json`)
- File path: `assets/minecraft/alanht/register.json`
- Maps custom screen IDs to JSON layout files, enabling the mod to recognise and open completely new screens.
#### 3. Internationalisation
- The wiki now supports **Simplified Chinese**, **Traditional Chinese**, and **English**, with dark/light theme switching.
---
### 🔧 Changes & Improvements
#### 1. JSON Key Changes ⚠️ (Resource Pack Update Required)
| Old (v0.3.2) | New (v0.3.7) | Notes |
| :--- | :--- | :--- |
| `type: "logo"` | `type: "image"` | Element type for static images renamed to `image`. |
| `type: "cycle"` (experimental) | (removed) | Cycle button element temporarily removed. |
| `type: "list"` (experimental) | (removed) | Scrollable list element temporarily removed. |
| `type: "catalog"` (experimental) | (removed) | Catalog navigation element temporarily removed. |
| `type: "slider"` (experimental) | `type: "slider"` (still experimental) | Slider element retained but remains experimental. |
*Note: Button styles (`button_styles/*.json`) have not changed between v0.3.2 and v0.3.7.*
#### 2. Expression Variable Renames ⚠️
| Old Variable (v0.3.2) | New Variable (v0.3.7+) |
| :--- | :--- |
| `width` | `screen.width` |
| `height` | `screen.height` |
| `elementWidth` | `this.width` |
| `elementHeight` | `this.height` |
| *(none)* | `parent.width`, `parent.height`, `containerWidth`, `containerHeight` |
#### 3. Recommended Resource Pack Structure Changed
- Old structure used paths like `assets/minecraft/screens/`.
- New standard path is `assets/sirius_ui/screens/`. Texture paths must include the full namespace (e.g. `sirius_ui:textures/...`).
#### 4. Action Enhancements
- `disconnect` and `exit_to_title` now share a unified flow.
- `respawn` logic is more robust.
#### 5. Documentation Overhaul
- The wiki has been restructured from a single page into modular, multi-page documentation with a sidebar.
- A Troubleshooting chapter has been added.
---
### ❌ Removals & Deprecations
- **`type: "gif"` background has been removed.** Migrate all GIF backgrounds to `type: "ppt"`.
- The old `logo` element type is deprecated; use `image` instead.
- **Experimental elements `cycle`, `list`, `catalog` have been temporarily removed.** They are not available in v0.3.7.
- Legacy paths like `assets/minecraft/screens/` are no longer recommended.
---
### 📋 Upgrade Checklist (v0.3.2 → v0.3.7)
1. Rename all `"type": "logo"` elements to `"type": "image"`.
2. Replace all `"type": "gif"` backgrounds with `"type": "ppt"` using the new slideshow syntax.
3. Remove any usage of `cycle`, `list`, and `catalog` elements – they are not supported in this version.
4. Update all coordinate expressions with the new variable names:
- `width` → `screen.width`
- `height` → `screen.height`
- `elementWidth` → `this.width`
- `elementHeight` → `this.height`
5. If using `register.json`, ensure paths point to the new namespaces (e.g. `sirius_ui:screens/...`).
6. Slider configurations (`type: "slider"`) can generally remain, but be aware the feature is still experimental and may change in the future.
7. Verify compatibility with the updated `ScreenRegistry`.
alpha
SIRIUS Ui 0.3.7 NeoForge
0.3.73 мая 2026 г.97Minecraft: 1.21.1neoforge
Что нового
## SIRIUS Ui Changelog: v0.3.2 → v0.3.7
### 🎉 New Features
#### 1. New Background Type: PPT Slideshow (`type: "ppt"`)
- Replaces the removed experimental GIF background with a robust multi-image slideshow.
- Images can be organised into `groups`, each with an independent `playCount` (`-1` for infinite loop).
- Customise group playback order with `playGroups`; use `playAfter` to make a specific group loop forever (e.g. intro sequence followed by a looping main background).
- Each slide can have its own `time` (milliseconds); a global `defaultTime` is used when a slide omits it.
#### 2. Screen Registration (`register.json`)
- File path: `assets/minecraft/alanht/register.json`
- Maps custom screen IDs to JSON layout files, enabling the mod to recognise and open completely new screens.
#### 3. Internationalisation
- The wiki now supports **Simplified Chinese**, **Traditional Chinese**, and **English**, with dark/light theme switching.
---
### 🔧 Changes & Improvements
#### 1. JSON Key Changes ⚠️ (Resource Pack Update Required)
| Old (v0.3.2) | New (v0.3.7) | Notes |
| :--- | :--- | :--- |
| `type: "logo"` | `type: "image"` | Element type for static images renamed to `image`. |
| `type: "cycle"` (experimental) | (removed) | Cycle button element temporarily removed. |
| `type: "list"` (experimental) | (removed) | Scrollable list element temporarily removed. |
| `type: "catalog"` (experimental) | (removed) | Catalog navigation element temporarily removed. |
| `type: "slider"` (experimental) | `type: "slider"` (still experimental) | Slider element retained but remains experimental. |
*Note: Button styles (`button_styles/*.json`) have not changed between v0.3.2 and v0.3.7.*
#### 2. Expression Variable Renames ⚠️
| Old Variable (v0.3.2) | New Variable (v0.3.7+) |
| :--- | :--- |
| `width` | `screen.width` |
| `height` | `screen.height` |
| `elementWidth` | `this.width` |
| `elementHeight` | `this.height` |
| *(none)* | `parent.width`, `parent.height`, `containerWidth`, `containerHeight` |
#### 3. Recommended Resource Pack Structure Changed
- Old structure used paths like `assets/minecraft/screens/`.
- New standard path is `assets/sirius_ui/screens/`. Texture paths must include the full namespace (e.g. `sirius_ui:textures/...`).
#### 4. Action Enhancements
- `disconnect` and `exit_to_title` now share a unified flow.
- `respawn` logic is more robust.
#### 5. Documentation Overhaul
- The wiki has been restructured from a single page into modular, multi-page documentation with a sidebar.
- A Troubleshooting chapter has been added.
---
### ❌ Removals & Deprecations
- **`type: "gif"` background has been removed.** Migrate all GIF backgrounds to `type: "ppt"`.
- The old `logo` element type is deprecated; use `image` instead.
- **Experimental elements `cycle`, `list`, `catalog` have been temporarily removed.** They are not available in v0.3.7.
- Legacy paths like `assets/minecraft/screens/` are no longer recommended.
---
### 📋 Upgrade Checklist (v0.3.2 → v0.3.7)
1. Rename all `"type": "logo"` elements to `"type": "image"`.
2. Replace all `"type": "gif"` backgrounds with `"type": "ppt"` using the new slideshow syntax.
3. Remove any usage of `cycle`, `list`, and `catalog` elements – they are not supported in this version.
4. Update all coordinate expressions with the new variable names:
- `width` → `screen.width`
- `height` → `screen.height`
- `elementWidth` → `this.width`
- `elementHeight` → `this.height`
5. If using `register.json`, ensure paths point to the new namespaces (e.g. `sirius_ui:screens/...`).
6. Slider configurations (`type: "slider"`) can generally remain, but be aware the feature is still experimental and may change in the future.
7. Verify compatibility with the updated `ScreenRegistry`.
alpha
SIRIUS Ui 0.3.7 Fabric
0.3.72 мая 2026 г.1,5 тыс.Minecraft: 26.1.1, 26.1.2fabric
Что нового
## SIRIUS Ui Changelog: v0.3.2 → v0.3.7
### 🎉 New Features
#### 1. New Background Type: PPT Slideshow (`type: "ppt"`)
- Replaces the removed experimental GIF background with a robust multi-image slideshow.
- Images can be organised into `groups`, each with an independent `playCount` (`-1` for infinite loop).
- Customise group playback order with `playGroups`; use `playAfter` to make a specific group loop forever (e.g. intro sequence followed by a looping main background).
- Each slide can have its own `time` (milliseconds); a global `defaultTime` is used when a slide omits it.
#### 2. Screen Registration (`register.json`)
- File path: `assets/minecraft/alanht/register.json`
- Maps custom screen IDs to JSON layout files, enabling the mod to recognise and open completely new screens.
#### 3. Internationalisation
- The wiki now supports **Simplified Chinese**, **Traditional Chinese**, and **English**, with dark/light theme switching.
---
### 🔧 Changes & Improvements
#### 1. JSON Key Changes ⚠️ (Resource Pack Update Required)
| Old (v0.3.2) | New (v0.3.7) | Notes |
| :--- | :--- | :--- |
| `type: "logo"` | `type: "image"` | Element type for static images renamed to `image`. |
| `type: "cycle"` (experimental) | (removed) | Cycle button element temporarily removed. |
| `type: "list"` (experimental) | (removed) | Scrollable list element temporarily removed. |
| `type: "catalog"` (experimental) | (removed) | Catalog navigation element temporarily removed. |
| `type: "slider"` (experimental) | `type: "slider"` (still experimental) | Slider element retained but remains experimental. |
*Note: Button styles (`button_styles/*.json`) have not changed between v0.3.2 and v0.3.7.*
#### 2. Expression Variable Renames ⚠️
| Old Variable (v0.3.2) | New Variable (v0.3.7+) |
| :--- | :--- |
| `width` | `screen.width` |
| `height` | `screen.height` |
| `elementWidth` | `this.width` |
| `elementHeight` | `this.height` |
| *(none)* | `parent.width`, `parent.height`, `containerWidth`, `containerHeight` |
#### 3. Recommended Resource Pack Structure Changed
- Old structure used paths like `assets/minecraft/screens/`.
- New standard path is `assets/sirius_ui/screens/`. Texture paths must include the full namespace (e.g. `sirius_ui:textures/...`).
#### 4. Action Enhancements
- `disconnect` and `exit_to_title` now share a unified flow.
- `respawn` logic is more robust.
#### 5. Documentation Overhaul
- The wiki has been restructured from a single page into modular, multi-page documentation with a sidebar.
- A Troubleshooting chapter has been added.
---
### ❌ Removals & Deprecations
- **`type: "gif"` background has been removed.** Migrate all GIF backgrounds to `type: "ppt"`.
- The old `logo` element type is deprecated; use `image` instead.
- **Experimental elements `cycle`, `list`, `catalog` have been temporarily removed.** They are not available in v0.3.7.
- Legacy paths like `assets/minecraft/screens/` are no longer recommended.
---
### 📋 Upgrade Checklist (v0.3.2 → v0.3.7)
1. Rename all `"type": "logo"` elements to `"type": "image"`.
2. Replace all `"type": "gif"` backgrounds with `"type": "ppt"` using the new slideshow syntax.
3. Remove any usage of `cycle`, `list`, and `catalog` elements – they are not supported in this version.
4. Update all coordinate expressions with the new variable names:
- `width` → `screen.width`
- `height` → `screen.height`
- `elementWidth` → `this.width`
- `elementHeight` → `this.height`
5. If using `register.json`, ensure paths point to the new namespaces (e.g. `sirius_ui:screens/...`).
6. Slider configurations (`type: "slider"`) can generally remain, but be aware the feature is still experimental and may change in the future.
7. Verify compatibility with the updated `ScreenRegistry`.
alpha
SIRIUS Ui 0.3.7 Fabric
0.3.72 мая 2026 г.51Minecraft: 1.21.1fabric
Что нового
## SIRIUS Ui Changelog: v0.3.2 → v0.3.7
### 🎉 New Features
#### 1. New Background Type: PPT Slideshow (`type: "ppt"`)
- Replaces the removed experimental GIF background with a robust multi-image slideshow.
- Images can be organised into `groups`, each with an independent `playCount` (`-1` for infinite loop).
- Customise group playback order with `playGroups`; use `playAfter` to make a specific group loop forever (e.g. intro sequence followed by a looping main background).
- Each slide can have its own `time` (milliseconds); a global `defaultTime` is used when a slide omits it.
#### 2. Screen Registration (`register.json`)
- File path: `assets/minecraft/alanht/register.json`
- Maps custom screen IDs to JSON layout files, enabling the mod to recognise and open completely new screens.
#### 3. Internationalisation
- The wiki now supports **Simplified Chinese**, **Traditional Chinese**, and **English**, with dark/light theme switching.
---
### 🔧 Changes & Improvements
#### 1. JSON Key Changes ⚠️ (Resource Pack Update Required)
| Old (v0.3.2) | New (v0.3.7) | Notes |
| :--- | :--- | :--- |
| `type: "logo"` | `type: "image"` | Element type for static images renamed to `image`. |
| `type: "cycle"` (experimental) | (removed) | Cycle button element temporarily removed. |
| `type: "list"` (experimental) | (removed) | Scrollable list element temporarily removed. |
| `type: "catalog"` (experimental) | (removed) | Catalog navigation element temporarily removed. |
| `type: "slider"` (experimental) | `type: "slider"` (still experimental) | Slider element retained but remains experimental. |
*Note: Button styles (`button_styles/*.json`) have not changed between v0.3.2 and v0.3.7.*
#### 2. Expression Variable Renames ⚠️
| Old Variable (v0.3.2) | New Variable (v0.3.7+) |
| :--- | :--- |
| `width` | `screen.width` |
| `height` | `screen.height` |
| `elementWidth` | `this.width` |
| `elementHeight` | `this.height` |
| *(none)* | `parent.width`, `parent.height`, `containerWidth`, `containerHeight` |
#### 3. Recommended Resource Pack Structure Changed
- Old structure used paths like `assets/minecraft/screens/`.
- New standard path is `assets/sirius_ui/screens/`. Texture paths must include the full namespace (e.g. `sirius_ui:textures/...`).
#### 4. Action Enhancements
- `disconnect` and `exit_to_title` now share a unified flow.
- `respawn` logic is more robust.
#### 5. Documentation Overhaul
- The wiki has been restructured from a single page into modular, multi-page documentation with a sidebar.
- A Troubleshooting chapter has been added.
---
### ❌ Removals & Deprecations
- **`type: "gif"` background has been removed.** Migrate all GIF backgrounds to `type: "ppt"`.
- The old `logo` element type is deprecated; use `image` instead.
- **Experimental elements `cycle`, `list`, `catalog` have been temporarily removed.** They are not available in v0.3.7.
- Legacy paths like `assets/minecraft/screens/` are no longer recommended.
---
### 📋 Upgrade Checklist (v0.3.2 → v0.3.7)
1. Rename all `"type": "logo"` elements to `"type": "image"`.
2. Replace all `"type": "gif"` backgrounds with `"type": "ppt"` using the new slideshow syntax.
3. Remove any usage of `cycle`, `list`, and `catalog` elements – they are not supported in this version.
4. Update all coordinate expressions with the new variable names:
- `width` → `screen.width`
- `height` → `screen.height`
- `elementWidth` → `this.width`
- `elementHeight` → `this.height`
5. If using `register.json`, ensure paths point to the new namespaces (e.g. `sirius_ui:screens/...`).
6. Slider configurations (`type: "slider"`) can generally remain, but be aware the feature is still experimental and may change in the future.
7. Verify compatibility with the updated `ScreenRegistry`.
alpha
SIRIUS Ui 0.3.2 [Minecraft 1.21.6&1.21.7&1.21.8]
0.3.219 апр. 2026 г.343Minecraft: 1.21.6, 1.21.7, 1.21.8fabric
Что нового
## ✨ New Features
- Slider element (type: "slider")
> Bind to numeric game options (fov, mouseSensitivity, soundVolume, musicVolume, etc.) with customizable track and handle textures.
- Cycle element (type: "cycle")
> Toggle through enumerated options (graphicsMode, cloudStatus, particles, chatVisibility, narrator, mainHand, etc.) with left/right arrow textures.
- List element (type: "list")
> Scrollable container with automatic vertical layout. Supports any child elements and panel switching via switch_panel action.
- Catalog element (type: "catalog")
> Navigation menu for settings screens. Click items to switch content panels, with optional selected highlight style.
- Panel switching action (type: "switch_panel")
> Dynamically replace list content at runtime. Specify target list ID and new content definition file.
- Automatic layout system
> Child elements in lists/catalogs can omit position.y – they stack vertically with configurable item_spacing and padding.
- Slider & Cycle style files
> Separate JSON style definitions for slider (track/handle textures) and cycle (background/arrow textures).
## 🔧 Improvements
- Expression system extended
> Added containerWidth and containerHeight variables for child elements inside containers.
- Internal rendering optimizations
> Updated to Minecraft 1.21.x & 26.1 .
- Action system enhancements
> All actions now work consistently across all supported screens.
## 🐛 Fixes
- Fixed ResourceLocation construction issues in mixins.
- Fixed mouse event forwarding for scrollable containers.
- Fixed graphics matrix push/pop method name changes.
## ⚠️ Notes
- Slider and cycle styles must be placed in slider_styles/ and cycle_styles/ folders respectively.
- List content files go in panels/ directory; catalog definitions in catalogs/.
- Use switch_panel with target (list element ID) and content (panel definition identifier).
- Press F3+T to reload resource packs after making JSON changes.


![Gameplay selection interface [ 0.2 ]](https://cdn.modrinth.com/data/qE8FcmJP/images/a0d2f9f95b43f29b5eb27e64c5628c6e2723e092_350.webp)