Client rendering other player or mob holding compass influences compass of user
The bug
When the client renders another mob or player holding a compass the compass of the user is affected by the other mob or player.
How to reproduce
- Set the world spawn at your current position or got to the world spawn
- Build a circle of rails, including powered rails, around it
- Use the following command while standing on the rails
/summon minecart ~ ~ ~ {Passengers:[{id:"zombie",ArmorItems:[{},{},{},{id:"skeleton_skull",Count:1b}],HandItems:[{id:"compass",Count:1b}]}]} - Push the minecart
- Put a compass in your hotbar and don't move
→ The compass needle moves despite neither you are moving nor the world spawn point being changed
Code analysis
Based on 1.11 decompiled using MCP 9.35 rc1
This happens because the IItemPropertyGetter of the compass item has attributes. This should not be the case as the IItemPropertyGetter belongs to the item constant which is used for everything. Because of this rendering a mob or player which is holding a compass influences how the compass is rendered for the user.
2016-10-11, 07:57 PM
2020-05-29, 04:08 AM
2020-04-26, 06:39 PM
11
8
compass, lan, mob, multiplayer, rendering