Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Cardinal Components API

Cardinal Components API

A data attachment API that is easy, modular, and extremely fast.

8.96M
978
Library

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.x
1.18.x

Platforms

Fabric
Quilt

Supported environments

Server-side
Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server
Donate on Ko-fi

Creators

Ladysnake
LadysnakeOrganization

Up
Up Former Author
Pyrofab
Pyrofab Maintainer

Details

Licensed MIT
Published 3 years ago
Updated 4 days ago
DescriptionChangelogVersions

Show all versions

1
2

6.0.0-beta.2

by Pyrofab on Apr 26, 2024
Download

Version 6.0.0:

Updated to 1.20.5

This update introduces multiple breaking changes - a migration guide is available on the Ladysnake website.

Beta 2

Changes

  • All the serialization methods now take an additional registry lookup argument
    • Relevant migration guide
  • Warning: due to the above change, level components may not be deserialized correctly if a mod calls LevelProperties.readProperties instead of LevelStorage.parseSaveProperties

Removals

  • The deprecated util package in cardinal-components-block has been removed

Beta 1

Additions

  • Added C2SSelfMessagingComponent, a new experimental utility interface to simplify client-to-server messaging on player components
  • Added WorldComponentRegistry#registerFor methods, allowing for dimension-specific world components
  • Scoreboard and team components now support client ticking

Changes

  • Migrated all packages from dev.onyxstudios to org.ladysnake
  • Updated documentation and licenses to reflect package change
  • RespawnCopyStrategy now also applies on mob conversion
  • The cardinal-components-level is now deprecated, as it is redundant with the cardinal-components-scoreboard module
    • Mods are encouraged to move to scoreboard components, which serve the same purpose of global data storage and have an API more consistent with other modules

Removals

  • Removed item components. The cardinal-components-item module now contains an ItemComponentMigrationRegistry, which is used to help you migrate to vanilla components.
  • Removed PlayerCopyCallback - if you were using it, you can switch to ServerPlayerEvents.COPY_FROM from Fabric API

see full changelog here

6.0.0-beta.1

by Pyrofab on Apr 19, 2024
Download

Version 6.0.0:

Updated to 1.20.5

This update introduces multiple breaking changes - a migration guide is available on the Ladysnake website.

Additions

  • Added C2SSelfMessagingComponent, a new experimental utility interface to simplify client-to-server messaging on player components
  • Added WorldComponentRegistry#registerFor methods, allowing for dimension-specific world components
  • Scoreboard and team components now support client ticking

Changes

  • Migrated all packages from dev.onyxstudios to org.ladysnake
  • Updated documentation and licenses to reflect package change
  • RespawnCopyStrategy now also applies on mob conversion
  • The cardinal-components-level is now deprecated, as it is redundant with the cardinal-components-scoreboard module
    • Mods are encouraged to move to scoreboard components, which serve the same purpose of global data storage and have an API more consistent with other modules

Removals

  • Removed item components. The cardinal-components-item module now contains an ItemComponentMigrationRegistry, which is used to help you migrate to vanilla components.
  • Removed PlayerCopyCallback - if you were using it, you can switch to ServerPlayerEvents.COPY_FROM from Fabric API

see full changelog here

5.4.0

by Pyrofab on Nov 29, 2023
Download

Version 5.4.0:

Updated to 1.20.3

see full changelog here

5.3.0

by Pyrofab on Sep 10, 2023
Download

Version 5.3.0:

Updated to 1.20.2

Additions

  • Added load- and unload-aware components as an experimental feature
    • This can be used to implement advanced initialization and cleanup 🧽

Changes

  • Deprecated the utils package in cardinal-components-block as it is now virtually unusable

see full changelog here

5.2.2

by Pyrofab on Aug 3, 2023
Download

Version 5.2.2:

Fixed chunk components being lost during deserialization (thanks to Stuff-Stuffs !)

see full changelog [here](https://github.com//Cardinal Components Api/blob/5.2.2/changelog.md "Changelog")

5.2.1

by Pyrofab on Jun 9, 2023
Download

Version 5.2.1:

Fixed compatibility with full 1.20 release

see full changelog here

5.2.0

by Pyrofab on May 26, 2023
Download

Version 5.2.0:

Updated to MC 1.20 (Thanks to IMS !)

see full changelog here

5.1.0

by Pyrofab on Dec 10, 2022
Download

Version 5.1.0:

Updated to MC 1.19.3

see full changelog here

5.0.2

by Pyrofab on Aug 27, 2022
Download

Version 5.0.2:

  • Fix world components not synchronizing on load

see full changelog here

5.0.1

by Pyrofab on Jul 3, 2022
Download

Version 5.0.1:

Fixes

  • Fixed components ticking only on subclasses of the block entities they were declared for (e.g. if a ticking component got attached to ChestBlockEntity, it would only tick on TrappedChestBlockEntity)

see full changelog here

5.0.0

by Pyrofab on Jul 2, 2022
Download

Version 5.0.0:

Updated to MC 1.19

Additions

  • Component providers now expose the ComponentAccess interface through Loom's interface injection
    • ComponentAccess adds getComponent as an alternative to ComponentKey#get, and syncComponent as an alternative to ComponentKey#sync
    • It is now recommended to use e.g. entity.getComponent(KEY) instead of KEY.get(entity), as this enforces type checking

see full changelog here

4.2.0

by Pyrofab on Jul 2, 2022
Download

Version 4.2.0:

Additions

  • Players can now set the log-deserialization-warnings option to toggle warnings when a component fails to be resolved (typically due to mods being removed)

Mod Compatibility

  • Fixed incompatibility with Immersive Portals

see full changelog here

5.0.0-beta.1

by Pyrofab on May 22, 2022
Download

Version 5.0.0:

Updated to MC 1.19

Additions

  • Component providers now expose the ComponentAccess interface through Loom's interface injection
    • ComponentAccess adds getComponent as an alternative to ComponentKey#get, and syncComponent as an alternative to ComponentKey#sync
    • It is now recommended to use e.g. entity.getComponent(KEY) instead of KEY.get(entity), as this enforces type checking

see full changelog here

4.1.4

by Pyrofab on Mar 2, 2022
Download

Version 4.1.4:

Updated to 1.18.2

see full changelog here

4.1.3

by Pyrofab on Feb 20, 2022
Download

Version 4.1.3:

Additions

  • Added mod icons

Fixes

  • Fixed chunk components serialization

see full changelog here

4.1.2

by Pyrofab on Feb 6, 2022
Download

Version 4.1.1:

Fixes Fixed modded ComponentProvider subclasses (as in, custom entities) on newer loom versions

see full changelog here

4.1.1

by Pyrofab on Feb 2, 2022
Download

Version 4.1.1:

Fixes Fixed modded ComponentProvider subclasses (as in, custom entities) on newer loom versions

see full changelog here

4.1.0

by Pyrofab on Jan 26, 2022
Download

Version 4.1.0:

Now available on modrinth!

Changes

  • Changed the maven group from io.github.onyxstudios.Cardinal-Components-API to dev.onyxstudios.cardinal-components-api

Fixes

  • Fixed curseforge upload

see full changelog here

1
2

Modrinth is open source.

main@4bafae8

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.