Что такое селектор майнкрафт

Обновлено: 16.05.2024

Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.

Использование [ ]

Поставит под игроком Alexander блок лавы.

Поставит 10 блоков гравия над 5 самыми дальними игроками, которые стоят на траве.

Очень полезным свойством команды /execute является то, что она может выполнять сама себя. Так можно проверять большие структуры на целостность всего одним командным блоком, не выстраивая огромные цепочки с командой /testforblock .
Для удобства чтения такая команда разделена на 3 строки, и вписывать её нужно в командный блок.

Руководство по команде execute

Issues [ ]

Issues relating to "Target selectors" are maintained on the bug tracker. Report issues there.

[Гайд] Базовые селекторы и дополнительные аргументы

[Гайд] Базовые селекторы и дополнительные аргументы

Начнём с описания базовых селекторов, а потом разберём все возможные аргументы, которые можно применить к уже имеющимся конструкциям.

Отлично! Теперь мы можем составлять некоторые элементарные команды, которых может вполне хватить для создания очень простой любительской карты. Однако мы пойдём дальше. В следующей таблице будут разобраны дополнительные аргументы для базовых селекторов. С их помощью можно намного более точно нацеливаться на различные объекты.

Однако сначала стоит определиться с тем, каким образом будут записываться дополнительные аргументы. На самом деле тут всё достаточно просто. В квадратных скобках (сразу после базового селектора) через запятую должны перечисляться пары «аргумент=значение аргумента» (@s[arg1=1,agr2=2,arg3=3]). Замечательно! Теперь давайте рассмотрим таблицу дополнительных аргументов для селекторов.

Великолепно! Осталось только отметить, что конструкция «@s[arg1=!1]» используется для указания противоположного условия. Помните пример с дополнительным аргументом rm? Тогда я отметил, что пару «аргумент=значение аргумента» rm=6 можно заменить на r=!6. Всё дело в том, что оба варианта подразумевают отсутствие нашей цели в радиусе шести блоков от начальной точки. Только во втором случае мы стоим наше условие на отрицании противоположного, а не на прямом утверждении.

Contents

Target selector arguments [ ]

After a target selector, optional arguments can be used to narrow down the set of targets to a group that also matches certain criteria. When used with @a or @e , arguments narrow down the targets from the full list to a specific group. When used with @p or @r , the nearest or random player is selected from the group. When used with @s , the player using the command is targeted only if they would be in the narrowed group.

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).

  • @e[distance=10] — Target all entities exactly ten blocks away.
  • @e[distance=8..16] — Target all entities more than eight blocks, but less than 16 blocks away (inclusive).
  • @e[rm=9,r=10] — Target all entities exactly ten blocks away.
  • @e[rm=8,r=16] — Target all entities from 8 to 16 blocks away.
  • @e[scores=] — Select all entities with a score in objective myscore of exactly ten.
  • @e[scores=] — Select all entities with a score in objective myscore of between ten and 12 (inclusive).
  • @e[scores=] — Select all entities with a score in objective myscore of five or greater.
  • @e[scores=] — Select all entities with a score in objective myscore of 15 or less.
  • @e[scores=] — Select all entities with a score in objective foo of exactly ten, and a score in objective bar of between one and five (inclusive).
  • @e[scores=] — Exclude any entities with a score in objective myscore of exactly ten.
  • @e[scores=] — Exclude any entities with a score in objective myscore of between ten and 15 (inclusive).
Selecting targets by tag Filter target selection based on the entity's scoreboard tags. Multiple tag arguments are allowed, and all arguments must be fulfilled for an entity to be selected. [tag=<string>] — Include only targets with the specified tag. [tag=!<string>] — Exclude any targets with the specified tag. [tag=] — Include only targets with exactly zero tags. [tag=!] — Exclude any targets that have at least one tag.
  • sort=nearest — Sort by increasing distance. (Default for @p )
  • sort=furthest — Sort by decreasing distance.
  • sort=random — Sort randomly. (Default for @r )
  • sort=arbitrary — Sort by time created. (Default for @e , @a )
  • @a[limit=3,sort=nearest] or @p[limit=3] — Select the nearest three players.
  • @a[limit=4,sort=furthest] — Select the furthest four players.
  • @a[limit=2,sort=random] or @r[limit=2] — Select two players, chosen randomly.
  • @a[c=3] — Select the nearest three players.
  • @a[c=-4] — Select the furthest four players.
  • @r[c=2] — Select two living players, chosen randomly.
  • @a[level=10] — Select all players who have exactly ten levels.
  • @a[level=8..16] — Select all players who have between eight and 16 levels (inclusive).
  • @a[lm=10,l=10] — Select all players who have exactly ten levels.
  • @a[lm=8,l=16] — Select all players who have between eight and 16 levels (inclusive).

[Гайд] Распределяем игроков по командам

[Гайд] Распределяем игроков по командам

Итак, для начала нам стоит уяснить несколько фундаментальных моментов, без которых построить схему, распределяющую игроков по командам, невозможно.

Что значит "Попадание в команду"?
Мы, как строители, должны понимать, что в дальнейшем нам может потребоваться выполнить какие-либо действия, относительно всех игроков в команде. Соответственно, ещё на этапе распределения игроков, мы должны регистрировать их в специальных командах. Не рекомендую использовать простую телепортацию в разные комнаты, поскольку в дальнейшем взаимодействовать с игроками из определённой команды будет достаточно проблематично.

Как распределить нечётное количество игроков?
Представьте ситуацию - на сервере находится 5 человек и нам нужно распределить их на 2 команды. 4 игрока из них будут успешно рассортированы - по 2 игрока в каждую команду. Но что делать с пятым игроком? Есть несколько возможных вариантов. Мы можем зарегистрировать игрока в отдельной команде и запретить ему играть, либо переместить его в одну из двух команд случайным образом. Как Вы понимаете, намного проще реализовать второй вариант развития событий. Мне кажется, что перевес в одного игрока в большинстве случаев не так существенен.

Итак, преступим к реализации механизма. Практическую его часть можно будет посмотреть на видео ниже. Сейчас мы будем реализовывать только техническую часть схемы. Для начала нам потребуется создать команду: /scoreboard teams add [отображаемоеИмяКоманды]. Затем мы будем поочерёдно регистрировать игроков в командах: /scoreboard teams join [никИгрокаИлиСелектор]. Теперь давайте выберем подходящий селектор. Селектор @p[c=1,r=5] выберет одного ближайшего игрока в радиусе пяти блоков.

Также, советую посмотреть видео-урок по распределению игроков по командам:

History [ ]

Java Edition
1.4.212w32aAdded target selectors.
1.814w02aAdded the @e target selector variable.
14w03aAdded dx , dy , and dz to target selector arguments.
1.916w02aThe m selector now accepts the standard literal gamemode values and abbreviations, such as a and adventure , and these may be negated as well.
1.1116w38aRemoved implicit target selectors (for example, @e[167,28,454] ).
Invalid target selectors (such as @e[Type=creeper] , @e[asdf=nonexistent] , and @e[malformed] ) now generate an error instead of being silently ignored.
1.1217w16bAdded the @s target selector variable.
1.1317w45bAdded the nbt target selector argument.
Bedrock Edition
?Aded target selectors
1.17.10beta 1.17.10.22Added the @initiator target selector

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 selector variables [ ]

A target selector variable identifies the broad category of targets to select. There are five (six in Bedrock Edition, seven in Education Edition) variables:

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

Синтаксис [ ]

Читайте также: