Skip to content

Cancel own-player equipment packets in 1.9->1.8 - #733

Merged
florianreuth merged 1 commit into
ViaVersion:masterfrom
InstantlyMoist:fix/own-player-equipment
Oct 18, 2026
Merged

florianreuth merged 1 commit into
ViaVersion:masterfrom
InstantlyMoist:fix/own-player-equipment

Conversation

@InstantlyMoist

Copy link
Copy Markdown
Contributor

fixes players wearing a chestplate on their head, and boots as their leggings. seems to be only the case when items are applied directly into the players inventory. im not sure if this has any other side-effects.

@florianreuth florianreuth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't this always cancel the full packet now? This looks definitely wrong, maybe only the slot shifting needs an extra client player check.

@InstantlyMoist

Copy link
Copy Markdown
Contributor Author

i'm not sure, the armor issue was fixed for me like this and still appears just fine.

@roccodev

Copy link
Copy Markdown
Contributor

Judging by the comment, I'm assuming it's related to ViaVersion/ViaBackwards#1321, but if so the change should probably be done there, but I can't reproduce the issue there

@florianreuth florianreuth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems right, VB now sends SET_EQUIPMENT for the client player while it previously didn't, so we didn't notice the issue.

@florianreuth
florianreuth merged commit f6424dd into ViaVersion:master Oct 18, 2026
1 check passed
@roccodev

roccodev commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Unfortunately this breaks the use case mentioned in my VB patch, I'll investigate though I still don't quite understand how to reproduce the issue here. I am using a plugin to set a player's helmet while in a GUI and it works fine for me. I've also tried setting other armor pieces and those work too.

@roccodev

roccodev commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

In fact you don't even need a plugin GUI for this. This PR breaks the following scenario, tested on a 26.3 server:

  • Open a chest in 1.8
  • From another client/console, run /item replace entity @p armor.chest with minecraft:diamond_chestplate (select the 1.8 player)
  • Notice how the armor doesn't update (and without the patch, it updates fine in the chestplate slot)

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.

3 participants