마인크래프트/데이터팩

Tdb (토론 | 기여)님의 2025년 7월 23일 (수) 16:50 판 (새 문서: '''데이터팩'''(Data Pack)은 마인크래프트 Java Edition에서 게임의 데이터를 수정하고 확장할 수 있는 시스템이다. 모드와 달리 별도의 API나 로더 없이 바닐라 게임에서 직접 사용할 수 있으며, 함수, 발전 과제, 제작법, 전리품 테이블 등을 커스터마이징할 수 있다. 데이터팩은 Minecraft Java Edition 1.13 버전에서 처음 도입되었다. 기존의 명령어 블록 시스템의 한계를 극...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

데이터팩(Data Pack)은 마인크래프트 Java Edition에서 게임의 데이터를 수정하고 확장할 수 있는 시스템이다. 모드와 달리 별도의 API나 로더 없이 바닐라 게임에서 직접 사용할 수 있으며, 함수, 발전 과제, 제작법, 전리품 테이블 등을 커스터마이징할 수 있다.

데이터팩은 Minecraft Java Edition 1.13 버전에서 처음 도입되었다. 기존의 명령어 블록 시스템의 한계를 극복하고, 보다 체계적이고 효율적인 방식으로 게임 콘텐츠를 추가할 수 있도록 설계되었다. 리소스팩이 게임의 시각적 요소를 변경한다면, 데이터팩은 게임의 동작과 메커니즘을 변경한다.

구조

데이터팩은 특정한 폴더 구조를 따라야 한다:

데이터팩명/
├── pack.mcmeta
└── data/
    └── 네임스페이스/
        ├── advancements/
        ├── functions/
        ├── loot_tables/
        ├── recipes/
        ├── structures/
        ├── tags/
        ├── dimension/
        ├── dimension_type/
        └── worldgen/

pack.mcmeta

데이터팩의 메타데이터를 포함하는 필수 파일이다. JSON 형식으로 작성되며, 팩의 버전과 설명을 포함한다:

{
  "pack": {
    "pack_format": 15,
    "description": "데이터팩 설명"
  }
}

pack_format 값은 마인크래프트 버전에 따라 다르다:

1.20.3-1.20.4: 26

1.20.5-1.20.6: 41

1.21-1.21.1: 48

주요 기능

함수 (Functions)

.mcfunction 확장자를 가진 텍스트 파일로, 여러 명령어를 한 번에 실행할 수 있다. 함수는 다음과 같이 호출한다:

/function 네임스페이스:경로/함수명

함수 파일 예시:

# 플레이어에게 효과 부여
effect give @a minecraft:speed 30 2
effect give @a minecraft:jump_boost 30 1

# 메시지 출력
tellraw @a {"text":"버프가 적용되었습니다!","color":"green"}

발전 과제 (Advancements)

커스텀 발전 과제를 추가할 수 있다. JSON 형식으로 작성되며, 조건과 보상을 설정할 수 있다:

{
  "display": {
    "icon": {
      "item": "minecraft:diamond"
    },
    "title": "다이아몬드 수집가",
    "description": "다이아몬드 64개 획득"
  },
  "criteria": {
    "requirement": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "items": ["minecraft:diamond"],
            "count": {
              "min": 64
            }
          }
        ]
      }
    }
  }
}

제작법 (Recipes)

새로운 제작법을 추가하거나 기존 제작법을 덮어쓸 수 있다. 제작대, 화로, 훈연기 등 다양한 제작 방식을 지원한다.

전리품 테이블 (Loot Tables)

몹이 드롭하는 아이템, 상자의 내용물, 낚시 보상 등을 커스터마이징할 수 있다. 확률과 조건을 세밀하게 조정할 수 있어 게임 밸런스 조정에 유용하다.

태그 (Tags)

블록, 아이템, 엔티티, 유체 등을 그룹화하여 관리할 수 있다. 예를 들어, 특정 도구로 캘 수 있는 블록들을 하나의 태그로 묶을 수 있다.

설치 방법

데이터팩 파일(.zip 또는 폴더)을 준비한다. 마인크래프트 월드 폴더를 연다. datapacks 폴더에 데이터팩을 넣는다. 게임에서 /reload 명령어를 실행하거나 월드를 다시 로드한다.

설치된 데이터팩 확인:

/datapack list

데이터팩 활성화/비활성화:

/datapack enable "데이터팩명"
/datapack disable "데이터팩명"

제작 도구

VSCode - mcfunction 언어 지원 확장 프로그램 사용 가능 Minecraft Commands Generator - 온라인 명령어 생성기 Misode's Data Pack Generators - JSON 파일 생성 도구

활용 예시

데이터팩은 다양한 용도로 활용된다:

미니게임 제작: 복잡한 게임 로직 구현 품질 개선: 인터페이스 개선, 편의 기능 추가 난이도 조정: 몹 강화, 드롭률 조정 새로운 메커니즘: 커스텀 인챈트, 새로운 게임 규칙

장단점

장점

모드와 달리 추가 프로그램 설치 불필요 바닐라 호환성 유지 서버와 클라이언트 동기화 자동 버전 업데이트 시 호환성 문제 적음

단점

모드에 비해 기능 제한적 새로운 블록이나 아이템 추가 불가 복잡한 로직 구현 시 성능 문제 발생 가능

함께 보기

외부 링크

Minecraft Wiki - Data Pack[1]

각주

  1. 마인크래프트 공식 위키의 데이터팩 문서