Publicidade

Comandos/data

Esse recurso é exclusivo para Edição Java. 
A tradução da página está em andamento 
Sinta-se livre para ajudar a Minecraft Wiki em Português!
cerca de 90% da tradução está concluída

O comando /data permite que o usuário obtenha, mescle, modifique e remova dados NBT de Bloco-entidade, entidades, ou Comando armazenado em NBT.

Sintaxe

Existem quatro instruções para /data (get, merge, modify, remove), e os destinos/fontes referenciados por cada comando de instrução podem ser block <targetPos>, entity <target>, ou storage <target>.

/data ...
... get
... (block <targetPos>|entity <target>|storage <target>) [<path>] [<scale>]
Leia todos os dados NBT ou a subseção dos dados NBT da posição ou entidade de bloco de destino para o executor com realce de sintaxe, escalado por <escala> se especificado.
... merge
... (block <targetPos>|entity <target>|storage <target>) <nbt>
Mescle os dados NBT da posição ou entidade do bloco de destino com os dados <nbt> especificados.
... modify (block <targetPos>|entity <target>|storage <target>) <targetPath> ...
... append from (block <sourcePos>|entity <source>|storage <source>) [<sourcePath>]
... append value <value>
Append the source data or direct value data onto the end of the pointed-to list.
... insert <index> from (block <sourcePos>|entity <source>|storage <source>) [<sourcePath>]
... insert <index> value <value>
Insira os dados de origem ou os dados de valor direto na lista apontada como elemento <index> e, em seguida, desloque os elementos superiores uma posição para cima.
... merge from (block <sourcePos>|entity <source>|storage <source>) [<sourcePath>]
... merge value <value>
Merge the source data or direct value data into the pointed-to object.
... prepend from (block <sourcePos>|entity <source>|storage <source>) [<sourcePath>]
... prepend value <value>
Anexe os dados de origem ou dados de valor direto no início da lista apontada.
... set from (block <sourcePos>|entity <source>|storage <source>) [<sourcePath>]
... set value <value>
Defina a tag especificada por <targetPath> para os dados de origem ou dados de valor direto.
... remove
... (block <targetPos>|entity <target>|storage <target>) <path>
Remove os dados NBT em <path> da posição ou entidade do bloco de destino. Os dados NBT do jogador não podem ser removidos.


Sintaxe exibida de várias maneiras

Argumentos

<targetPos>: block_pos

A posição do alvo Bloco-entidade cujo NBT deve ser operado.
It deve ser um bloco de posição composto de <x>, <y> e <z>, cada um deles deve ser um número inteiro ou notação de til e circunflexo.

<target>: entity (no modo entity <target>)

Especifica uma entidade cujo NBT será operado.
Deve ser um nome de jogador, seletores de destino ou o UUID.  And o seletor de destino deve ser de tipo único.

<target>: resource_location (no modo storage <target>)

Especifica um armazenamento a ser operado.
Deve ser um ID de espaço de nome.

<path>: nbt_path

Especifica o NBT a ser recuperado ou removido.
Must be an NBT path.

<scale>: double

Escalar para o valor de retorno do comando.
Deve ser um no número de ponto de flutuação de precisão dupla.

<nbt>: nbt_compound_tag

Especifica uma tag composta a ser mesclada em algum lugar.
Must be a compound NBT in SNBT format.

<targetPath>: nbt_path

Especifica o NBT de destino a ser modificado.
Must be an NBT path.

<index>: integer

Especifica o índice de um item em uma lista.
Deve ser um número inteiro de 32 bits. And it must be between -2147483648 and 2147483647 (inclusive).

<sourcePos>: block_pos

A posição do alvo Bloco-entidade cujo NBT deve ser usado.
It deve ser um bloco de posição composto de <x>, <y> e <z>, cada um deles deve ser um número inteiro ou notação de til e circunflexo.

<source>: entity (no modo entity <source>)

Especifica uma entidade cujo NBT deve ser usado por modify.
Deve ser um nome de jogador, seletores de destino ou o UUID.  And o seletor de destino deve ser de tipo único.

<source>: resource_location (no modo storage <source>)

Especifica um armazenamento a ser usado por modify.
Deve ser um ID de espaço de nome.

<sourcePath>: nbt_path

Especifica a fonte NBT a ser usada por modify.
Must be an NBT path.

<value>: nbt_tag

Valor usado na modificação do NBT alvo. Deve corresponder ao seu tipo de dados.
Must be an NBT tag of any type in SNBT format.

Resultado

