All target selectors start with @. The following character is the selector type. For example, @p means 'closest player'.
Target selectors may have additional, optional arguments. You can specify these in [ ], using the syntax a=0. For example, @p[a=0,b=5,c=-500].
There is a special short syntax for just specifying x, y, z and r arguments; simply list their values separated by a comma, without x=. For example: @p[100,64,-100,5] for 5 range, x=100, y=64 and z=-100. Each of these are optional and skippable by leaving them empty. For example, to just specify y coordinate: @p[,64].
x- X coordinate for search center. Default is senders coordinate, or 0.y- Y coordinate for search center. Default is senders coordinate, or 0.z- Z coordinate for search center. Default is senders coordinate, or 0.r- Range, number above 0. Default 0 ("No range limit")m- Game mode, number above 0. Default -1 ("No mode limit")c- Max count of results. Default 0 ("No count limit"). Numbers below 0 will make it return the last x amount of entries.
p- Closest player.a- A list of all players.r- A random player.
All selectors are lists, but only p has a default count limit of 0 (unlimited). When using lists in a string context (for example, /say Hello @a) it will list all players as strings. When used as a command argument, it will iterate the command for each player in the list.
@p[r=5]
Closest person within 5 blocks. If there's nobody within 5 blocks, the command will fail.
@a[x=100,y=64,z=-100,c=10,r=5]
Closest 10 players within 5 blocks of 100,64,-100.
@p[0,64,0,c=-2]
The furthest 2 players from 0,64,0.
@a[,,,10,c=5]
The closest 5 players within 10 blocks of your current position.
Are these already in this snapshot or will they be in the next?