## 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`.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }