비교
데이터팩과 플러그인 비교
2026년 10월 18일 업데이트
데이터팩은 바닐라 Minecraft가 읽는 JSON과 .mcfunction 파일이 든 폴더예요: 조합법, 전리품, 발전 과제, 명령어. 플러그인은 Paper나 Spigot 서버가 실행하는 Java 코드예요. 많은 아이디어는 두 방식 모두로 만들 수 있고, 어느 쪽이 맞는지는 어디서 실행되어야 하는지와 로직이 얼마나 복잡한지에 달려 있어요.
데이터팩에 잘 맞는 예시예요.
Codexe로 이걸 생성하기나란히 비교
| 데이터팩 | 플러그인 | |
|---|---|---|
| 필요한 것 | 없음: 바닐라로 충분 | Paper, Spigot 또는 그 포크 |
| 싱글플레이 | 예 | 아니요 |
| 작성 언어 | JSON과 Minecraft 명령어 | Java 또는 Kotlin |
| 잘하는 것 | 조합법, 전리품 테이블, 발전 과제, 태그, 월드 생성, 명령어 메커니즘 | 인수가 있는 명령어, GUI, 경제, 데이터베이스, 이벤트, 권한 |
| 이벤트에 반응하기 | 제한적: 발전 과제, 조건자(predicate), 매 틱 실행되는 함수 | 수백 가지 이벤트: 블록 파괴, 채팅, 피해, 인벤토리 클릭 등 |
| 데이터 저장 | 월드 안의 스코어보드와 storage NBT | 파일, SQLite, MySQL, Java가 쓸 수 있는 모든 것 |
| 버전 간 | 형식이 자주 바뀌어서 팩을 업데이트해야 함 | API가 안정적이라 많은 플러그인이 계속 작동 |
| 설치 위치 | world/datapacks/ | plugins/ |
데이터팩이 더 나은 경우
- 싱글플레이나 바닐라 서버에서 작동해야 하거나, 플레이어들이 월드 추가 콘텐츠로 공유할 때.
- 아이디어가 대부분 데이터일 때: 새 조합법, 바뀐 전리품, 발전 과제 트리, 커스텀 월드 생성.
- 서버 소프트웨어도 Java 빌드도 전혀 원하지 않을 때.
플러그인이 더 나은 경우
- 인수가 있는 명령어, 권한, GUI, 상점이 필요할 때.
- 데이터를 플레이어별로 파일이나 데이터베이스에 저장하거나, 웹사이트나 Discord와 공유해야 할 때.
- 로직이 많은 이벤트에 반응하거나, 매 틱 실행되는 함수가 많이 필요할 때. 데이터팩에서는 성능 부담이 커요.
- 다른 플러그인을 쓸 때: Vault, LuckPerms, PlaceholderAPI, WorldGuard.
- Java도 빌드도 없이 서버 로직을 원한다면 중간 길이 있어요: Skript.
한 서버에서 둘 다 쓰기
Paper와 Spigot은 바닐라처럼 월드 폴더에서 데이터팩을 불러오므로, 서버 전체를 위해 하나만 골라야 하는 건 아니에요. 흔한 분담 방식은 이래요. 조합법, 전리품 테이블, 발전 과제, 월드 생성은 단순한 데이터라 수정하기 쉬운 데이터팩에, 명령어, GUI, 경제, 플레이어별로 저장되는 모든 것은 플러그인에. 데이터팩은 월드 하나에 속하지만 플러그인은 서버의 모든 월드에 적용된다는 점을 기억하세요.
Codexe에서는 둘 다
Codexe는 둘 다 만들어요. 데이터팩은 준비 완료 전에 실제 Minecraft 서버에 불러오고 로그에서 오류를 확인해요. 플러그인은 컴파일돼요. 둘 다 내 게임에서 비공개 테스트 서버로 플레이할 수 있고, 월드 생성을 바꾸는 데이터팩은 새로 생성된 월드가 있는 서버를 받아서 지형을 직접 볼 수 있어요. 데이터팩은 1.20.1부터 26.3까지의 버전에서 시험 로드되고, 플러그인은 1.8.8부터 26.3까지를 대상으로 할 수 있어요.
질문
데이터팩으로 새 아이템을 추가할 수 있나요?
진짜 새로운 아이템은 안 돼요. 기존 아이템에 커스텀 이름, 컴포넌트, 모델(리소스 팩 필요)을 줄 수는 있지만, 명령어로 가능한 범위를 넘는 새 동작은 줄 수 없어요.
데이터팩이 Paper 서버에서 작동하나요?
네. Paper는 바닐라처럼 월드 폴더에서 데이터팩을 불러오므로 같은 서버에서 데이터팩과 플러그인을 함께 쓸 수 있어요.
어느 쪽이 더 빠른가요?
작은 기능이라면 둘 다 괜찮아요. 매 틱 모든 플레이어를 확인하는 무거운 틱 함수는 이벤트 하나를 감지하는 플러그인보다 비용이 더 커요.
나중에 데이터팩을 플러그인으로 바꿀 수 있나요?
네, 로직을 Java로 다시 작성하면 돼요. Paper는 둘 다 불러오니 조합법, 전리품 테이블, 발전 과제는 플러그인 옆의 데이터팩에 그대로 둘 수도 있어요.
데이터팩이나 플러그인으로 만들기
이 프롬프트는 바로 보낼 수 있는 상태로 열려요:
“Minecraft 1.21.4용 데이터팩, 네임스페이스 "hunt": 좀비, 스켈레톤, 크리퍼, 엔더맨, 마녀, 엔더 드래곤 처치에 대한 발전 과제 6개로 이루어진 "Monster Hunter" 발전 과제 트리, 각각 경험치 지급, 그리고 처치 스코어보드를 추가하는 load 함수.”
Codexe로 이걸 생성하기