Integrated Dynamics - On the Dynamics of Integration

Caminho NBT

Ao trabalhar com tags NBT complexas, você pode rapidamente precisar de cadeias de operadores complexas para ler valores NBT profundamente aninhados. Para simplificar esta tarefa, expressões de Caminho NBT baseadas em String podem ser usadas para determinar o caminho dentro de uma tag NBT.

A expressão de Caminho NBT mais simples é composta por uma cadeia de seletores de campo, como .fieldName ou .[”fieldName”].

Por exemplo, aplicar a expressão ”.root.child1.child2” na tag NBT { root: { child1: { child2: ”algum valor” }}} resultará em ”algum valor”.

Múltiplos campos podem ser selecionados fornecendo um array de nomes de campos ou um curinga, por exemplo [fieldA,fieldB] ou *

Por exemplo, aplicar a expressão ”.a[b1,b2]*” na tag NBT { a: { b1: { c: ”algum valor” }}} resultará em ”algum valor”.

Ao trabalhar com listas NBT, entradas específicas podem ser selecionadas especificando um índice, como [1].

Por exemplo, aplicar a expressão ”.a[1]” na tag NBT { a: [10,20] } resultará em ”20”.

Múltiplos índices de lista podem ser selecionados usando o operador de fatia: [início:fim:passo]. (Apenas o início é obrigatório, os outros elementos podem ser omitidos)

Por exemplo, aplicar a expressão ”.a[1:4:2]” na tag NBT { a: [0,1,2,3,4,5] } resultará em [1,3].

Expressões de filtro mais avançadas também são possíveis usando a sintaxe de filtro, por exemplo [?(@.childName < 10)] (@ se refere à tag atual, .. se refere à tag pai, $ se refere à tag raiz)

Por exemplo, aplicar a expressão ”$.a[?(@ == 3)]” na tag NBT { a: [0,1,2,3,4,5] } resultará em [3].

Operador
Primeira Correspondência do Caminho NBTNBT.path_match_firstAplica a expressão de Caminho NBT fornecida no valor NBT fornecido e retorna a primeira correspondência
  • String
  • NBT
  • NBT
Nome global: stringNbtPathMatchFirst(StringNBT) → NBTNome do método: String.nbtPathMatchFirst(NBT) → NBT
Operador
Todas as Correspondências do Caminho NBTNBT.path_match_allAplica a expressão de Caminho NBT fornecida no valor NBT fornecido e retorna todas as correspondências como uma lista
  • String
  • NBT
  • Lista
Nome global: stringNbtPathMatchAll(StringNBT) → ListaNome do método: String.nbtPathMatchAll(NBT) → Lista
Operador
Teste de Caminho NBTNBT.path_testTesta se a expressão de Caminho NBT fornecida corresponde ao valor NBT fornecido
  • String
  • NBT
  • Booleano
Nome global: stringNbtPathTest(StringNBT) → BooleanoNome do método: String.nbtPathTest(NBT) → Booleano