
InGame Info Reborn
In-game HUDs and GUIs done with structure — reactive, declarative, composable, and built to handle the rest.
About this Mod
InGame Info Reborn
"In-game HUDs and GUIs done with structure — reactive, declarative, composable, and built to handle the rest."
This is a Work-In-Progress spiritual successor of InGame-Info-XML, not a fork.
If you like this project, don't forget to give it a star⭐!
Suggestions/PRs are welcome
Overview
This is a library mod that helps you to create in-game overlaid (or focused) GUI with ease.
(Nothing will pop up with the default configuration!)
Architectural Modules Chart
Click to Expand
| 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 |
| Transition API | Externally trigger view transitions | 🚧 Planned |
| Theme Manager | Global theme system (colors, font scale, etc) | ✅ Mostly Done |
| Modal Layer | Stack-based modal / dialog system | 🚧 Planned |
Example
<VerticalGroup>
<Text uid = "fps">
...
</Group>
// snippet from View and ViewModel classes
@Reactive(targetUid = "fps", property = "text", initiativeSync = true)
public ReactiveObject<String> fpsText = new ReactiveObject<>(){};
EventCenter.gameFpsEvent.addListener((fps) ->
{
fpsText.set("FPS: " + fps);
});
// registration entry point
@SubscribeEvent
public static void onIgiRuntimeEntryPoint(IgiRuntimeEntryPointEvent event)
{
event.runtime.initPhase
.registerMvvm("example", ExampleViewModel.class)
.openGuiOnStartup("example");
}
Wiki
Implementation Todo List / Overview
Click to Expand
Currently working on the architecture.
Not adding controls or QoL updates.
My Detailed Todo List:
Implementation Overview:
- Add framebuffer to the GUI rendering life cycle (✔)
- Introduce a custom GUI container (✔)
- Maintain a list of GUI containers so that GUIs can stack together (✔)
- A GUI container can be ingame-overlaid/focused (runtime switchable) (✔)
- Introduce feature-rich GUI layout
- Pivot (✔)
- Alignment (✔)
- Padding (✔)
- Horizontal Group (stack elements horizontally) (✔)
- Vertical Group (stack elements vertically) (✔)
- Sized Group (✔)
- Nesting Groups (group in group) (✔)
- Adaptive Group (fit elements into it adaptively)
- Foldout Group
- Draggable Group
- Add controls like text, button, input field, etc.
- Text (✔)
- Sliding Text (✔)
- Anim Text (✔)
- Button (✔)
- Checkbox
- Input Field
- Image (✔)
- Url Image (✔)
- GIF
- Slide Bar
- Progress Bar (✔)
- Item (✔)
- Add CrT/Zenscript support (✔)
- Ingame spotify support (go to wiki for details) (✔)
Latest Build
In case you want to use the latest action build
- Go to GitHub Actions
- Click on the latest workflow
- Scroll down to the bottom and download the
Artifacts - Unzip and
ingameinfo-[version].jaris the mod file
Credits
- Created using GregTechCEu's Buildscripts
- Inspired by InGame-Info-XML
- Bundled Configurate licensed under Apache-2.0
Available Versions
How to Install InGame Info Reborn on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set forge Loader
In the panel under "Egg", select the forge loader and matching Minecraft version (1.12.2).
Install Mod
Open the mod browser in the dashboard and search for "InGame Info Reborn". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.12.2
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
InGame Info Reborn server crashes on startup – what to do?
Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.12.2). You can switch loaders with one click in the panel.
Is InGame Info Reborn compatible with forge?
InGame Info Reborn officially supports forge for Minecraft 1.12.2. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with InGame Info Reborn – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if InGame Info Reborn consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install InGame Info Reborn with just one click on your server.