Componency
by deftu
Componency is a client-side library for building declarative graphical user interfaces in Kotlin, and it also supports Java.
What it does
Componency lets a mod author describe a user interface as a tree of components instead of placing each element by hand. Its design draws on Elementa, Figma's naming conventions and the DSL style of Ktor, and the library is built for Kotlin first, with examples showing how to call it from Java. Javadoc and example code are part of the project.
The library works through an engine that supplies it with data and gives it access to rendering. Componency can run on the LWJGL 3 backed rendering path, and a version-only loader forces Minecraft to use LWJGL 3 so that NanoVG and STB are available on legacy game versions. Additional setup instructions for tweakers appear inside the class files themselves.
Files are published for Fabric, Forge and NeoForge, on 1.8.9 – 1.21 across 12 release versions. It is installed on the player's side alone, so servers need nothing. Componency is released under the GNU Lesser General Public License v3.0 or later and is open source, with public source code and an issue tracker.
Key features
Component-tree layouts
Interfaces are described as a tree of components, so the layout reads as nested structure rather than as calls that place each element.
Kotlin-first API
The library is written for Kotlin, and the project includes examples that show how a Java mod can use it as well.
Two rendering paths
The engine can use both rendering approaches, and Componency is wired to the engine so that UI code stays the same.
Legacy version support
Setup on older game versions loads LWJGL 3 through a dependency management tweaker, so NanoVG and STB are available there.
Compatibility
Latest build for each game version and loader.
1.21.x1 of 1 version with builds
1.20.x4 of 4 versions with builds
1.19.x2 of 2 versions with builds
1.18.x1 of 1 version with builds
1.17.x1 of 1 version with builds
1.16.x1 of 1 version with builds
1.12.x1 of 1 version with builds
1.8.x1 of 1 version with builds
Only full game releases are shown. This mod publishes no snapshot builds.
Requirements
Dependencies declared by the latest file for each loader.
Required 3
How it compares
Ekho is a Fabric-only library from version 1.17, released under the GNU Lesser General Public License v3.0 only and open source, and it works on either side, and neither needs it. Aegis is a Fabric server-side only mod for 1.16.5 – 1.17.1, licensed under the Mozilla Public License 2.0 and open source, so it runs on the server alone. Componency is client-side only, runs on Fabric, Forge and NeoForge, and covers 1.8.9 – 1.21.
| Mod | Loaders | Game versions | Environment | Updated |
|---|---|---|---|---|
| Componency | Fabric, Forge and NeoForge | 1.8.9 – 1.21 | Client-side only | 2024-08-27 |
| Ekho | Fabric | 1.17 | Client or server, optional | 2021-06-16 |
| Aegis | Fabric | 1.16.5 – 1.17.1 | Server-side only | 2021-08-11 |
Questions
Does Componency need Fabric Language Kotlin on Fabric?
Does a server need Componency installed?
Which game version is the newest build for?
In the catalog
Componency is one of 3,514 Library mods on ModsFinder, and one of 2,348 Library mods for Fabric. 15,770 mods support Minecraft 1.21.
More from deftu
Similar mods
What the author says
Componency is roughly based on 3 other things: - Elementa's design - Figma's naming conventions - Ktor's DSL design I used concepts taken from all 3 of these projects to create a simple, declarative UI library that can be used in any environment.
Official listing
- Modrinth page
- modrinth.com/mod/componency
- Owner
- deftu
- Published
- 2023-12-24
- Updated on Modrinth
- 2024-08-27
- Facts verified
- 2026-10-15
