Paper icon indicating copy to clipboard operation
Paper copied to clipboard

Saved item attributes break when moving from 1.21.1 to 1.21.4+ (and 1.21.5)

Open viimeinen1 opened this issue 5 months ago • 2 comments

Expected behavior

When updating from 1.21.1 to 1.21.4 or 1.21.5 item meta serialization should automatically change from the old serialization to new one. All item attributes / components should be kept

Observed/Actual behavior

Updating from 1.21.1 to 1.21.4 or 1.21.5 breaks all item attributes of saved item meta when serializing in 1.21.1 with ConfigurationSerializable.serialize() and deserializing with ConfigurationSerialization.deserializeObject()

I did not test the methods, I looked them up on Shopkeepers source here where the item attributes are lost on conversion.

Steps/models to reproduce

  1. Save items in 1.21.1 with a plugin that uses ConfigurationSerializable.serialize() and ConfigurationSerialization.deserializeObject(). (for example Shopkeepers, ItemEdit, ExcellentCrates or playerkits2)
  2. Update to 1.21.4 or 1.21.5 (and possibly update plugins if necessary).
  3. Take items from the save, and test if they have attributes or not

Plugin and Datapack List

nightcore 2.7.5.2 (for excellentCrates), ExcellentCrates 6.2.0, ItemEdit 3.7.0, Shopkeepers 2.23.5

Image

Paper version

Old version

This server is running Paper version 1.21.1-133-ver/1.21.1@3cb8529 (2025-03-28T16:14:36Z) (Implementing API version 1.21.1-R0.1-SNAPSHOT)
You are running the latest version

Earlier test

This server is running Paper version 1.21.4-229-ver/1.21.4@e2ca477 (2025-05-09T15:52:06Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
You are 2 version(s) behind
Download the new version at: https://papermc.io/downloads/paper
Previous version: 1.21.1-21-cfa3c61 (MC: 1.21.1)

New test

This server is running Paper version 1.21.5-93-main@87349c3 (2025-05-21T16:27:20Z) (Implementing API version 1.21.5-R0.1-SNAPSHOT)
You are running the latest version
Previous version: 1.21.1-133-3cb8529 (MC: 1.21.1)

Other

I do not know what is the version where the error first occurs, but it's between 1.21.1 and 1.21.4.

It's also possible that other methods than ConfigurationSerializable.serialize() and ConfigurationSerialization.deserializeObject() are affected, as I did not look up other than what method Shopkeepers uses.

viimeinen1 avatar May 21 '25 18:05 viimeinen1