Путь NBT
When working with complex NBT tags, you can quickly require complex operator chains for reading deeply nested NBT values. In order to simplify this task, String-based NBT Path expressions can be used to determine the path within an NBT tag.
Простейшее выражение Пути NBT состоит из цепочки селекторов полей, таких как .fieldName или .[”fieldName”].
For example, applying the expression ”.root.child1.child2” on the NBT tag { root: { child1: { child2: ”some value” }}} will output ”some value”.
Можно выбрать несколько полей, предоставив массив имен полей или подстановочный знак, например, [fieldA,fieldB] или *.
For example, applying the expression ”.a[b1,b2]*” on the NBT tag { a: { b1: { c: ”some value” }}} will output ”some value”.
При работе со списками NBT можно выбрать конкретные элементы, указав индекс, например, [1].
Например, применение выражения ”.a[1]” к тегу NBT { a: [10,20] } выведет ”20”.
Можно выбрать несколько индексов списка с помощью оператора среза: [start:end:step]. (Требуется только start, остальные элементы могут быть опущены).
Например, применение выражения ”.a[1:4:2]” к тегу NBT { a: [0,1,2,3,4,5] } выведет [1,3].
Также возможны более сложные выражения фильтрации с использованием синтаксиса фильтров, например, [?(@.childName < 10)] (@ ссылается на текущий тег, .. — на родительский тег, $ — на корневой тег).
Например, применение выражения ”$.a[?(@ == 3)]” к тегу NBT { a: [0,1,2,3,4,5] } выведет [3].
- Строка
- NBT
- NBT
- Строка
- NBT
- Список
- Строка
- NBT
- Логическое значение