Tags
Creators
Details
Licensed MIT
Published 2 years ago
Updated last year
All versions
1.2.0
Release
ingameinfo-1.2.0last year 37
Compatibility
Minecraft: Java Edition
1.12.2
Platform
Forge
Supported environments
Client and server
Required content
Any compatible version
Changes
This version includes breaking changes!
Changes
- Fixed a potential AnimTextRenderer crash
- Implemented a theme manager using
configurate-hocon - Migrated magic UI constants to themes
- Added vanilla style background and button
- Added more texture rendering abstraction
- Better
ReactiveObjectcallback handling - Added
ReactiveCollection - Added
Slotto MVVM - Added
ComposeBlock. You can now inject immediate-mode Compose-style UI to MVVM viaSlot - Virtual tree diffing for Compose UI recomposing
- Added
RenderOpand deferred UI rendering instructions architecture - Added render update interpolation pipeline
- Implemented render update interpolation for
SlidingTextandAnimText - Added
SharedContextforViewModelandComposeBlockto communicate - Added ZenScript util classes
- Added DOM-like event system including input propagation and so on
- Migrated to new UI event system
- Improved
GuiResourcesas a texture resource manager - Added UI rendering decoration pipeline
- Added a bunch of visual commands for that decoration pipeline
- Better UI element registry info logging on startup - a markdown file will be created
- Added
fluxloadingcompat - not to run lifecycle during loading - Refactor forge events
- Added
GuiLifecycleHolder&GuiLifecycleProviderpipeline - Added
IgiRuntimeto unify entry point - General fixes + refactor + cleanup
Current Architectural Modules Chart
| Module | Role | Status |
|---|---|---|
| MVVM Base | Separates logic (ViewModel) from rendering (View) | ✅ Done |
| XAML-Style DSL For View | Declarative XAML-style layout to build static UI trees | ✅ Done |
| Reactive Binding | View reacts to changes in ViewModel automatically | ✅ Done |
| Compose (Injected via Slot) | Immediate-mode UI embedded in ViewModel | ⚠️ Partially |
| Snapshot Diffing | Virtual tree diffing for Compose-based UI | ✅ Done |
| Shared Context | Shared runtime context between ViewModel and Compose blocks | ✅ Done |
| DOM-Like Event System | Input propagation and event capturing/bubbling | ✅ Done |
| Interactable Control | Captures input, intercepts propagation (works with Event System) | ✅ Done |
| Fixed / Render Update | Dual update loop for logic vs render | ✅ Done |
| Annotation Driven Auto-Interpolation | Utility for smooth interpolation during render updates | ✅ Done |
| Render Op Queue | Abstract draw commands for controls | ✅ Done |
| UI Decoration | Draw custom visuals on existing controls | ✅ Mostly Done |
| Theme Manager | Global theme system (colors, font scale, etc) | ✅ Mostly Done |
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:zQjfEq4F:jmnCFaqD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:zQjfEq4F:jmnCFaqD"
}

