{"id":21894786,"url":"https://github.com/tttsaurus/ingame-info-reborn","last_synced_at":"2025-08-15T15:09:18.898Z","repository":{"id":264227165,"uuid":"892458010","full_name":"tttsaurus/Ingame-Info-Reborn","owner":"tttsaurus","description":"Inspired by InGame-Info-XML and it's bringing more modular controls and layouts to hud and also mvvm architecture","archived":false,"fork":false,"pushed_at":"2025-01-19T16:33:38.000Z","size":352,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-19T17:38:01.472Z","etag":null,"topics":["crafttweaker","forge","ingameinfo","minecraft","minecraft-mod","minecraft112"],"latest_commit_sha":null,"homepage":"https://www.curseforge.com/minecraft/mc-mods/ingame-info-reborn","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tttsaurus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-22T06:34:36.000Z","updated_at":"2025-01-19T16:33:39.000Z","dependencies_parsed_at":"2024-12-08T18:23:09.550Z","dependency_job_id":"c2abf675-ad3a-41f4-bbce-a4691c62d6db","html_url":"https://github.com/tttsaurus/Ingame-Info-Reborn","commit_stats":null,"previous_names":["tttsaurus/ingame-info-reborn"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tttsaurus%2FIngame-Info-Reborn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tttsaurus%2FIngame-Info-Reborn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tttsaurus%2FIngame-Info-Reborn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tttsaurus%2FIngame-Info-Reborn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tttsaurus","download_url":"https://codeload.github.com/tttsaurus/Ingame-Info-Reborn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235801914,"owners_count":19047128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crafttweaker","forge","ingameinfo","minecraft","minecraft-mod","minecraft112"],"created_at":"2024-11-28T13:28:30.302Z","updated_at":"2025-08-15T15:09:18.885Z","avatar_url":"https://github.com/tttsaurus.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"logo.png\" alt=\"InGame Info Reborn\" width=\"300\"/\u003e\n  \u003ch1\u003eInGame Info Reborn\u003c/h1\u003e\n  \u003cp\u003e\"In-game HUDs and GUIs done with structure — reactive, declarative, composable, and built to handle the rest.\"\u003c/p\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n[![Versions](https://img.shields.io/curseforge/game-versions/1171541?logo=curseforge\u0026label=Game%20Version)](https://www.curseforge.com/minecraft/mc-mods/ingame-info-reborn)\n[![Downloads](https://img.shields.io/curseforge/dt/1171541?logo=curseforge\u0026label=Downloads)](https://www.curseforge.com/minecraft/mc-mods/ingame-info-reborn)\n[![Downloads](https://img.shields.io/modrinth/dt/ingame-info-reborn?logo=modrinth\u0026label=Downloads)](https://modrinth.com/mod/ingame-info-reborn)\n[![CodeFactor](https://www.codefactor.io/repository/github/tttsaurus/ingame-info-reborn/badge)](https://www.codefactor.io/repository/github/tttsaurus/ingame-info-reborn)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/6f3ca5da261d410c8eb9479de9457372)](https://app.codacy.com/gh/tttsaurus/Ingame-Info-Reborn/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n\nThis is a _Work-In-Progress_ spiritual successor of [InGame-Info-XML](https://github.com/Lunatrius/InGame-Info-XML), **not a fork**.\nIf you like this project, don't forget to give it a star⭐!\n\nSuggestions/PRs are welcome\n\n## Overview\nThis is a library mod that helps you to create in-game overlaid (or focused) GUI with ease.\n\n![Snipaste_2025-01-12_12-53-07](https://github.com/user-attachments/assets/581f0727-bba8-4ff5-9780-8fdbfaf587fd)\n(Nothing will pop up with the default configuration!)\n\n### Architectural Modules Chart\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to Expand\u003c/summary\u003e\n\n| Module                                   | Role                                                             | Status         |\n|------------------------------------------|------------------------------------------------------------------|----------------|\n| **MVVM Base**                            | Separates logic (ViewModel) from rendering (View)                | ✅ Done         |\n| **XAML-Style DSL For View**              | Declarative XAML-style layout to build static UI trees           | ✅ Done         |\n| **Reactive Binding**                     | View reacts to changes in ViewModel automatically                | ✅ Done         |\n| **Compose (Injected via Slot)**          | Immediate-mode UI embedded in ViewModel                          | ⚠️ Partially   |\n| **Snapshot Diffing**                     | Virtual tree diffing for Compose-based UI                        | ✅ Done         |\n| **Shared Context**                       | Shared runtime context between ViewModel and Compose blocks      | ✅ Done         |\n| **DOM-Like Event System**                | Input propagation and event capturing/bubbling                   | ✅ Done         |\n| **Interactable Control**                 | Captures input, intercepts propagation (works with Event System) | ✅ Done         |\n| **Fixed / Render Update**                | Dual update loop for logic vs render                             | ✅ Done         |\n| **Annotation Driven Auto-Interpolation** | Utility for smooth interpolation during render updates           | ✅ Done         |\n| **Render Op Queue**                      | Abstract draw commands for controls                              | ✅ Done         |\n| **UI Decoration**                        | Draw custom visuals on existing controls                         | ✅ Mostly Done  |\n| **Transition API**                       | Externally trigger view transitions                              | 🚧 Planned     |\n| **Theme Manager**                        | Global theme system (colors, font scale, etc)                    | ✅ Mostly Done  |\n| **Modal Layer**                          | Stack-based modal / dialog system                                | 🚧 Planned     |\n\n\u003c/details\u003e\n\n### Example\n```xml\n\u003cVerticalGroup\u003e\n    \u003cText uid = \"fps\"\u003e\n    ...\n\u003c/Group\u003e\n```\n```java\n// snippet from View and ViewModel classes\n@Reactive(targetUid = \"fps\", property = \"text\", initiativeSync = true)\npublic ReactiveObject\u003cString\u003e fpsText = new ReactiveObject\u003c\u003e(){};\n\nEventCenter.gameFpsEvent.addListener((fps) -\u003e\n{\n    fpsText.set(\"FPS: \" + fps);\n});\n```\n```java\n// registration entry point\n@SubscribeEvent\npublic static void onIgiRuntimeEntryPoint(IgiRuntimeEntryPointEvent event)\n{\n    event.runtime.initPhase\n            .registerMvvm(\"example\", ExampleViewModel.class)\n            .openGuiOnStartup(\"example\");\n}\n```\n\n## Wiki\n- [WIP Wiki](https://tttsaurus.github.io/Ingame-Info-Reborn-Wiki/)\n\n## Implementation Todo List / Overview\n\u003cdetails\u003e\n\u003csummary\u003eClick to Expand\u003c/summary\u003e\n\n_**Currently working on the architecture.**_\u003cbr\u003e\n_**Not adding controls or QoL updates.**_\n\nMy Detailed Todo List:\n- https://trello.com/b/MTLHeyGn/ingameinfo\n\nImplementation Overview:\n- Add framebuffer to the GUI rendering life cycle (✔)\n- Introduce a custom GUI container (✔)\n- Maintain a list of GUI containers so that GUIs can stack together (✔)\n- A GUI container can be ingame-overlaid/focused (runtime switchable) (✔)\n- Introduce feature-rich GUI layout\n  - Pivot (✔)\n  - Alignment (✔)\n  - Padding (✔)\n  - Horizontal Group (stack elements horizontally) (✔)\n  - Vertical Group (stack elements vertically) (✔)\n  - Sized Group (✔)\n  - Nesting Groups (group in group) (✔)\n  - Adaptive Group (fit elements into it adaptively)\n  - Foldout Group\n  - Draggable Group\n- Add controls like text, button, input field, etc.\n  - Text (✔)\n  - Sliding Text (✔)\n  - Anim Text (✔)\n  - Button (✔)\n  - Checkbox\n  - Input Field\n  - Image (✔)\n  - Url Image (✔)\n  - GIF\n  - Slide Bar\n  - Progress Bar (✔)\n  - Item (✔)\n- Add CrT/Zenscript support (✔)\n- Ingame spotify support (go to wiki for details) (✔)\n\n\u003c/details\u003e\n\n## Latest Build\nIn case you want to use the latest action build\n- Go to [GitHub Actions](https://github.com/tttsaurus/Ingame-Info-Reborn/actions)\n- Click on the latest workflow\n- Scroll down to the bottom and download the `Artifacts`\n- Unzip and `ingameinfo-[version].jar` is the mod file\n\n## Credits\n- Created using [GregTechCEu's Buildscripts](https://github.com/GregTechCEu/Buildscripts)\n- Inspired by [InGame-Info-XML](https://github.com/Lunatrius/InGame-Info-XML)\n- Bundled [Configurate](https://github.com/SpongePowered/Configurate) licensed under Apache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftttsaurus%2Fingame-info-reborn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftttsaurus%2Fingame-info-reborn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftttsaurus%2Fingame-info-reborn/lists"}