Skip to content

Conversation

@FlorianMichael
Copy link
Member

Closes #1107

@kennytv kennytv merged commit fccea9b into master Oct 3, 2025
2 checks passed
@kennytv kennytv deleted the fix/throw-out-object-components branch October 3, 2025 19:42
Tmpod added a commit to Tmpod/ViaBackwards that referenced this pull request Dec 6, 2025
… step

This was causing connection crashes for versions <=1.21.4, since the
1.21.5.→1.21.4 step rewrites all text components as strings, and thus
parses the NBT.
Since sprites and other object components were not being filtered on
signs in the 1.21.9→1.21.7 step (despite being correctly handled
everywhere else since ViaVersion#1108), the latter step was failing to properly
read the NBT structure and thus crashing the player's connection.

The fix was done by lifting the sign logic in
`BlockItemPacketRewriter1_21_5` and adapting it into
`BlockItemPacketRewriter1_21_9`. All filtering is still delegated to the
appropriate `ComponentRewriter`, so required code change was rather
small.
Tmpod added a commit to Tmpod/ViaBackwards that referenced this pull request Dec 6, 2025
… step

This was causing connection crashes for versions ≤1.21.4, since the
1.21.5.→1.21.4 step rewrites all text components as strings, and thus
parses the NBT.
Since sprites and other object components were not being filtered on
signs in the 1.21.9→1.21.7 step (despite being correctly handled
everywhere else since ViaVersion#1108), the latter step was failing to properly
read the NBT structure and thus crashing the player's connection.

The fix was done by lifting the sign logic in
`BlockItemPacketRewriter1_21_5` and adapting it into
`BlockItemPacketRewriter1_21_9`. All filtering is still delegated to the
appropriate `ComponentRewriter`, so required code change was rather
small.
Tmpod added a commit to Tmpod/ViaBackwards that referenced this pull request Jan 8, 2026
… step

This was causing connection crashes for versions ≤1.21.4, since the
1.21.5.→1.21.4 step rewrites all text components as strings, and thus
parses the NBT.
Since custom click events (and dialogs) were not being filtered on
signs in the 1.21.6→1.21.5 step (despite being correctly handled
everywhere else since ViaVersion#1108), the latter step was failing to properly
read the NBT structure and thus crashing the player's connection.

The fix was done by lifting the sign logic in
`BlockItemPacketRewriter1_21_5` and adapting it into
`BlockItemPacketRewriter1_21_6`. All filtering is still delegated to the
appropriate `ComponentRewriter`, so required code change was rather
small.

This commit is almost identical to my other fix related to sprites in
the 1.21.9→1.21.7 step. See commit d273b06 (e3a4761) and PR ViaVersion#1147.

Fixes ViaVersion#1172
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Object components not being translated for <1.21.9, causing packet decoding error

3 participants