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 - v2.5.0-nightly.20w29a

Published by Pyrofab over 4 years ago

Version 2.5.0:

This release breaks compatibility between modules of different versions.

  • Updated cardinal-components-level and cardinal-components-chunk to 1.16.2

Additions

  • Added reworked ComponentProvider and ComponentContainer interfaces to the V3 API
    • Refactored a lot of internal code to use the new types

Fixes

  • Fixed item components not being copied by the smithing table

see full changelog here

Cardinal-Components-API - v2.4.2

Published by Pyrofab over 4 years ago

Version 2.4.2:

  • Fixed regression in cardinal-components-item causing crash with Optifine installed
  • Documented the cardinal-components-level module incompatibility with 1.16.2 and above

see full changelog here

Cardinal-Components-API - v2.4.1

Published by Pyrofab over 4 years ago

Version 2.4.1:

  • Fixed crash when more than 16 components were registered
  • Fixed crash when dots were used in static component identifiers

see full changelog here

Cardinal-Components-API - v2.4.0

Published by Pyrofab over 4 years ago

Version 2.4.0:

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

Compatibility between modules of different versions has been broken in 2.4.0-nightly.1.16-pre4.
In case of crashes due to those incompatibilities, Modpack makers and players can add the latest version
of the full library to their mods folder to update every module at once.

  • Updated all modules to MC 1.16

Additions

  • Cardinal Components now has a wiki!
  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically under the nomenclature XComponentInitializer
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
    • More information is available in the wiki
      [1]
      [2]
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)
  • Added PlayerComponent, an experimental interface replacing RespawnCopyStrategy

Changes

  • TypeAwareComponent now has a default implementation in most subinterfaces
  • It is no longer possible for a ComponentCallback to override an existing component
  • Networking errors should now be logged before they get swallowed by Netty
  • cardinal-component-item no longer changes the vanilla networking protocol for ItemStacks
  • Internal classes and new interfaces are now in the dev.onyxstudios.cca package
  • Chunk and level components now get initialized at the end of their respective classes' constructor
  • Internals and new APIs are now in the dev.onyxstudios.cca package instead of nerdhub.cardinal.components

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands
  • Fixed Cardinal-Components-Item preventing vanilla clients from connecting to modded servers and vice-versa

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.1.16-rc1.build.2

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.1.16-rc1.build.2

  • Fixed crash on launch when no mod registered a static component

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

Compatibility between modules of different versions has been broken in 2.4.0-nightly.1.16-pre4.
In case of crashes due to those incompatibilities, Modpack makers and players can add the latest version
of the full library to their mods folder to update every module at once.

  • Updated entity, item, chunk, world, and level modules to MC 1.16

Additions

  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically subclasses of StaticComponentInitializer.
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)
  • Added PlayerComponent, an experimental interface replacing RespawnCopyStrategy
  • Cardinal Components now has a wiki!

Changes

  • TypeAwareComponent now has a default implementation in most subinterfaces
  • It is no longer possible for a ComponentCallback to override an existing component
  • Networking errors should now be logged before they get swallowed by Netty
  • cardinal-component-item should no longer prevent modded clients from connecting to vanilla servers and vice-versa
  • Internal classes and new interfaces are now in the dev.onyxstudios.cca package
  • Chunk and level components now get initialized at the end of their respective classes' constructor

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands
  • Fixed Cardinal-Components-Item preventing vanilla clients from connecting to modded servers and vice-versa

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.1.16-rc1

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.1.16-rc1

  • Reworked static component initialization - now using fabric.mod.json as it was intended
  • Updated the PlayerComponent interface to make its implementation simpler
  • Chunk and level components now get initialized at the end of their respective classes' constructor

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

Compatibility between modules of different versions has been broken in 2.4.0-nightly.1.16-pre4.
In case of crashes due to those incompatibilities, Modpack makers and players can add the latest version
of the full library to their mods folder to update every module at once.

  • Updated entity, item, chunk, world, and level modules to MC 1.16

Additions

  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically subclasses of StaticComponentInitializer.
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)
  • Added PlayerComponent, an experimental interface replacing RespawnCopyStrategy
  • Cardinal Components now has a wiki!

Changes

  • TypeAwareComponent now has a default implementation in most subinterfaces
  • It is no longer possible for a ComponentCallback to override an existing component
  • Networking errors should now be logged before they get swallowed by Netty
  • cardinal-component-item should no longer prevent modded clients from connecting to vanilla servers and vice-versa
  • Internal classes and new interfaces are now in the dev.onyxstudios.cca package
  • Chunk and level components now get initialized at the end of their respective classes' constructor

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands
  • Fixed Cardinal-Components-Item preventing vanilla clients from connecting to modded servers and vice-versa

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.1.16-pre5

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.1.16-pre5

  • cardinal-components-item no longer alters the layout of packets encoding ItemStacks
  • Added a PlayerComponent interface that can replace RespawnCopyStrategy
  • Removed some experimental not very useful methods in ComponentRegistry

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

Compatibility between modules of different versions has been broken in 2.4.0-nightly.1.16-pre4.
In case of crashes due to those incompatibilities, Modpack makers and players can add the latest version
of the full library to their mods folder to update every module at once.

  • Updated entity, item, chunk, world, and level modules to MC 1.16

Additions

  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically subclasses of StaticComponentInitializer.
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)
  • Added PlayerComponent, an experimental interface replacing RespawnCopyStrategy

