마인크래프트 강좌/데이터팩 강좌

마인크래프트 데이터팩 강좌 [4] - tag

Potan 2021. 1. 4. 13:53
반응형

안녕하세요 Potan입니다.

 

이번시간에는 tag에 대해서 알아보겠습니다.

마인크래프트 1.16.4를 바탕으로 제작되었습니다.

 

 

1. 태그란?

태그란 아이템/블럭/함수/엔티티의 집합으로 주로 비슷한 아이템들을 한데 묶는 역할을 합니다.

주로 전리품, 조합법, 아이템 분류 등에서 여러 아이템을 넣는데 사용됩니다.

그외에도 대나무가 심어질 수 있는 블럭 태그와 같이 여러 기능을 담당하기도 합니다.

 

2. 만들기

태그는 data/네임스페이스/tags 폴더에 저장되며 종류는 다음과 같습니다.

  • blocks
    • 블럭의 태그로 /execute if block <좌표> <블럭> 같은 <블럭>을 적는 부분을 #태그이름 형식으로 변경하여 적을 수 있습니다.
  • entity_types
    • 엔티티의 태그로 엔티티 선택자에서 type=<태그이름>이나 드롭 아이템(loot table)에서 #태그이름 으로 사용됩니다.
  • fluids
    • 액체의 태그입니다.
  • functions
    • 함수의 태그로 /function #태그이름 을 이용해 태그에 포함된 함수를 한번에 호출할 수 있습니다.
    • 기본 내장된 tick과 load 태그는 이전 함수 게시글 부록을 참고해주세요.
  • items
    • 아이템의 태그로 /clear <대상> <아이템> 같은 <아이템>을 적는 부분을 #태그이름 형식으로 변경하여 적을 수 있습니다.
      • /give 명령어의 경우 태그가 사용불가합니다.
    • 레시피나 발전과제에서 "tag":"(태그)"와 같은 형식으로 해당 태그에 있는 아이템을 조건으로 달 수 있습니다.
    • 크리에이티브 아이템 검색에서 #태그이름 으로 검색이 가능합니다.

 

그러면 이제 직접 태그를 만들어 봅시다.

마인크래프트의 감자 3가지가 포함된 태그를 만들어보겠습니다.

태그이름.json 형식의 텍스트 파일이여야 합니다.

  • replace
    • 선택사항으로 만약 같은 이름을 가진 태그가 있을 경우 덮어씌울지 여부입니다.
    • replace true가 여러가지라면 데이터팩의 우선순위가 가장 높은 쪽으로 정해집니다.
  • values
    • 태그에 포함될 내용물입니다. 
    • 각종 오브젝트나 다른 태그를 적을 수 있습니다.
      • 다른 태그를 적을경우 해당 태그에 있는 내용물 역시 포함됩니다.
      • 태그 자기자신을 적을 경우 무한반복되어 로딩되지 않습니다.

그 외에도 각각의 값에 추가옵션(id, required)을 설정할 수 있습니다.

 

그러면 이제 확인해봅시다.

태그가 성공적으로 적용된 모습입니다.

이번엔 /clear 명령어를 이용해 테스트해보겠습니다.

잘 작동하는 모습입니다.

이런식으로 다양한 태그를 만들 수 있습니다.

 

부록. 마인크래프트 기본 내장 태그 수정해보기

우선 마인크래프트에 기본 내장된 태그들은 이 사이트를 참고해주세요.

네임스페이스를 minecraft로 설정하고 기본 태그중 바꾸고 싶은 파일을 적어줍시다.

저의 경우 블럭 leaves에 조약돌을 넣고 아이템 logs_that_burn에 돌을 넣었습니다.

이럴 경우 아이템 태그에 넣은 돌은 검색이 가능하나 조약돌은 검색이 불가능합니다.

하지만 명령어를 이용해보면 leaves 태그가 맞음을 확인할 수있습니다.

또한 leaves 태그에 있는 블럭은 가위로 빨리 캐지는 성질을 가지고있는데 실제로 가위로 캐보면 빨라졌음을 확인할 수 있습니다.

또한 돌의 경우 logs 태그가 logs_that_burn 태그를 가지고 있기에 logs 태그에도 포함됩니다.

따라서 연료로 사용이 가능해지며 logs_that_burn 태그에 포함되기에 구워서 목탄이 나옵니다.

반응형