Dig a 5x5 hole, and make it 6 blocks deep. (Example: Y Level 64, dig 7 blocks deep to go to Y Level 58)
Dig another block deep, and add 25 cartography table, making it 6 blocks deep again.
Spawn 25 Villagers, (Not babies or Nitwits) they should claim all the jobs.
Go up, and on the top Y Level, (Example: Go to Y Level 64 from Y Level 58) and hold an emerald.
You should see the villagers not looking toward the emerald (some might be) and then the item they would hold if you were at the same Y Level as them will appear for a split second, then disappear. It will then appear for another split second then disappear again. This keeps repeating.
The Expected Result: They should either not be showing their item, or should be, but the item should stay consistently, not flickering.
The Actual Result: The Item they are holding flickers, appearing then disappearing. This should not be happening, and is important, as this could confuse people what is happening, and when the item flickers, they might think they have the villagers attention. (Example: The player might be breaking an iron door so the villagers won’t escape, and holding the emerald and the item flickering may think they can tell the other player to break it, as they have the villagers attention, but the villagers might not actually have their attention, and can escape!)
Thanks for taking your time and effort to fix your bug, have a great day!
A single villager, bed, workstation, and 5-block tall tower are sufficient to reproduce this.
This occurs because the player’s feet are within the 6-block activation radius of behavior.trade_interest, while the player’s eyes are not within the 6-block radius. It may be a simple client-server disagreement if the client uses player feet position and the server uses player eye position. Player positions are referenced as eye level in the world save and server-side functions like mob spawning radius, but they are referenced as bottom-of-feet position in the client coordinate display and teleport commands.
[media]