InGame Info Reborn

InGame Info Reborn

In-game HUDs and GUIs done with structure — reactive, declarative, composable, and built to handle the rest.

by
415 Downloads
forgelibrary
Rent Server with this Mod

About this Mod

InGame Info Reborn

"In-game HUDs and GUIs done with structure — reactive, declarative, composable, and built to handle the rest."


Versions
Downloads
Downloads

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.

Snipaste_2025-01-12_12-53-07
(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].jar is the mod file

Credits

Available Versions

ingameinfo-1.2.3release
MC 1.12.2forge
August 22, 2025
ingameinfo-1.2.2release
MC 1.12.2forge
July 25, 2025
ingameinfo-1.2.1release
MC 1.12.2forge
July 17, 2025
ingameinfo-1.2.0release
MC 1.12.2forge
July 13, 2025
ingameinfo-1.1.0release
MC 1.12.2forge
April 14, 2025

How to Install InGame Info Reborn on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set forge Loader

In the panel under "Egg", select the forge loader and matching Minecraft version (1.12.2).

3

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

forge

Minecraft Versions

1.12.2

Server-side

Required

Recommended 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.

Rent Modded Server

Install InGame Info Reborn with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Required

Supported Versions

1.12.2