Seletores de destino
Os seletores de destino são usados em comandos para selecionar jogadores e entidades arbitrariamente, sem a necessidade de especificar um nome exato de jogador ou um UUID. Uma ou mais entidades podem ser selecionadas com uma variável do seletor de destino e os destinos podem ser filtrados da seleção com base em determinados critérios usando os argumentos do seletor de destino.
Variáveis de seletor de destino[editar | editar código-fonte]
Variável | Função |
---|---|
@p |
jogador mais próximo |
@r |
jogador aleatório |
@a |
todos os jogadores |
@e |
todas as entidades |
@s |
a entidade executando o comando |
@c |
seu agente[Edição Education apenas] |
@v |
todos os agentes[Edição Education apenas] |
Uma variável do seletor de destino identifica a ampla categoria de destinos a serem selecionados. Existem cinco variáveis:
@p
- Tem como alvo o jogador mais próximo. Quando executado pelo console, a origem da seleção será em (0, 0, 0). Se houver vários jogadores mais próximos, causados por eles estar precisamente à mesma distância, o jogador que ingressou mais recentemente no servidor é selecionado.
- Argumentos do seletor de destino pode ser usado para reduzir o conjunto de jogadores do qual o jogador mais próximo será selecionado. Por exemplo,
@p[team=Red]
terá como alvo o jogador mais próximo da equipe Red, mesmo que haja outros jogadores mais próximos.
- O argumento do seletor de destino
c
[Edição Bedrock apenas] oulimit
[Edição Java apenas] pode ser usado para aumentar o número de jogadores mais próximos alvo (por exemplo,,@p[c=3]
[Edição Bedrock apenas] ou@p[limit=3]
[Edição Java apenas] terá como alvo os três jogadores mais próximos).
@r
- Alvos de um jogador aleatório.
- Argumentos do seletor de destino pode ser usado para reduzir o conjunto de jogadores do qual um jogador aleatório será direcionado. Por exemplo,
@r[team=Red]
só irá direcionar um jogador aleatório da equipe Red.
- O argumento do seletor de destino
limit
pode ser usado para aumentar o número de jogadores aleatórios alvos. Por exemplo,@r[limit=3]
terá como alvo três jogadores aleatórios.
- O argumento
type
não é permitido no@r
. Para selecionar uma entidade aleatória, use@e[sort=random,limit=1]
.
@a
- Alvos todos os jogadores, incluindo jogadores mortos. Nenhum outro seletor encontrará jogadores mortos, exceto
@s
.
- Argumentos do seletor de destino pode ser usado para reduzir o conjunto de jogadores alvo. Por exemplo,
@a[team=Red]
só terá como alvo os jogadores da equipe Red.
@e
- Alvos todas as entidades (incluindo jogadores).
- Argumentos do seletor de destino pode ser usado para reduzir o conjunto de entidades segmentadas. Por exemplo,
@e[type=cow]
segmentará apenas vacas. @s
- Segmenta apenas uma entidade - a entidade que executou o comando, incluindo jogadores mortos. Se o executor não for uma entidade, por exemplo, se o executor for um bloco de comandos ou um console do servidor, esse seletor não encontrará nada.
- Argumentos do seletor de destino pode ser usado para especificar se o executor está realmente qualificado para ser segmentado. Por exemplo,
@s[type=cow,team=Red]
só irá direcionar o executor do comando se o executor for uma vaca na equipe Red.
@c
[Edição Education apenas]
- Segmentar apenas seu agente.
limit
[Edição Education apenas]
- Argumentos do seletor de destino pode ser usado para direcionar seu agente. Por exemplo,
/tp @c 50 60 40
irá teletransportar seu agente apenas para o local especificado.
@v
[Edição Education apenas]
- Segmentar todos os agentes.
limit
[Edição Education apenas]
- Argumentos do seletor de destino pode ser usado para direcionar todos os agentes. Por exemplo,
/remove @v
irá remover todos os agentes.
Argumentos do seletor de destino
Seleção por posição | |
---|---|
Argumento(s) | Critério de seleção |
x , y , z
|
coordenada |
distance [Edição Java apenas]r , rm [Edição Bedrock apenas]
|
distância |
dx , dy , dz
|
volume |
Seleção por valores no placar | |
Argumento(s) | Critério de seleção |
scores
|
pontuação |
tag
|
etiqueta |
team
|
equipe |
Seleção por traços | |
Argumento(s) | Critério de seleção |
limit ,sort [Edição Java apenas]c [Edição Bedrock apenas]
|
limite |
level [Edição Java apenas]l ,lm [Edição Bedrock apenas]
|
nível de experiência |
gamemode [Edição Java apenas]m [Edição Bedrock apenas]
|
modo de jogo |
name
|
nome da entidade |
x_rotation [Edição Java apenas]rx ,rxm [Edição Bedrock apenas]
|
rotação vertical |
y_rotation [Edição Java apenas]ry ,rym [Edição Bedrock apenas]
|
rotação horizontal |
type
|
tipo de entidade |
nbt [Edição Java apenas]
|
nbt |
advancements [Edição Java apenas]
|
progressos |
predicate [Edição Java apenas]
|
predicado |
Depois de usar um seletor de destino, você pode usar opcionalmente argumentos para modificar o conjunto de destinos selecionados. Quando usado com argumentos @a
ou @e
, reduzem o número de alvos da lista completa para alguns específicos. Quando usado com argumentos @p
ou @r
, reduzem o número de alvos para baixo da lista completa para um conjunto menor a partir do qual o jogador mais próximo ou aleatório é selecionado. Quando usado com argumento @s
, o usuário do comando só será direcionado se todos os argumentos passarem, caso contrário, o comando falhará.
Adicione pares argumento-valor como uma lista separada por vírgula contida entre colchetes após a variável do seletor de destino:
@<variable>[<argument>=<valor>,<argument>=<valor>,…]
.
Argumentos e valores fazem distinção entre maiúsculas e minúsculas. Os espaços são permitidos ao redor dos colchetes, sinais de igual e vírgulas, exceto entre a variável de destino e o primeiro colchete. Vírgulas devem ser usadas para separar pares de valor de argumento.
- Seleção de alvos por coordenada
[x=X,y=Y,z=Z]
— Seleciona os alvos com base na distância até a posição exata. Combine com a seleção por distância para selecionar apenas alvos dentro de uma certa distância daquela posição específica, ou combine com dimensões de volume para selecionar apenas alvos dentro de um determinado volume cúbico.
- As coordenadas são valores com dois décimos, como
12.34
e não são centradas corretamente no centro, significando quex=0
não é corrigido parax=0.5
- notação disponível para o seletor de argumentos de coordenadas[Edição Bedrock apenas].
- Seleção de alvos por distância
[distance=DISTÂNCIA]
— Seleciona apenas alvos exatamente na DISTÂNCIA de blocos de onde o comando foi executado. Se DISTÂNCIA for um intervalo, seleciona apenas alvos cuja distância esteja dentro desse intervalo. Apenas valores não negativos são permitidos.
- Se uma coordenada (acima) e um ou ambos os raios estiverem ambos definidos, o raio centralizará na coordenada em vez da posição da execução do comando.
- Os intervalos são suportados para permitir apenas determinadas distâncias.
distance=10
seleciona apenas entidades em exatamente 10 blocos de distanciadistance=10..12
seleciona apenas entidades entre (e inclusive) 10 e 12 blocosdistance=5..
seleciona apenas entidades em mais (e inclusive) de 5 blocos de distânciadistance=..15
seleciona apenas entidades em menos de (e inclusive) 15 blocos de distância
- Seleção de alvos por volumeSeleção de alvos por volume
[<x>,<y>,<z>,dx=<valor>,dy=<valor>,dz=<valor>]
- Filtra a seleção dos alvos baseado em sua diferença de x, sua diferença de y e sua diferença de z a partir de algum ponto, medido da borda mais próxima da hitbox das entidades.- Isso pode ser interpretado como a criação de um volume retangular definido por uma posição inicial (<x>, <y>, <z>) e vetor diagonal (<dx>, <dy>, <dz>), selecionando todas as entidades cujas hitboxes são pelo menos parcialmente contidos por esse volume. Se os argumentos posicionais forem omitidos, a seleção é interpretada como originária da posição de execução do comando. Todos os valores são permitidos, incluindo números assinados e fracionários.
- Note que
dx
,dy
,dz
especificam diferenças assinadas da coordenada dada. Eles não especificam uma coordenada separada, nem se estendem nas direções positiva e negativa.@e[x=1,dx=4,y=2,dy=5,z=3,dz=6]
— Selecione todas as entidades cujo hitbox coleta com a região do bloco (1~5, 2~7, 3~9) (ou, matematicamente falando, a região que é {(x,y,z)∈R3|x∈[1.0,5.0),y∈[2.0,7.0),z∈[3.0,9.0)}).@e[x=1,y=2,z=3,dx=0,dy=0,dz=0]
— Selecione todas as entidades cujo hitbox contém o ponto (1,2,3).
- É possível combinar seleção por distância e seleção por volume, caso em que o comando selecionará apenas alvos dentro da sobreposição de ambas as regiões (dentro de determinado raio do ponto inicial do volume e não fora do volume definido).
- Seleção de alvos por pontuação
[scores={<objetivo>=<valor>,...}]
- Filtrar a seleção de destino com base em suas pontuações em objetivos especificados.- Todos os objetivos testados estão em uma única tag, com uma lista de seletores de pontuação individuais entre chaves depois. Os seletores dentro das chaves suportam os intervalos.
@e[scores={myscore=10}]
— Seleciona todas as entidades com uma pontuação no objetivo myscore de exatamente 10.@e[scores={myscore=10..12}]
— Seleciona todas as entidades com uma pontuação no objetivo myscore entre (e inclusive) 10 e 12.@e[scores={myscore=5..}]
— Seleciona todas as entidades com uma pontuação no objetivo myscore de 5 ou maior.@e[scores={myscore=..15}]
— Seleciona todas as entidades com uma pontuação no objetivo myscore de 15 ou menor.
- Para
@e[scores={foo=10,bar=1..5}]
— Seleciona todas as entidades com uma pontuação no objetivo foo de exatamente 10 e uma pontuação na barra de objetivo entre (e inclusive) 1 e 5.
- Selecionando alvos por equipe[Edição Java apenas]
[team=<nomeDoTime>]
- Filtra a seleção de destino para aqueles que estão em uma determinada equipe.[team=!<nomeDoTime>]
— Filtra para aqueles que não estão em uma determinada equipe.[team=]
— Filtra para aqueles que não tem uma equipe.[team=!]
— Filtra para quem tem alguma equipe.
- Seleção de alvos por limite
[limit=<valor>]
- Limite o número de destinos selecionados para não ser maior que o valor fornecido.- Ao usar as variáveis
@p
e@r
, este argumento é padronizado como 1. Aplicando o argumentolimit
para eles podem aumentar artificialmente o número de alvos mais próximos ou aleatórios selecionados. Ao aplicar este argumento para@a
ou@e
, esse argumento retorna apenas um número limitado de destinos. [limit=<value>,sort=(nearest|furthest|random|arbitrary)]
- Limite o número de destinos e especifique a prioridade da seleção.sort=nearest
— Classifique aumentando a distância. (Padrão para@p
)sort=furthest
— Ordenar por diminuir a distância.sort=random
— Classifique aleatoriamente. (Default for@r
)sort=arbitrary
— Não classifique. (Padrão para@e
,@a
)@a[limit=3,sort=nearest]
[Edição Java apenas] ou@p[limit=3]
[Edição Java apenas] ou@p[c=3]
[Edição Bedrock apenas] — Selecione os 3 jogadores mais próximos.@a[limit=4,sort=furthest]
[Edição Java apenas] ou@p[c=-3]
[Edição Bedrock apenas] — Selecione os 4 jogadores mais distantes.@a[limit=2,sort=random]
[Edição Java apenas] ou@r[c=2]
[Edição Bedrock apenas] — Selecione 2 jogadores, escolhidos aleatoriamente.
- Seleção de alvos por nível de experiência
[level=<value>]
- Filtrar a seleção de segmentação com base em seus níveis de experiência. Isso naturalmente filtra todos os alvos que não são jogadores.- Este seletor suporta intervalos:
@a[level=10]
— Selecione todos os jogadores que tenham exatamente 10 níveis.@a[level=10..20]
— Selecione todos os jogadores que tenham entre 10 e 20 níveis (inclusive).@a[level=30..]
— Selecione todos os jogadores que tenham pelo menos 30 níveis.@a[level=..29]
— Selecione todos os jogadores que tenham no máximo 29 níveis.
- Seleção de alvos por modo de jogo
[gamemode=<gamemodeName>]
— Filtre a seleção de alvo para aqueles que estão no modo de jogo especificado.[gamemode=!<gamemodeName>]
— Filtre a seleção de alvo para aqueles que não estão no modo de jogo especificado.- Valores permitidos para <gamemodeName> são
spectator
[Edição Java apenas],adventure
,creative
, esurvival
. - Isso naturalmente filtra todos os alvos que não são jogadores.
@a[gamemode=survival]
[Edição Java apenas] ou@a[m=1]
[Edição Bedrock apenas] or@a[m=s]
[Edição Bedrock apenas] — Selecione todos os jogadores que estão no modo Sobrevivência.@a[gamemode=!spectator]
[Edição Java apenas] — Selecione todos os jogadores que não estão no modo Espectador.
- Seleção de alvos por nome
[name=<givenName>]
— Filtre a seleção de destino para todos aqueles com um determinado nome.[name=!<givenName>]
— Filtre a seleção de destino para todos aqueles sem um nome determinado.- Isso é uma string, portanto, os espaços só são permitidos se as cotações forem aplicadas. Isso não pode ser um composto de texto JSON.
@e[name!=Steve]
- Selecione todas as entidades que não são denominadas "Steve".
- Seleção de alvos por rotação vertical
[x_rotation=<value>]
— Filtre a seleção de alvo com base em seu tom ou, mais especificamente, sua declinação do horizonte, medida em graus. Os valores variam de -90 (em linha reta) a 0 (no horizonte) a +90 (em linha reta).- This argument supports ranges:
@e[x_rotation=0]
— Selecione todas as entidades que estão olhando diretamente no horizonte.@e[x_rotation=30..60]
— Selecione todas as entidades que estão procurando entre 30° e 60° (inclusive) abaixo do horizonte.@e[x_rotation=45..]
— Selecione todas as entidades que estão procurando 45° ou mais abaixo do horizonte.@e[x_rotation=..0]
— Selecione todas as entidades que estão olhando ou acima do horizonte.
- Seleção de alvos por rotação horizontal
[y_rotation=<value>]
— Filtrar a seleção de alvo com base na sua rotação no plano XZ horizontal, medido no sentido horário em graus a partir do sul (ou a direção Z positiva). Os valores variam de -180 (indo para o norte) até -90 (voltado para o leste) até 0 (voltado para o sul) até +90 (virado para o oeste) até +180 (voltado para o norte novamente).- This argument supports ranges.
@e[y_rotation=0]
— Selecione todas as entidades que estão voltadas para o sul.@e[y_rotation=45]
— Selecione todas as entidades que estão voltadas para 45° a oeste do sul.@e[y_rotation=96]
— Selecione todas as entidades que estão voltadas para 6° ao norte do oeste.@e[y_rotation=-90..0]
— Selecione todas as entidades que estão enfrentando no 90° entre leste e sul devidos (inclusive).@e[y_rotation=-90..90]
— Selecione todas as entidades que estão enfrentando entre o leste e o oeste devidos (inclusive), pelo sul.@e[y_rotation=0..]
— Selecione todas as entidades que não estão voltadas para o leste.
- Seleção de alvos por tipo
[type=<entityType>]
— Filtre a seleção de destino para aquelas de um tipo de entidade específico.[type=!<entityType>]
— Filtre a seleção de destino para aqueles que não são de um tipo de entidade específico.- O tipo de entidade fornecido deve ser um válido ID da entidade ou etiquetas usadas para identificar diferentes tipos de entidades internamente. O espaço nominal pode ser deixado de fora se o ID estiver dentro do espaço nominal
minecraft:
. (Por exemplo,creeper
para creepers,minecart
para o carrinho de minas,tnt
para a dinamite, etc.) Os IDs ou etiquetas da entidade diferenciam maiúsculas de minúsculas. - Ao usar o parâmetro
@r
,esse argumento assume como o tipo padrão deplayer
. Definir um tipo para este parâmetro pode filtrar a seleção aleatória apenas para entidades.@e[type=skeleton]
— Selecione todos os esqueletos.@e[type=!chicken,type=!cow]
— Selecione todas as entidades exceto galinhas e vacas.@e[type=chicken,type=cow]
- Não aplicável; seleciona todas as entidades que são simultaneamente uma galinha e uma vaca.@e[type=#skeletons]
— Selecione todos os esqueletos, esqueletos withers e vagantes.
- Seleção de alvos por etiqueta
[tag=<string>]
— Filtre a seleção de destino para aqueles que tenham pelo menos uma tag com o nome fornecido.[tag=!<string>]
— Filtre para aqueles que não possuem tags com o nome fornecido.[tag=]
— Filtre para aqueles que possuem exatamente zero etiquetas.[tag=!]
— Filtre para aqueles que têm pelo menos uma etiqueta.- Vários argumentos de etiqueta são permitidos. Todas as especificações de argumentos devem ser atendidas para que uma entidade seja selecionada.
@e[tag=a,tag=b,tag=!c]
— Selecione todas as entidades que possuem as etiquetas aeb, mas não a c.@r[tag=a]
— Selecione um jogador aleatório que tenha a etiqueta a.
- Seleção de alvos por NBT[Edição Java apenas]
[nbt=<compoundTag>]
— Selecione todos os destinos que possuem o NBT especificado. O NBT está escrito em sua definição de comando.- For example:
@a[nbt={OnGround:true}]
— Selecione todos os jogadores no chão.@e[type=sheep,nbt={Color:0b}]
— Selecione todas as ovelhas tingidas de branco.@e[type=item,nbt={Item:{id:"minecraft:slime_ball"}}]
— Seleciona todas as bola de slime são largadas.@e[nbt={Tags:[a,b]}]
is the same as@e[tag=a,tag=b]
. O último é mais simples e reduz a carga da CPU.
- Nota: Ao corresponder ao formato de string de ID de espaço nominal dentro de uma etiqueta, o espaço para nome não pode ser omitido.
- Portanto
@e[type=item,nbt={Item:{id:slime_ball}}]
não consegue encontrar nenhuma queda como o campo id sempre contém um sequência convertida em ID no espaço nominal.
- Portanto
- Seleção de alvos pelos progressos[Edição Java apenas]
[advancement={<namespaced ID>=<bool>}]
— Selecione todos os destinos que correspondem ao avanço e valor especificados.[advancement={<namespaced ID>={<criteria>=<bool>}}]
— Selecione todos os destinos que correspondem ao avanço e valor especificados.- O nome do argumento é o ID do avanço (o espaço nominal pode ser deixado de fora quando espaço nominal
minecraft
).]]. O valor é verdadeiro ou falso. - Para progressos com um critério, o teste para esses critérios sempre fornecerá os mesmos resultados que os testes para o progresso.
@a[advancements={story/form_obsidian=true}]
— Seleciona jogadores que alcançaram o progresso minecraft:story/form_obsidian.@a[advancements={story/form_obsidian=false}]
— Seleciona jogadores que não alcançaram o progresso minecraft:story/form_obsidian.@a[advancements={story/obtain_armor={iron_helmet=true}}]
— Seleciona jogadores que tinham blindado com capacete de ferro. Os jogadores selecionados não precisam usar capacete de ferro quando selecionados e não precisam ter alcançado o progresso minecraft:story/obtain_armor.@a[advancements={story/follow_ender_eye=true}]
é o mesmo que@a[advancements={story/follow_ender_eye={in_stronghold=true}}]
.
- Seleção de alvos por predicado[Edição Java apenas]
[predicate=<namespaced ID>]
— Selecione todos os destinos que correspondem ao predicado especificado.[predicate=!<namespaced ID>]
— Selecione todos os destinos que falham ao corresponder ao predicado especificado.
- Desde a 19w38a, seletores podem usar predicados no argumento.
@a[predicate=example:test_predicate]
— Seleciona jogadores que correspondem ao predicado example:test_predicate.@e[predicate=!minecraft-wiki:smart_entity]
— Seleciona entidades que não correspondem ao predicado minecraft-wiki:smart_entity.
Veja também[editar | editar código-fonte]
[editar | editar código-fonte]
Edições |
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Desenvolvimento |
| ||||||||||
Técnico |
| ||||||||||
Multijogador | |||||||||||
Características exclusivas |
| ||||||||||
Removido |