Cardinal Components API is a Quilt and Fabric library that allows Minecraft mods to attach custom data to game objects in the form of components. Its goals are to offer an accessible API that is just as fast as direct mixins attachments, as well as to promote interoperability between mods using it.
For a short description and associated examples, see the repository’s README.
This section contains instructions for getting Cardinal Components API running in your instance, either as a developer or as a user.
This section contains explanations and examples for the library’s basic concepts.
This section contains documentation for advanced features, which may not be needed by most mods.
This section regroups detailed information on each module. Note that more information is available for API classes in the form of Javadoc.
These modules are not specific to a type of provider, and contain interfaces and helpers that can be used with any other module.
The core of Cardinal Components, required by every other module to function. It needs to be added to any development environment that makes use of the library.
module ref: cardinal-components-base
A collection of utilities for interacting with components as well as making your own component providers.
module ref: cardinal-components-util
Those modules hook into existing Minecraft classes so that you can use them as component providers. They also contain some helpers for common use cases with those specific providers.
Allows attaching components to any Entity
, with filtering based on entity class and helpers for player data.
module ref: cardinal-components-entity
Allows attaching components to any ItemStack
, with filtering based on the Item
.
module ref: cardinal-components-item
Allows attaching components to both server and client World
s.
module ref: cardinal-components-world
Allows attaching components to WorldProperties
, effectively used for global data storage.
module ref: cardinal-components-level
Allows attaching components to Scoreboard
s and Team
s. Can be used for global data storage.
module ref: cardinal-components-scoreboard
Allows attaching components to Chunk
s.
module ref: cardinal-components-chunk
Provides helpers and interfaces for attaching components to custom blocks and block entities.
module ref: cardinal-components-block