From 39c946b60e1db7450778d15b5112e3058b9946e2 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Sun, 2 Jun 2024 21:55:31 +0200 Subject: [PATCH] Stabilize V6 --- .../cca/api/v3/component/Component.java | 14 ------ changelog.md | 48 +++++-------------- gradle.properties | 4 +- 3 files changed, 14 insertions(+), 52 deletions(-) diff --git a/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/Component.java b/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/Component.java index 42f7607f..328ad8bc 100644 --- a/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/Component.java +++ b/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/Component.java @@ -22,7 +22,6 @@ */ package org.ladysnake.cca.api.v3.component; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.registry.RegistryWrapper; import org.jetbrains.annotations.Contract; @@ -30,10 +29,6 @@ /** * The base interface for components. * - *

This interface exposes basic methods for serializing components. - * The {@link Object#equals(Object)} must additionally be overridden when attached to some providers - * like {@link ItemStack}s. - * * @since 2.7.0 */ public interface Component { @@ -58,13 +53,4 @@ public interface Component { */ @Contract(mutates = "param1") void writeToNbt(NbtCompound tag, RegistryWrapper.WrapperLookup registryLookup); - - /** - * Indicates whether some other object is "equal to" this component. - * - *

A well-defined equality is required by some modules, like {@code cardinal-components-item}. - * - * @see Object#equals(Object) - */ - boolean equals(Object o); } diff --git a/changelog.md b/changelog.md index 79de7dd8..221bbc4e 100644 --- a/changelog.md +++ b/changelog.md @@ -5,40 +5,6 @@ Updated to 1.20.5/1.20.6 This update introduces multiple breaking changes - a migration guide is available on [the Ladysnake website](https://ladysnake.org/wiki/cardinal-components-api/upgrade-instructions/CCA-6-changes). -### Release Candidate 1 -**Fixes** -- Fixed respawn copy strategies not being correctly registered for player entities - -### Pre-Release 3 -**Fixes** -- Missing components (usually caused by removed mods) will no longer trigger a wall of warnings - - The number of warnings logged for each missing component type is configurable - -### Pre-Release 2 -**Fixes** -- The library no longer requires Loom 1.7-alpha to be used in dev workspaces - -### 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 - - [Relevant migration guide](https://ladysnake.org/wiki/cardinal-components-api/upgrade-instructions/CCA-6-changes#serialization) -- 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 @@ -48,12 +14,22 @@ This update introduces multiple breaking changes - a migration guide is availabl - 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 +- The `cardinal-components-level` module 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 +- 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 !) +- All the serialization methods now take an additional registry lookup argument + - [Relevant migration guide](https://ladysnake.org/wiki/cardinal-components-api/upgrade-instructions/CCA-6-changes#serialization) +- Warning: due to the above change, level components may not be deserialized correctly if a mod calls `LevelProperties.readProperties` instead of `LevelStorage.parseSaveProperties` + +**Fixes** +- Missing components (usually caused by removed mods) will no longer trigger a wall of warnings + - The number of warnings logged for each missing component type is configurable **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 +- The deprecated `util` package in `cardinal-components-block` has been removed ------------------------------------------------------ Version 5.4.0 diff --git a/gradle.properties b/gradle.properties index fc5ad2fc..47253d0c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,12 +13,12 @@ fabric_api_version=0.98.0+1.20.6 elmendorf_version=0.12.0-SNAPSHOT #Publishing -mod_version = 6.0.0-rc1 +mod_version = 6.0.0 curseforge_id = 318449 modrinth_id = K01OU20C curseforge_versions = 1.20.5; 1.20.6 modrinth_versions = 1.20.5; 1.20.6 -release_type = beta +release_type = release display_name = Cardinal-Components-API owners = Ladysnake