mojira.dev
MC-249455

"Not a string" appears in log when serializing angered Warden

When an angered Warden is serialized, "Not a string" appears as an error message in the chat.

To Reproduce

  1. Use spawn eggs to spawn a Warden and a couple of Zoglins.

  2. When they start to fight, trigger the serialization of Warden by saving the world, pausing the game, or using the /data get command

    • -> "Not a string" appears in the log. If you use the /data get command, you will find that there's no anger field in the data.

  3. When all the Zoglins are killed, trigger the serialization again

    • -> The message does not appear. If you use the /data get command, you will find that the anger field is correctly serialized.

Code Analysis

Code analysis by @unknown can be found in this comment.

Attachments

Comments 3

This also appears to happen when the game is paused.

Yes, pausing the game is sufficient (the world is also saved at that time). I have added this to the steps to reproduce.

I may be completely wrong, but this might be caused by the Codec in net/minecraft/world/entity/monster/warden/AngerManagement trying to use ExtraCodecs.UUID, something that reads from/writes to an int stream, as the key.

bdm68

Erik Broes

Confirmed

Low

Debug

22w12a, 22w13a

22w14a

Retrieved