Changes

  • TypeAwareComponent now has a default implementation in most subinterfaces
  • It is no longer possible for a ComponentCallback to override an existing component
  • Networking errors should now be logged before they get swallowed by Netty
  • cardinal-component-item should no longer prevent players from connecting to vanilla servers
  • Internal classes and new interfaces are now in the dev.onyxstudios.cca package

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands
  • Fixed Cardinal-Components-Item preventing vanilla clients from connecting to modded servers and vice-versa

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.1.16-pre4

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.1.16-pre4

  • Internals and experimental APIs have been relocated. This will break compatibility between modules of different versions.
  • cardinal-components-item no longer alters the layout of packets encoding ItemStacks
  • Added a PlayerComponent interface that can replace RespawnCopyStrategy
  • Removed some experimental not very useful methods in ComponentRegistry

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

  • Updated entity, item, chunk, world, and level modules to MC 1.16

Additions

  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically subclasses of StaticComponentInitializer.
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)

Changes

  • It is no longer possible for a ComponentCallback to override an existing component
  • Networking errors should now be logged before they get swallowed by Netty
  • cardinal-component-item should no longer prevent players from connecting to vanilla servers
  • Internal classes and new interfaces are now in the dev.onyxstudios.cca package

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands

see full changelog here

Cardinal-Components-API - v2.3.7

Published by Pyrofab over 4 years ago

Version 2.3.7:

  • Fixed Cardinal-Components-Item crashing with Optifine (thanks to ZekerZhayard)

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.1.16-pre2

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.1.16-pre2

  • Updated the item, world, and level modules to 1.16-pre2
  • Added better logging for networking errors

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

  • Updated entity, chunk, world, and level modules to MC 1.16

Additions

  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically subclasses of StaticComponentInitializer.
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)

Changes

  • It is no longer possible for a ComponentCallback to override an existing component
  • Networking errors should now be logged before they get swallowed by Netty

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.20w22a.build.3

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.20w22a.build.3

  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

  • Updated entity, chunk, world, and level modules to MC 1.16

Additions

  • Added statically declared components (experimental feature !)
    • Mods can declare and attach their components using dedicated entrypoints, typically subclasses of StaticComponentInitializer.
    • Developers can add -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
    • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added ItemComponentCallbackV2 and ItemComponentFactoryV2 as alternatives respectively to ItemComponentCallback and ItemComponentFactory,
    passing the stack's true item as context.
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)

Changes

  • It is no longer possible for a ComponentCallback to override an existing component

Fixes

  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.20w22a.build.2

Published by Pyrofab over 4 years ago

Version 2.4.0:

2.4.0-nightly.20w22a.build.2

  • Fixed crashes due to invalid ComponentProvider implementation in LevelProperties

2.4.0 General Changelog

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

  • Updated world and level modules to MC 1.16
  • Added statically declared components (experimental feature !)
    • Developers can use -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
  • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)
  • It is no longer possible for a ComponentCallback to override an existing component
  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.20w22a

Published by Pyrofab over 4 years ago

Version 2.4.0:

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

  • Updated entity, world, and level modules to MC 1.16
  • Added statically declared components (experimental feature !)
    • Developers can use -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
  • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • Added Dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)
  • It is no longer possible for a ComponentCallback to override an existing component
  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands

This release is available on the Ladysnake bintray

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.20w21a

Published by Pyrofab over 4 years ago

Version 2.4.0:

Backwards-compatibility note: while this release is compatible with older applications,
some classes have been moved to a new module called cardinal-components-util.
If you are missing some types, or if you use the cardinal-components-block module,
you need to add a dependency on that module.

  • Updated world and level modules to MC 1.16
  • Added statically declared components (experimental feature !)
    • Developers can use -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
  • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • It is no longer possible for a ComponentCallback to override an existing component
  • Fixed PlayerSyncCallback not firing when a player is teleported to another dimensions through commands
  • Added dynamic conversion methods to NbtSerializable (defaulted to delegate to nbt serialization)

This release is available on the Ladysnake bintray

see full changelog here

Cardinal-Components-API - v2.3.6

Published by Pyrofab over 4 years ago

Version 2.3.6:

  • Fixed a random crash when an entity spawned for the first time simultaneously on client and server (#26)

This release is available on the Ladysnake bintray

see full changelog here

Cardinal-Components-API - v2.4.0-nightly.20w20a

Published by Pyrofab over 4 years ago

Version 2.4.0:

Backwards-compatibility note: while this release is compatible with older applications, some classes have been moved to a new module called cardinal-components-util. If you are missing some types, or if you use the cardinal-components-block module, you need to add a dependency on that module.

  • Updated world and level modules to MC 1.16
  • Added statically declared components (experimental feature !)
    • Developers can use -Dcca.debug.asm=true to their VM options to help debug CCA's issues with static component generation
  • Added a new module - cardinal-components-util
    • Most classes that were not essential to CCA working got moved from cardinal-components-base to that module
  • Added LazyComponentType, allowing mods to retrieve a ComponentType handle before it is registered
  • It is no longer possible for a ComponentCallback to override an existing component

This release is available on the Ladysnake bintray

see full changelog here

Cardinal-Components-API - v2.3.5-alt

Published by Pyrofab over 4 years ago

Version 2.3.5-alt:

see full changelog here

Cardinal-Components-API -

Published by Pyrofab over 4 years ago

  • Item components are now properly copied in every vanilla situation where an item stack is copied
  • Component deserialization is slightly faster
  • Improved documentation of callback interfaces
Cardinal-Components-API -

Published by Pyrofab over 4 years ago

Updated cardinal-components-world to 20w06a snapshot for Minecraft 1.16.

Related Projects