Currently the @a[dx,dy,dz]
and @a[r]
selectors match the player when their hitbox first enters the bounds. This is counter-intuitive, as the player can be in a certain block (as denoted by Block
on F3
) but can trigger a selector for a different block.
The player's world collision hitbox is a cylinder with a radius of 0.3 from what I can tell, which means a player can be up to 0.3 blocks away from a block that is within the selector's range and still cause the selector to select them. In certain situations you can also walk into a solid block that is within the selector field and still be matched, as it seems you sometimes clip into them slightly.
I've attached a video demonstrating this with the cubic selector, although it seems to effect the radius selector too. You can see that the cubic selector matches me if I stand on the comparator next to the command block, as it seems I clip slightly into the command block.
Selecting the player when their hitbox enters the area may be the intended functionality, however clipping into blocks and being matched should not happen.
Linked issues
relates to 1
Attachments
Comments 5
It looks to me like an equality check needs changing from a <=
to just <
, as selectors shouldn't match entities on the very border of them.
This also appears to be the case for entities. This is especially annoying because the dx/dy/dz selectors don't accept floats. Is there currently any way to select only the bottom center of an entity, rather than anywhere inside the hitbox?
Resolved as "Cannot Reproduce" due to the command system changes. Additionally the radius and dx
, ... do not behave the same anymore: MC-172035
Yes, that is likely MC-8471.
Entity bounding boxes are cuboids (as seen when pressing
F3
+B
) and as soon as they intersect with the area defined by the selector the entity is found. This might be intended since that could be what some people want but like you described causes problems in other situations.