There seems to be some inaccuracies with selecting entities at coordinates at the center of blocks due to some issue with positioning.
Test:
0. Teleport to a coordinate with no decimals at the center of a block such as by /tp 0 0 0 or /tp 18 32 12.
1. /summon Pig ~ ~ ~ {NoAI:1b}
2. /tp ~1 ~ ~
3. /summon ArmorStand
4. /say @e[type=!Player,c=1]
5. Notice the result is the pig, rather than the armor stand which is clearly closer and you are standing inside it directly at its location.
6. /say @e[type=!Player,r=5]
7. Notice that the first result is the pig rather than the armor stand which if it was selecting correctly, should be displaying the armor stand first in the list of results due to it being closer. see MC-97316
8. Repeat test with various entities to see the same results.
Linked issues
Attachments
Comments 15
Related to MC-97316
97316 rather for discussion about selector "r" and here for "c", to differentiate between both.
Would that be okay @unknown?
Should probably mention that c-execution got an directional bias, thus executing it directly at the entity would be more consistent, accurate, easier.
(Correct me if I'm mistaken, you're better at that topic };])
@unknown The way it works is that it detects firstly nearest or farthest (depending on whether c got a positive or negative value), and if there are at least 2 entities at the very same position/distance, then it'll fall back to the second detection method, the age(youngest/oldest, dependant on +/-).
Confirmed