Minecraft Wiki
Advertisement
Information icon
Esse recurso é exclusivo para Edição Java. 
Lang-pt
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;
Advertisement