mojira.dev
MC-296709

All non-default jukebox_playable components are deleted from existing items when updating past 1.21.4

When updating existing worlds from 1.21.4 to either 1.21.5 or 25w15a, all existing items with a non-default jukebox_playable component are not updated properly, resulting in the component being deleted and permanently altering all such items in the world. This is due to the jukebox_playable component changing forms in 1.21.5, although it seems like the datafixer was not properly updated to handle this specific case.

Steps to reproduce:

  1. Open a world in 1.21.4 and run the following give command

/give @s gravel[jukebox_playable={song:"13"}]
  1. Close the world and open in 1.21.5 (or a newer snapshot). Notice that the item no longer has a jukebox_playable component. If the item given in 1.21.4 was a vanilla record item but was given a custom song, the stored component will be lost, so the item would then default back to its usual song.

Opening the output log shows the following error:

Tried to load invalid item: 'Failed to parse either. First: Not a string; Second: Not a string missed input: {"minecraft:jukebox_playable":{song:"minecraft:13"}}'

Expected behavior:

The game should have automatically updated the component from {song:”minecraft:13”} to “minecraft:13” since this is the new format of the component as of 1.21.5. This doesn’t seem to have affected the other components that were similarly changed to no longer have a show_in_tooltip field, though I have not tested all of these other cases. This is quite a dangerous bug, as it results in a loss of data when updating between major versions.

Linked issues

Comments 0

No comments.

42Richtofen42

gegy

Confirmed

Platform

Normal

Commands, Save Data

1.21.5, 25w15a

25w19a

Retrieved