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 ].
- String
- NBT
- NBT
- String
- NBT
- List
- String
- NBT
- Boolean