마인크래프트 데이터팩 강좌 [2-1] - pack.mcmeta

2025. 1. 9. 21:25·마인크래프트 강좌/데이터팩 강좌
반응형

이 글은 마인크래프트 1.21.4를 기준으로 정리되었습니다.

 

pack.mcmeta 파일에 대해

마인크래프트에는 데이터팩과 리소스팩을 유저가 직접 만들 수 있습니다.

pack.mcmeta 파일이란 이러한 데이터팩과 리소스팩의 설명, 작동하는 버전 등, 팩의 정보를 담은 파일입니다.

따라서 많은 분들이 그저 해당하는 버전과 설명만 적고 끝내는데요.

사실 pack.mcmeta에는 여러 정보를 더 넣을 수 있습니다.

따라서 이 글에서는 pack.mcmeta로 무엇을 할 수 있는 지 다루어 보겠습니다.

또한 pack.mcmeta 파일의 확장자는 mcmeta이지만 양식은 JSON 파일 형식을 사용합니다.

따라서 숫자를 제외한 요소들은 ""로 감싸주어야 하며 모든 요소를 root object 안에 넣어주어야 합니다.

예시

{
	"pack": {
    	<내용>
    },
    "filter": {
    	<내용>
    }
}

 

pack (필수)

  • 팩의 정보를 담은 object입니다.
  • 형식
