The bug
This bug is hard to put into words. Commands that change position, or refer to an entity's position, are consistently "falling behind," or are delayed in some fashion.
To reproduce
Place down a repeating command block with this command inside, and power it:
/execute @p ~ ~ ~ execute @s[r=0.01] ~ ~ ~ say "Hello, me!"
It's running a /say command as the closest player if they can be found within one-hundredth of a block of their own position.
What I expected:
For the /say command to fire every time this command is run in every circumstance, whether the player is moving or not.
What happens:
The command fails if the player is moving (walking, jumping, and falling, for example) because it cannot find the player within one-hundredth of a block of themselves. This also applies to non-player entities.
This affects more than just a simple distance selector argument. This delay can be felt through relative and local positioning, and through function files.
Linked issues
Comments 5
Cannot reproduce in 1.16.20.52. Tests that would normally show an error now show the correct results.
The command fails when stepping up slabs or stairs, or when riding a moving pig. When the player or pig stops moving, it takes an extra 5 ticks for the command to work again, whereas riding a moving horse makes the command fail and succeed seemingly at random.
While testing for that, I found that simply riding a boat or strider makes the command fail all the time.
I tested this again in 1.14.30, and I noticed my message was printing in chat while I moved, but not in every tick that this command was fired. The messages seemed to fire inconsistently, but I'm happy to see the message at all!
EDIT: Through more testing, this bug is somewhat inconsistent to reproduce. I spent about ten minute, give or take a few, reproducing this bug and I noticed that, on occasion, the command succeeded various times like I described, and unfortunately I do not know how to trigger this phenomenon.