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].
- String
- NBT
- NBT
- String
- NBT
- Lista
- String
- NBT
- Booleano