"pack": {
    "pack_format": 61,
    "description": {"text":"potan tistory", "color":"green"},
    "supported_formats": [61, 70]
}
  • pack_format : 이 팩이 호환되는 마인크래프트 버전을 결정합니다
    • 1.21.4 버전에서 데이터팩은 버전 61, 리소스팩은 버전 47을 사용합니다
  •  description : /datapack list에서 뜨는 팩의 이름에 마우스를 올리거나 리소스팩 설정, 데이터팩 넣기 창 등에서 팩에 뜨는 설명입니다
    • String, JSON Text, JSON Text Array 중 하나를 사용할 수 있습니다
  • supported_formats (선택사항) : 이 팩이 지원하는 버전의 범위를 지정합니다
    • 범위에는 pack_format 값이 포함되어야 합니다.
    • Int (: 61), Int Array (: [61, 70), Object (: {"min_inclusive": 60, "max_inclusive": 71} ) 중 하나를 사용할 수 있습니다

 

filter (선택사항)

  • 이 팩보다 우선순위가 낮은 팩에서 filter에서 설정된 패턴과 하나라도 일치하는 모든 파일은 존재하지 않는 것으로 처리합니다
    • 자신의 팩 내용물은 filter에서 설정해줘도 막지 않습니다.
  • 형식
"filter": {
    "block": [
        {
            "namespace": "potan",
            "path": "function/.*"
        },
        {
            "path": "recipe/andesite"
        },
        {
            "namespace": "minecraft",
            "path": "recipe/.*slab.*"
        }
    ]
}
  • block : 필터링할 패턴의 리스트입니다.
    • 패턴 (Object)
      • namespace : 필터링될 파일들의 네임스페이스입니다.
        • 정규 표현식을 사용합니다.
        • 만약 설정하지 않을 경우 모든 네임스페이스에 적용됩니다.
      • path : 필터링될 파일들의 경로입니다.
        • 정규 표현식을 사용합니다.
        • 만약 설정하지 않을 경우 모든 네임스페이스에 적용됩니다.

위 예시에서는

  1. potan 네임스페이스 속 function 폴더의 모든 내용물을 비활성화합니다.
  2. 모든 네임스페이스에서 recipe 폴더의 andesite 파일을 비활성화합니다.
  3. minecraft 네임스페이스 속 recipe 폴더의 파일 중 이름 중간에 slab이 들어가는 모든 파일을 비활성화합니다.

안산암 조합법과 안산암 반블록 조합법이 없어진 모습입니다.

 

features (선택사항)

  • 실험적 기능을 선택하기 위해 사용됩니다.
  • 해당 기능은 /reload가 아닌 세계를 재접속해야 적용됩니다.
  • 형식
"features": {
    "enabled": [
        "minecraft:redstone_experiments",
        "minecraft:minecart_improvements"
    ]
}
  • enabled : 선택할 실험적 기능들의 resource location (namespace id) 리스트입니다.
    • 만약 세계에 해당하는 실험적 기능이 활성화되어 있지 않다면 팩은 작동하지 않습니다.
    • 1.21.4 버전 기준 다음 내용을 사용할 수 있습니다.
      • minecraft:vanila
      • minecraft:trade_rebalance
      • minecraft:redstone_experiments
      • minecraft:minecart_improvements

물론 이 features 를 지정해주지 않아도 실험적 세계에 들어가면 거기서 추가된 명령어가 담긴 함수는 정상적으로 실행이 됩니다.
다만 그 명령어가 담긴 함수는 일반 세계에 들어가면 해당 함수는 작동하지 않습니다. 엉뚱한 세계에 넣는 것을 방지하기 위함인 것 같습니다.

 

overlays (선택사항)

  • 팩의 오버레이를 설정합니다.
  • 오버레이란 팩의 일반 컨텐츠를 대체하는 하위 팩으로 오버레이 각각마다 팩의 최상위 폴더에 data 또는 asset 폴더를 가집니다.
  • 형식
"overlays": {
    "entries": [
        {
            "directory": "a",
            "formats": [57, 60]
        },
        {
            "directory": "b",
            "formats": [48, 56]
        }
    ]
}
  • entries: 오버레이 리스트입니다. 오버레이의 순서가 우선순위를 결정합니다.
    • 오버레이 (Object)
      • directory : 오버레이의 data 또는 asset 폴더가 들어있는 파일의 이름입니다.
      • formats : 오버레이가 적용될 팩 버전입니다. (위의 supported_formats와 같은 형식을 사용합니다)

  • pack_format이 61일 때
  • 마크의 데이터팩 버전이 61일 때 data 폴더가 내용물이 됩니다. (기존과 동일)
    • (pack)/data/~
    • (리소스팩의 경우) (pack)/assets/~
  • 마크의 데이터팩 버전이 57 ~ 60일 때 a 폴더의 data 폴더가 데이터팩의 내용을 대체합니다.
    • (pack)/a/data/~
    • (리소스팩의 경우) (pack)/a/assets/~
  • 마크의 데이터팩 버전이 48 ~ 56일 때 b 폴더의 data 폴더가 데이터팩의 내용을 대체합니다.
    • (pack)/b/data/~
    • (리소스팩의 경우) (pack)/b/assets/~

 

language (선택사항, 리소스팩 전용)

  • 언어 설정에 새로운 언어를 추가할 수 있습니다.
  • 형식
"language": {
    "potato": {
        "name": "Potato Language",
        "region": "Potato",
        "bidirectional": false
    }
}
  • "<언어>" : (Object) assets/<namespace>/lang/<언어>.json 파일을 읽어옵니다.
    • name : 언어의 이름입니다.
    • region : 국가나 지역 이름입니다.
    • bidirectional : true로 설정될 경우 이 언어는 오른쪽에서 왼쪽으로 읽습니다.

"potato" 이므로 파일은 lang 폴더 내부에 potato.json 입니다.

 

 

반응형
저작자표시 (새창열림)

'마인크래프트 강좌 > 데이터팩 강좌' 카테고리의 다른 글

1.21.5 테스트 기능에 대하여  (1) 2025.02.14
마인크래프트 데이터팩 강좌 [3-1] - 매크로  (1) 2025.02.07
마인크래프트 데이터팩 강좌 [9-1] - Enchantment Provider  (0) 2024.06.26
마인크래프트 데이터팩 강좌 [9] - enchantment  (4) 2024.06.25
1.20.5에 추가된 커스텀 아이템 조합 만들기  (10) 2024.04.14
'마인크래프트 강좌/데이터팩 강좌' 카테고리의 다른 글
  • 1.21.5 테스트 기능에 대하여
  • 마인크래프트 데이터팩 강좌 [3-1] - 매크로
  • 마인크래프트 데이터팩 강좌 [9-1] - Enchantment Provider
  • 마인크래프트 데이터팩 강좌 [9] - enchantment
Potan
Potan
안녕하세요 Potan입니다. 다양한 주제를 다루고 싶으나 마인크래프트를 주로 하고있습니다. 프사 : 카미쵸(kyamicho)
    반응형
  • Potan
    Potan의 게임블로그
    Potan
  • 전체
    오늘
    어제
    • 분류 전체보기 (257)
      • Minecraft Display Engine (1)
      • 마인크래프트 강좌 (50)
        • 명령어 강좌 (7)
        • 데이터팩 강좌 (18)
        • 리소스팩 강좌 (0)
        • 업데이트 정리 (22)
        • 블록벤치 강좌 (3)
      • 마인크래프트 (20)
        • 마크관련 잡담 (10)
        • 마인크래프트 맵 (1)
      • 유튜브 관련 (0)
      • 마인크래프트 모드강좌 (18)
        • Extra Utilities 2 (9)
        • 간단한 모드강좌 (0)
        • Refined Storage (4)
        • Thermal Expansion (5)
      • 마인크래프트 생존기 (156)
        • Sky Factory 3[완] (68)
        • Direwolf20[완] (10)
        • FTB Beyond[완] (78)
      • 잡담 (7)
        • 뻘글 (1)
      • 스팀게임 (4)
        • Clone Drone in the danger z.. (3)
      • itch.io (1)
      • 개발일지 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    생존기
    데이터팩
    FTB
    Sky Factory3
    1.13
    Beyond
    강좌
    모드
    minecraft
    야생
    Sfy Factory 3
    모드팩
    명령어
    스카이 블럭
    FTB Beyond
    1.10.2
    datapack
    스카이 팩토리
    마인크래프트
    마인크래프트 데이터팩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Potan
마인크래프트 데이터팩 강좌 [2-1] - pack.mcmeta
상단으로

티스토리툴바