Cardinal Components API
by Ladysnake
Cardinal Components API gives other mods a way to attach custom data to vanilla objects such as players, worlds and chunks, and saves that data with the world.
What it does
Mods built on the library can add their own data to classes like entities, block entities, levels and item stacks without editing those classes directly. A component is declared once and can be attached to any supported target. Data from every mod using the library is written to the save automatically, so it persists across restarts and reloads.
The library also covers synchronization between server and clients through a single helper interface, control over what happens to a component's data at respawn, and optional ticking so a component updates together with its target. Server owners can tune these behaviors per component. Cardinal Components API is open source under the MIT License and is published for Fabric and Quilt across 32 release versions, with snapshot builds included. The server must run it, while clients may leave it out.
Key features
Data on vanilla classes
Components can be attached to a range of vanilla classes, so new data does not require changes to the target code.
Automatic saving
Component data from any mod using the library is saved with the world, with no separate save code needed.
Synchronized state
A single helper interface keeps component values in step between the server and connected clients.
Respawn copying rules
Each component can choose how its data is copied when a player respawns, for example keeping or resetting it.
Ticking with the target
Components can tick alongside the object they belong to, and the ticking can be turned off where it is not needed.
Compatibility
Latest build for each game version and loader.
26.x5 of 5 versions with builds
1.21.x12 of 12 versions with builds
1.20.x7 of 7 versions with builds
1.19.x5 of 5 versions with builds
1.18.x3 of 3 versions with builds
This mod also publishes snapshot builds. Snapshots are not shown in the matrix.
Required by 118 mods
Use cases
Mod data persistence
A mod that stores per-player or per-world values can register them as components instead of writing its own save format.
Synchronized server state
A server-side feature that clients must display can push component values to them through the shared helper interface.
Who it’s for: Mod developers who need to store custom data on vanilla objects, and server owners who run mods that depend on the library.
How it compares
Sparkweave Engine is not open source, is published for Fabric, NeoForge and Quilt across 1.20.1 – 26.1.2, and works on either side, and neither needs it. Simple block data is open source under CC0 1.0 Universal, is Quilt-only for 1.20.1 – 1.20.4 and runs server-side only.
| Mod | Loaders | Game versions | Environment | Updated |
|---|---|---|---|---|
| Cardinal Components API | Fabric and Quilt | 1.18 – 26.3 | Server required, client optional | 2026-09-17 |
| Sparkweave Engine | Fabric, NeoForge and Quilt | 1.20.1 – 26.1.2 | Client or server, optional | 2026-10-11 |
| Simple block data | Quilt | 1.20.1 – 1.20.4 | Server-side only | 2024-06-25 |
Questions
Does Cardinal Components API need to be installed on the server?
Which loaders does Cardinal Components API support?
Which mods require Cardinal Components API?
Can snapshot builds of the library be used with snapshot versions?
In the catalog
Cardinal Components API is one of 3,514 Library mods on ModsFinder, and one of 2,348 Library mods for Fabric. 8,071 mods support Minecraft 26.3.
More from Ladysnake
Similar mods
What the author says
Detailed information is available in the repository's wiki. The information below is a condensed form of the latter. *\*Non exhaustive, refer to the wiki and javadoc for the full list.*
Official listing
- Modrinth page
- modrinth.com/mod/cardinal-components-api
- Owner
- Ladysnake
- Published
- 2022-01-26
- Updated on Modrinth
- 2026-09-17
- Facts verified
- 2026-10-15