ComandoGatilhoEdição Java
qualqueros argumentos não foram especificados corretamente não analisável
<targetPos> esta descarregado ou fora do mundo falha
o bloco em <targetPos> não é um bloco-entidade
<target> (em entity <target>) falha em resolver para uma entidade (o jogador nomeado deve estar online)
/data get ...mais de uma tag foi coletada
/data get ... <path><path> não existe
/data get ... <path> <scale>a tag obtida não é uma tag numérica
/data merge ...
/data remove ...
/data modify ...
nada é alterado
tenta editar os dados do jogador
/data remove ...
/data modify ... set ...
<path> is the root compound tag
/data modify ... from block ...<sourcePos> esta descarregado ou fora do mundo
o bloco em <sourcePos> não é um bloco-entidade
/data modify ... from entity ...<sourceEntity> falha em resolver para uma entidade (o jogador nomeado deve estar online)
/data modify ... from ... <sourcePath><sourcePath> não existe
/data modify ... append ...
/data modify ... insert <index> ...
/data modify ... prepend ...
a tag de destino não é uma lista ou array
os dados de origem não são de um tipo de item apropriado para a lista
/data modify ... insert <index> ...o indice é inválido
/data modify ... merge ...o caminho de destino não especifica uma tag composta
os dados de origem não são uma tag composta
qualquerCom sucessoColetar, unificar, modificar, e remover dados NBT.

Saída

ComandoEdiçãoSituaçãoContagem de sucesso/execute store succeess .../execute store result ...
qualquerEdição JavaNa falha000
/data get ...No sucesso111
/data get ... <path>uma tag numérica é obtida11o valor obtido após o arredondamento para baixo[1]
uma lista ou tag array é obtida11O número de elementos nesta lista ou array
uma tag de string é obtida11O comprimento da string
uma tag composta é obtida11O número de tags que são filhos diretos desse composto
/data get ... <path> <scale>No sucesso11o valor obtido multiplicado por <escala>, então arredondado para baixo[2]
/data merge ...No sucesso111
/data remove ...No sucesso111
/data modify ... append ...
/data modify ... insert <index> ...
/data modify ... prepend ...
No sucesso11o número de listas ou arrays aos quais novos elementos são adicionados
/data modify ... set ...No sucesso11o número de tags de destino que foram modificados com sucesso
/data modify ... merge ...No sucesso11o número de tags compostas de destino que foram modificadas com sucesso

Exemplos

  • Para obter o nível de saturação do jogador atual:
    /data get entity @s foodSaturationLevel
  • Para tornar o item mais próximo dentro de 10 blocos incapaz de ser pego pelos jogadores:
    /data modify entity @e[type=item,distance=..10,limit=1,sort=nearest] PickupDelay set value -1
  • Para obter a posição Y de um item aleatório:
    /data get entity @e[type=item,limit=1,sort=random] Pos[1]
  • Para obter o ID do item no primeiro slot da hotbar do jogador mais próximo:
    /data get entity @p Inventory[{Slot:0b}].id
  • Para definir o atributo de armadura do golfinho mais próximo das coordenadas (0, 64, 0) para 20:
    /data modify entity @e[x=0,y=64,z=0,type=dolphin,limit=1] Attributes[{Name:"minecraft:generic.armor"}].Base set value 20
  • Para transformar o primeiro item em um baú localizado nas coordenadas (1, 64, 1) em um bloco de diamante, mantendo todos os dados NBT:
    /data modify block 1 64 1 Items[0].id set value "minecraft:diamond_block"
  • Para fazer com que o zumbi mais próximo tenha 80% de chance de derrubar itens em sua mão secundária quando morrer, e nunca deixar cair itens na mão principal:
    /data merge entity @e[type=zombie,limit=1,sort=nearest] {HandDropChances: [0f, 0.8f]}
  • Fazer com que o zumbi mais próximo tenha 80% de chance de derrubar itens em sua mão secundária ao morrer, sem afetar a chance da mão principal:
    /data modify entity @e[type=zombie,limit=1,sort=nearest] HandDropChances[1] set value 0.8f

Armazenamento

Veja também: formato de armazenamento de comando

O armazenamento de comando de dados NBT é uma maneira eficiente para comandos acessarem ou salvarem dados NBT sem criar uma sobrecarga e Bloco-entidade ou entidades lendo ou gravando nos dados NBT.

Cada armazenamento de comando possui um valor-chave de uso geral, identificado por uma localização do recurso para evitar conflitos não intencionais.

/data get e /data modify pode ler a partir do armazenamento, enquanto /data merge, /data modify, /data remove, e /execute store podem escrever para o armazenamento.

O armazenamento de comandos também pode ser acessado com um texto JSON.

Histórico

Edição Java
1.13 17w45b Adicionado /data.
17w47a Comandos /blockdata e /entitydata foram removidos e seus recursos foram unificados em /data.
18w03a Usar /data get (block|entity|storage) com um caminho agora funciona em valores não numéricos.
1.14 18w43a Adicionado /data modify (block|entity|storage).
1.15 19w38a Adicionado storage <resource location> como fonte ou destino.

Referências

  1. double n = (double)value;
    int output = n < (int)n ? (int)n - 1 :(int)n;
  2. double n = (double)value * scale;
    int output = n < (int)n ? (int)n - 1 :(int)n;
Publicidade
O conteúdo da comunidade está disponível sob CC BY-NC-SA salvo indicação em contrário.