[SPIGOT-7625] ItemStack cannot be serialized in 1.20.5 (works in 1.20.4) Created: 24/Apr/24  Updated: 25/Dec/24  Resolved: 24/Apr/24

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Luis Benavides-Naranjo Assignee: Marvin Rieple
Resolution: Fixed Votes: 0
Labels: None
Environment:

[19:01:17] [Server thread/INFO]: This server is running CraftBukkit version 4101-Spigot-b698b49-062d2bb (MC: 1.20.5) (Implementing API version 1.20.5-R0.1-SNAPSHOT


Attachments: File SpigotTest-1.0-SNAPSHOT.jar     Zip Archive src.zip    
Version: 1.20.5
Guidelines Read: Yes

 Description   

Same code I used for 1.17 - 1.20.4: BlobLib/src/main/java/us/mytheria/bloblib/utilities/ItemStackUtil.java at master - anjoismysign/BlobLib (github.com)

Install both plugins, sorry I didn't have time...
Type "/bloon" while having stuff in your inventory

[18:58:54] [Server thread/WARN]: java.io.NotSerializableException: net.minecraft.network.chat.IChatMutableComponent
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1200)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194)
[18:58:54] [Server thread/WARN]:     at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:358)  


 Comments   
Comment by Marvin Rieple [ 24/Apr/24 ]

Made a PR for this: craftbukkit#1383

You can test it with BuildTools:

java -jar BuildTools.jar --rev 4103 --compile spigot --pr craftbukkit:1383
Comment by Luis Benavides-Naranjo [ 24/Apr/24 ]

Just install this jar. Sneak, it will give you a diamond sword. Then it will serialize your inventory, then deserialize it and give it to you the saved inventory and reproduce the issue.

Comment by Luis Benavides-Naranjo [ 24/Apr/24 ]

I updated the BlobRP jar

Comment by Luis Benavides-Naranjo [ 24/Apr/24 ]

md_5
type "/bloon", it will give you a compass, then it will attempt serializing, then deserializing and giving you the compass again

Generated at Sat Dec 13 15:19:44 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.