Путь 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.

The simplest NBT Path expression is made up of a chain of field selectors, such as .fieldName or [”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].

Expressions can be combined using ”§§” (and), ”||” (or), and ”!” (not).

For example, applying the expression ”$.a[?(@ == 3 || (@ == 5))]” on the NBT tag { a: [0,1,2,3,4,5] } will output [3,5].

Оператор
Первое совпадение по пути NBTNBT.path_match_firstПрименить заданное выражение пути NBT к заданному значению NBT и вернуть первое совпадение
  • Строка
  • NBT
  • NBT
Глобальное имя: stringNbtPathMatchFirst(СтрокаNBT) → NBTИмя метода: Строка.nbtPathMatchFirst(NBT) → NBT
Оператор
Все совпадения по пути NBTNBT.path_match_allПрименить заданное выражение пути NBT к заданному значению NBT и вернуть все совпадения в виде списка
  • Строка
  • NBT
  • Список
Глобальное имя: stringNbtPathMatchAll(СтрокаNBT) → СписокИмя метода: Строка.nbtPathMatchAll(NBT) → Список
Оператор
Тест пути NBTNBT.path_testПроверить, соответствует ли заданное выражение пути NBT заданному значению NBT
  • Строка
  • NBT
  • Логическое значение
Глобальное имя: stringNbtPathTest(СтрокаNBT) → Логическое значениеИмя метода: Строка.nbtPathTest(NBT) → Логическое значение