селекторы игроков в майнкрафт
[Гайд] Базовые селекторы и дополнительные аргументы
Начнём с описания базовых селекторов, а потом разберём все возможные аргументы, которые можно применить к уже имеющимся конструкциям.
Селектор | Комментарий | Пример употребления |
@a | Данный селектор выберет всех игроков. | /tp @a 0 0 0 (телепортация всех игроков на координаты x=0, y=0, z=0). |
@p | Данный селектор выбирает одного ближайшего игрока. | /gamemode creative @p (установка ближайшему игроку творческого режима). |
@r | Данный селектор выбирает одного случайного игрока. | /give @r minecraft:diamond (выдача случайному игроку одного алмаза). |
@e | Данный селектор выбирает всех сущностей (моб, игрок, падающий песок, фейерверк, выброшенный предмет т. п.). | /tp @e TQ (телепортация всех сущностей к игроку под ником «TQ»). |
Отлично! Теперь мы можем составлять некоторые элементарные команды, которых может вполне хватить для создания очень простой любительской карты. Однако мы пойдём дальше. В следующей таблице будут разобраны дополнительные аргументы для базовых селекторов. С их помощью можно намного более точно нацеливаться на различные объекты.
Однако сначала стоит определиться с тем, каким образом будут записываться дополнительные аргументы. На самом деле тут всё достаточно просто. В квадратных скобках (сразу после базового селектора) через запятую должны перечисляться пары «аргумент=значение аргумента» (@s[arg1=1,agr2=2,arg3=3]). Замечательно! Теперь давайте рассмотрим таблицу дополнительных аргументов для селекторов.
Великолепно! Осталось только отметить, что конструкция «@s[arg1=!1]» используется для указания противоположного условия. Помните пример с дополнительным аргументом rm? Тогда я отметил, что пару «аргумент=значение аргумента» rm=6 можно заменить на r=!6. Всё дело в том, что оба варианта подразумевают отсутствие нашей цели в радиусе шести блоков от начальной точки. Только во втором случае мы стоим наше условие на отрицании противоположного, а не на прямом утверждении.
[Гайд] Селекторы и их назначение
Итак, некоторые команды в Minecraft, могут использовать в качестве селектора игрока его ник. Например, если я выполню в чате команду /gamemode creative ArtemkaFomin, я установлю себе творческий режим игры. В данном случае, для того, чтобы интерпретатор смог понять, кому надо изменить режим игры, я указал непосредственно свой ник. Однако, такой подход не всегда удобен, а иногда вовсе не допустим, поскольку мы не всегда можем заранее знать, кто будет играть на нашей карте. Для таких целей были созданы селекторы, которые смогут сами выбирать игрока по определённым параметрам. Давайте их рассмотрим.
Естественно, чаще всего нам надо выбирать не просто всех игроков, а например, игрока с определённым игровом режиме. Для этого существуют специальные аргументы, которые используются вместе с базовыми селекторами.
Синтаксис добавления аргументов:
/tell @p[arg1=4,arg2=9]
Отлично! Теперь давайте попробуем разобрать все возможные аргументы.
Аргумент rm: Производит поиск по минимальному радиусу. Имеется ввиду поиск игрока по условию «Не ближе чем rm блоков от стартовой точки».
Аргумент m: Отвечает за игровой режим игрока, которого мы ищем. Используется крайне редко. Может принимать значения 0 (Режим выживания), 1 (Творческий режим) или 2 (Приключенческий режим).
Аргумент l: Отвечает за максимальный уровень выбираемого игрока. Учтите: Конструкция @a[l=15] будет искать людей с 15 и менее очками опыта, а @a[l=15L] с 15 и менее уровнями.
Аргумент lm: Отвечает за минимальный уровень выбираемого игрока. Учтите: Конструкция @a[lm=15] будет искать людей с 15 и более очками опыта, а @a[lm=15L] с 15 и более уровнями.
Аргумент score_<имяСтатистики>=X: Отвечает за поиск игроков с X очков в выбранной статистике.
Аргумент score_<имяСтатистики>_min=X: Отвечает за поиск игроков с X и большим количеством очков в выбранной статистике.
Аргумент team: Отвечает за поиск игроков в определённой команде.
Аргумент name: Отвечает за поиск игрока с определённым ником.
Если перед значением аргумента указать «!» (Например: @a[name=!name]), то будет производиться поиск игроков не соответствующих параметрам.
[Гайд] Селекторы и их назначение
Итак, некоторые команды в Minecraft, могут использовать в качестве селектора игрока его ник. Например, если я выполню в чате команду /gamemode creative ArtemkaFomin, я установлю себе творческий режим игры. В данном случае, для того, чтобы интерпретатор смог понять, кому надо изменить режим игры, я указал непосредственно свой ник. Однако, такой подход не всегда удобен, а иногда вовсе не допустим, поскольку мы не всегда можем заранее знать, кто будет играть на нашей карте. Для таких целей были созданы селекторы, которые смогут сами выбирать игрока по определённым параметрам. Давайте их рассмотрим.
Естественно, чаще всего нам надо выбирать не просто всех игроков, а например, игрока с определённым игровом режиме. Для этого существуют специальные аргументы, которые используются вместе с базовыми селекторами.
Синтаксис добавления аргументов:
/tell @p[arg1=4,arg2=9]
Отлично! Теперь давайте попробуем разобрать все возможные аргументы.
Аргумент rm: Производит поиск по минимальному радиусу. Имеется ввиду поиск игрока по условию «Не ближе чем rm блоков от стартовой точки».
Аргумент m: Отвечает за игровой режим игрока, которого мы ищем. Используется крайне редко. Может принимать значения 0 (Режим выживания), 1 (Творческий режим) или 2 (Приключенческий режим).
Аргумент l: Отвечает за максимальный уровень выбираемого игрока. Учтите: Конструкция @a[l=15] будет искать людей с 15 и менее очками опыта, а @a[l=15L] с 15 и менее уровнями.
Аргумент lm: Отвечает за минимальный уровень выбираемого игрока. Учтите: Конструкция @a[lm=15] будет искать людей с 15 и более очками опыта, а @a[lm=15L] с 15 и более уровнями.
Аргумент score_<имяСтатистики>=X: Отвечает за поиск игроков с X очков в выбранной статистике.
Аргумент score_<имяСтатистики>_min=X: Отвечает за поиск игроков с X и большим количеством очков в выбранной статистике.
Аргумент team: Отвечает за поиск игроков в определённой команде.
Аргумент name: Отвечает за поиск игрока с определённым ником.
Если перед значением аргумента указать «!» (Например: @a[name=!name]), то будет производиться поиск игроков не соответствующих параметрам.
[Гайд] Селекторы и их назначение
Итак, некоторые команды в Minecraft, могут использовать в качестве селектора игрока его ник. Например, если я выполню в чате команду /gamemode creative ArtemkaFomin, я установлю себе творческий режим игры. В данном случае, для того, чтобы интерпретатор смог понять, кому надо изменить режим игры, я указал непосредственно свой ник. Однако, такой подход не всегда удобен, а иногда вовсе не допустим, поскольку мы не всегда можем заранее знать, кто будет играть на нашей карте. Для таких целей были созданы селекторы, которые смогут сами выбирать игрока по определённым параметрам. Давайте их рассмотрим.
Естественно, чаще всего нам надо выбирать не просто всех игроков, а например, игрока с определённым игровом режиме. Для этого существуют специальные аргументы, которые используются вместе с базовыми селекторами.
Синтаксис добавления аргументов:
/tell @p[arg1=4,arg2=9]
Отлично! Теперь давайте попробуем разобрать все возможные аргументы.
Аргумент rm: Производит поиск по минимальному радиусу. Имеется ввиду поиск игрока по условию «Не ближе чем rm блоков от стартовой точки».
Аргумент m: Отвечает за игровой режим игрока, которого мы ищем. Используется крайне редко. Может принимать значения 0 (Режим выживания), 1 (Творческий режим) или 2 (Приключенческий режим).
Аргумент l: Отвечает за максимальный уровень выбираемого игрока. Учтите: Конструкция @a[l=15] будет искать людей с 15 и менее очками опыта, а @a[l=15L] с 15 и менее уровнями.
Аргумент lm: Отвечает за минимальный уровень выбираемого игрока. Учтите: Конструкция @a[lm=15] будет искать людей с 15 и более очками опыта, а @a[lm=15L] с 15 и более уровнями.
Аргумент score_<имяСтатистики>=X: Отвечает за поиск игроков с X очков в выбранной статистике.
Аргумент score_<имяСтатистики>_min=X: Отвечает за поиск игроков с X и большим количеством очков в выбранной статистике.
Аргумент team: Отвечает за поиск игроков в определённой команде.
Аргумент name: Отвечает за поиск игрока с определённым ником.
Если перед значением аргумента указать «!» (Например: @a[name=!name]), то будет производиться поиск игроков не соответствующих параметрам.
Minecraft Wiki
The Minecraft Wiki is no longer considered as official by Microsoft and therefore several changes are required to be made, including to the wiki’s logo. Please read this announcement for more information.
Target selectors
Target selectors are used in commands to select players and entities arbitrarily, without needing to specify an exact player name or a UUID. One or more entities can be selected with a target selector variable, and targets can be filtered from the selection based on certain criteria using the target selector arguments.
For example, to change the game mode of all players to Creative mode, instead of specifying each of them by name individually:
/gamemode creative @a
Contents
Target selector variables [ ]
Variable | Function |
---|---|
@p | nearest player |
@r | random player |
@a | all players |
@e | all entities |
@s | entity executing the command |
@c | the player’s agent [ Education Edition only ] |
@v | all agents [ Education Edition only ] |
@initiator | the player who clicks an NPC dialogue button [ Bedrock Edition only ] |
A target selector variable identifies the broad category of targets to select. There are five (six in Bedrock Edition, seven in Education Edition) variables:
@p Targets the nearest player from the command’s execution. If there are multiple nearest players, caused by them being precisely the same distance away, the player who most recently joined the server is selected. In Bedrock Edition, @p only targets players who are alive. @r Targets a random player. Bedrock Edition can use @r to target non-player entities via the type selector argument; in Java Edition, to select a random entity, use @e[sort=random] instead. In Bedrock Edition, @r can only target entities who are alive. @a Targets every player, alive or not. @e Targets all alive entities (including players) in loaded chunks. @s Targets the entity (alive or not) that executed the command. It does not target anything if the command was run by a command block or server console. @c [ Education Edition only ] Target the player’s agent only. @v [ Education Edition only ] Target all agents. Works only if more than one agent exists. @initiator [ Bedrock Edition only ] Targets the player who interacts with a button in a JSON NPC dialogue.
Target selector arguments [ ]
Argument-value pairs appear within square brackets after the target selector variable, separated by commas:
In Java Edition, arguments and values are case-sensitive. Spaces are allowed around the brackets, equal signs, and commas, except in Java Edition between the target variable and the first bracket. Commas must be used to separate argument-value pairs.
If there are multiple argument-value pairs, they all must be satisfied to add a potential target to the group. (In other words, they are AND-ed together).
History [ ]
Issues [ ]
Issues relating to «Target selectors» are maintained on the bug tracker. Report issues there.