mojira.dev
MC-261219

Signs created in previous versions are not waxed by default

Signs from worlds that have been opened in versions before 23w12a get the is_waxed data value of 0b (false) when updated to 23w12a or higher. This makes the newly loaded signs' behavior inconsistent with how they worked in previous versions, since they can now be edited by being right-clicked.

Worlds that depend on signs not being editable would have to change every single sign block in the world to be waxed, which could mean a lot of effort if the world, for example, uses signs as decorations in large quantities.

Linked issues

Comments 3

Confirmed, this is especially problematic for custom maps, where updating literally would break functionality of already placed blocks.

This impacts signs with click events or advanced formatting the most. Editing takes priority over click events and advanced formatting probably means the author did not intend the sign to be player editable.

One possibility might be to add a check for this when upgrading signs to the new data format. It could compare the lines of text against the format produced when players place signs without cheats or external tools. The game could set the sign to be waxed if there's more than just a basic text component with no formatting or events ({{}"text":"whatever"}). This should work since a sign's dye colour and glow are stored in separate values from the text.

Are you certain you want this to be intended? It actively breaks custom maps that have signs with click events.
It could be fixed while still making normal signs edit-able by detecting if the text contains a "clickEvent" or non-"text" object and then make it waxed.

Ellivers

(Unassigned)

Community Consensus

Expansion A

Important

Block states, Datafixer

23w12a, 23w13a

Retrieved