Releases: Ladysnake/Cardinal-Components-API
v2.5.3
v2.5.2
v2.5.1
Version 2.5.1:
- Basic V3 interfaces are no longer experimental
- This is a good time to start using them!
- Overhauled component synchronization for V3 API
- There is no longer specialized synchronized component interfaces for each type of provider
- This is a breaking change for Team and Block V3 (experimental) APIs
- Added dedicated static registration methods for player components in
cardinal-components-entity
- V3
ComponentContainer
s are no longer generic - Added a dedicated
ComponentContainer
factory interface replacing use ofFunction
,
and moved the existing builder to it
see full changelog here
v2.5.0
Version 2.5.0:
This release breaks compatibility between modules of different versions.
- Updated to 1.16.2
Additions
- Added a new API for block components (see PR #42)
- Added a new API for scoreboard components (see PR #36)
- Added reworked
ComponentProvider
andComponentContainer
interfaces to the V3 API- Refactored a lot of internal code to use the new types
- Added
ComponentV3
andComponentRegistryV3
interfaces for early V3 adopters - Added a factory builder to the
ComponentContainer
interface for third-partyComponentProvider
implementations - Added alternatives to
registerFor
methods taking a predicate, for fine-tuned registration
Changes
- The NBT serialized form of
ComponentContainer
is now more space-efficient.- Instances serialized before this update should get converted as they load.
- Removed experimental deprecated method
EntityComponentFactoryRegistry#register
(useregisterFor
)
Fixes
- Fixed item components not being copied by the smithing table
- Removed the
Internal
annotation from new API packages
see full changelog here
v2.5.0-nightly.1.16.2-rc2
Version 2.5.0:
This release breaks compatibility between modules of different versions.
- Updated
cardinal-components-level
,cardinal-components-world
andcardinal-components-chunk
to 1.16.2
Additions
- Added a new API for block components (see PR #42)
- Added a new API for scoreboard components (see PR #36)
- Added reworked
ComponentProvider
andComponentContainer
interfaces to the V3 API- Refactored a lot of internal code to use the new types
- Added
ComponentV3
andComponentRegistryV3
interfaces for early V3 adopters - Added a factory builder to the
ComponentContainer
interface for third-partyComponentProvider
implementations - Added alternatives to
registerFor
methods taking a predicate, for fine-tuned registration
Changes
- The NBT serialized form of
ComponentContainer
is now more space-efficient.- Instances serialized before this update should get converted as they load.
- Removed experimental deprecated method
EntityComponentFactoryRegistry#register
(useregisterFor
)
Fixes
- Fixed item components not being copied by the smithing table
- Removed the
Internal
annotation from new API packages
see full changelog here
v2.5.0-nightly.20w30a
Version 2.5.0:
This release breaks compatibility between modules of different versions.
- Updated
cardinal-components-level
andcardinal-components-chunk
to 1.16.2
Additions
- Added reworked
ComponentProvider
andComponentContainer
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
v2.5.0-nightly.20w29a
Version 2.5.0:
This release breaks compatibility between modules of different versions.
- Updated
cardinal-components-level
andcardinal-components-chunk
to 1.16.2
Additions
- Added reworked
ComponentProvider
andComponentContainer
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
v2.4.2
v2.4.1
v2.4.0
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 !)
- 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 aComponentType
handle before it is registered
- Most classes that were not essential to CCA working got moved from
- Added
ItemComponentCallbackV2
andItemComponentFactoryV2
as alternatives respectively toItemComponentCallback
andItemComponentFactory
,
passing the stack's true item as context. - Added
Dynamic
conversion methods toNbtSerializable
(defaulted to delegate to nbt serialization) - Added
PlayerComponent
, an experimental interface replacingRespawnCopyStrategy
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 forItemStack
s- 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 ofnerdhub.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