Mojira Archive
MC-108598

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

  1. Set the world spawn at your current position or got to the world spawn
  2. Build a circle of rails, including powered rails, around it
  3. 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}]}]}
    
  4. Push the minecart
  5. 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.

Fixed

Mitchell Cairns

[Mojang] Panda

2016-10-11, 07:57 PM

2020-05-29, 04:08 AM

2020-04-26, 06:39 PM

11

8

Confirmed

Items

compass, lan, mob, multiplayer, rendering

Minecraft 16w40a - 20w16aMinecraft 16w40a, Minecraft 1.11, Minecraft 16w50a, Minecraft 1.11.2, Minecraft 17w16b, Minecraft 1.12, Minecraft 1.12.2, Minecraft 17w50a, Minecraft 18w43b, 1.14.4, 19w46a, 1.15 Pre-Release 2, 1.15.2, 20w13b, 20w15a, 20w16a

20w17a