Integrated Dynamics - On the Dynamics of Integration

NBT 경로

복잡한 NBT 태그로 작업할 때 깊이 중첩된 NBT 값을 읽기 위해 복잡한 연산자 체인이 빠르게 필요할 수 있습니다. 이 작업을 단순화하기 위해 String 기반 NBT 경로 표현식을 사용하여 NBT 태그 내의 경로를 결정할 수 있습니다.

가장 간단한 NBT 경로 표현식은 .fieldName 또는 .[”fieldName”]과 같은 필드 선택자 체인으로 구성됩니다.

예를 들어 ”.root.child1.child2” 표현식을 NBT 태그 { root: { child1: { child2: ”어떤 값” } }}에 적용하면 ”어떤 값”이 출력됩니다.

필드 이름 배열 또는 와일드카드를 제공하여 여러 필드를 선택할 수 있습니다(예: [fieldA,fieldB] 또는 *).

예를 들어 ”.a[b1,b2]*” 표현식을 NBT 태그 { a: { b1: { c: ”어떤 값” } }}에 적용하면 ”어떤 값”이 출력됩니다.

NBT 목록으로 작업할 때 [1]과 같은 인덱스를 지정하여 특정 항목을 선택할 수 있습니다.

예를 들어 ”.a[1]” 표현식을 NBT 태그 { a: [10,20] }에 적용하면 ”20”이 출력됩니다.

슬라이스 연산자 [start:end:step]을 사용하여 여러 목록 인덱스를 선택할 수 있습니다. (시작만 필요하고 다른 요소는 생략 가능)

예를 들어 ”.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.path_match_first주어진 NBT 값에 주어진 NBT 경로 표현식을 적용하고 첫번째로 일치하는 것을 반환합니다.
  • String
  • NBT
  • NBT
Global name: stringNbtPathMatchFirst(StringNBT) → NBTMethod name: String.nbtPathMatchFirst(NBT) → NBT
연산자
모든 일치하는 NBT 경로NBT.path_match_all주어진 NBT 값에 주어진 NBT 경로 표현식을 적용하고 일치하는 모든 것을 리스트로 반환합니다.
  • String
  • NBT
  • List
Global name: stringNbtPathMatchAll(StringNBT) → ListMethod name: String.nbtPathMatchAll(NBT) → List
연산자
NBT 경로 테스트NBT.path_test주어진 NBT 경로 표현식이 주어진 NBT 값과 일치하는지 테스트합니다.
  • String
  • NBT
  • Boolean
Global name: stringNbtPathTest(StringNBT) → BooleanMethod name: String.nbtPathTest(NBT) → Boolean