
SIRIUS Ui
Json UI Engine for Minecraft Java Edition
- Загрузки
- 167K
- Подписчики
- 210
- Обновлён
- 9 августа 2026 г.
- Лицензия
- HaoTianA-License-1.0
Опубликован 30 апреля 2025 г.
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
Ченджлог
0.4.87-Dev.65Альфа1.21.1 · 9 августа 2026 г.
- 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.
0.4.87-Dev.65Альфа1.20.1 · 9 августа 2026 г.
- 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.
0.4.86-Dev.64Альфа1.21.1 · 14 июля 2026 г.
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
Elementclass to an interface-basedWidgetcomponent architecture. Addedwidget/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
- Basic:
- 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
WidgetFactoryfor unified JSON → Widget construction
New Features
- Entity display: Added
EntityDisplayWidgetwithFakePlayer/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 withServerListDataSource,WorldSaveDataSource,RealmsDataSource,PackDataSource - Animation system: Added
AnimationSteprecord, 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
LivingEntityRendererMixinto 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.jsonas the baseline
0.3.8Альфа1.21.1 · 4 мая 2026 г.
- 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.
0.3.8Альфа1.21.1 · 4 мая 2026 г.
- 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.
0.3.7Альфа26.1.2 · 3 мая 2026 г.
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 independentplayCount(-1for infinite loop). - Customise group playback order with
playGroups; useplayAfterto 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 globaldefaultTimeis 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
disconnectandexit_to_titlenow share a unified flow.respawnlogic 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 totype: "ppt".- The old
logoelement type is deprecated; useimageinstead. - Experimental elements
cycle,list,cataloghave 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)
- Rename all
"type": "logo"elements to"type": "image". - Replace all
"type": "gif"backgrounds with"type": "ppt"using the new slideshow syntax. - Remove any usage of
cycle,list, andcatalogelements – they are not supported in this version. - Update all coordinate expressions with the new variable names:
width→screen.widthheight→screen.heightelementWidth→this.widthelementHeight→this.height
- If using
register.json, ensure paths point to the new namespaces (e.g.sirius_ui:screens/...). - Slider configurations (
type: "slider") can generally remain, but be aware the feature is still experimental and may change in the future. - Verify compatibility with the updated
ScreenRegistry.
0.3.7Альфа1.21.1 · 3 мая 2026 г.
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 independentplayCount(-1for infinite loop). - Customise group playback order with
playGroups; useplayAfterto 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 globaldefaultTimeis 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
disconnectandexit_to_titlenow share a unified flow.respawnlogic 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 totype: "ppt".- The old
logoelement type is deprecated; useimageinstead. - Experimental elements
cycle,list,cataloghave 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)
- Rename all
"type": "logo"elements to"type": "image". - Replace all
"type": "gif"backgrounds with"type": "ppt"using the new slideshow syntax. - Remove any usage of
cycle,list, andcatalogelements – they are not supported in this version. - Update all coordinate expressions with the new variable names:
width→screen.widthheight→screen.heightelementWidth→this.widthelementHeight→this.height
- If using
register.json, ensure paths point to the new namespaces (e.g.sirius_ui:screens/...). - Slider configurations (
type: "slider") can generally remain, but be aware the feature is still experimental and may change in the future. - Verify compatibility with the updated
ScreenRegistry.
0.3.7Альфа26.1.1, 26.1.2 · 2 мая 2026 г.
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 independentplayCount(-1for infinite loop). - Customise group playback order with
playGroups; useplayAfterto 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 globaldefaultTimeis 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
disconnectandexit_to_titlenow share a unified flow.respawnlogic 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 totype: "ppt".- The old
logoelement type is deprecated; useimageinstead. - Experimental elements
cycle,list,cataloghave 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)
- Rename all
"type": "logo"elements to"type": "image". - Replace all
"type": "gif"backgrounds with"type": "ppt"using the new slideshow syntax. - Remove any usage of
cycle,list, andcatalogelements – they are not supported in this version. - Update all coordinate expressions with the new variable names:
width→screen.widthheight→screen.heightelementWidth→this.widthelementHeight→this.height
- If using
register.json, ensure paths point to the new namespaces (e.g.sirius_ui:screens/...). - Slider configurations (
type: "slider") can generally remain, but be aware the feature is still experimental and may change in the future. - Verify compatibility with the updated
ScreenRegistry.
Комментарии
Загружаем…
