[1.21.3] Fix BlockParticleOption#pos not getting sent to the client #1673
+50
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes the
BlockParticleOption#pos
field not getting sent to the client, causing custom models withModelData
-sensitive particle texture selection to be unable to fall back to a default value due to receivingModelData.EMPTY
.To fix this, the
StreamCodec
ofBlockParticleOption
is patched to send the position on NeoForge->NeoForge connections.Vanilla compatibility being retained was tested by connecting with a vanilla client to a NeoForge dev server and falling onto blocks from a sufficient height.
I also opted to slightly clean up the patches around the addition of the position data.
Fixes #1629