Cardinal-Components-API

Component API to add external data to objects.

MIT License

Stars
151
Committers
13

Bot releases are hidden (Show)

Cardinal-Components-API - v6.0.0-pre1 Latest Release

Published by Pyrofab 5 months ago

Version 6.0.0:

Updated to 1.20.5/1.20.6

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

Pre-Release 1

Changes

  • Component registration now happens during mod init. This should fix some classloading-related issues, and make loading errors easier to diagnose.
  • The internal ASM generation systems have been partially rewritten (thanks lukebemish !)

Beta 3

Fixes

  • Fixed the most basic binary incompatibilities with mods compiled for beta 1

Beta 2

Changes

  • All the serialization methods now take an additional registry lookup argument
  • 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

Cardinal-Components-API - v6.0.0-beta.3

Published by Pyrofab 6 months ago

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 3

Fixes

  • Fixed the most basic binary incompatibilities with mods compiled for beta 1

Beta 2

Changes

  • All the serialization methods now take an additional registry lookup argument
  • 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

Cardinal-Components-API - v6.0.0-beta.2

Published by Pyrofab 6 months ago

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
  • 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

Cardinal-Components-API - v6.0.0-beta.1

Published by Pyrofab 6 months ago

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

Cardinal-Components-API - v5.4.0

Published by Pyrofab 11 months ago

Version 5.4.0:

Updated to 1.20.3

see full changelog here

Cardinal-Components-API - v5.3.0

Published by Pyrofab about 1 year ago

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

Cardinal-Components-API - v5.2.2

Published by Pyrofab about 1 year ago

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")

Cardinal-Components-API - v5.2.1

Published by Pyrofab over 1 year ago

Version 5.2.1:

Fixed compatibility with full 1.20 release

see full changelog here

Cardinal-Components-API - v5.1.0

Published by Pyrofab almost 2 years ago

Version 5.1.0:

Updated to MC 1.19.3

see full changelog here

Cardinal-Components-API - v5.0.2

Published by Pyrofab about 2 years ago

Version 5.0.2:

  • Fix world components not synchronizing on load

see full changelog here

Cardinal-Components-API - v5.0.1

Published by Pyrofab over 2 years ago

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

Cardinal-Components-API - v5.0.0

Published by Pyrofab over 2 years ago

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

Cardinal-Components-API - v4.2.0

Published by Pyrofab over 2 years ago

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

Cardinal-Components-API - v5.0.0-beta.1

Published by Pyrofab over 2 years ago

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

Cardinal-Components-API - v4.1.4

Published by Pyrofab over 2 years ago

Version 4.1.4:

Updated to 1.18.2

see full changelog here

Cardinal-Components-API - v4.1.3

Published by Pyrofab over 2 years ago

Version 4.1.3:

Additions

  • Added mod icons

Fixes

  • Fixed chunk components serialization

see full changelog here

Cardinal-Components-API - v4.1.2

Published by Pyrofab over 2 years ago

Version 4.1.1:

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

see full changelog here

Cardinal-Components-API - v4.1.1

Published by Pyrofab over 2 years ago

Version 4.1.1:

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

see full changelog here

Cardinal-Components-API - v4.1.0

Published by Pyrofab over 2 years ago

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

Cardinal-Components-API - v4.0.1

Published by Pyrofab almost 3 years ago

Version 4.0.1:

Fixes

  • Fixed cardinal-components-chunk crashing at launch
  • Fixed components not being saved when bucketing entities

see full changelog here

Related Projects