스키매틱
스키매틱(schematic)은 마인크래프트: 자바 에디션에서 건축물의 일부를 파일로 저장해 다른 위치나 다른 월드로 옮길 수 있게 하는 형식이다. WorldEdit 계열 도구가 이 형식을 다루며, 건축물의 공유와 반복 배치, 백업에 사용된다.
블록과 블록 상태를 좌표와 함께 담으며, 형식과 판에 따라 생물군계·엔티티·블록 엔티티도 함께 저장한다.
두 가지 형식
현재 쓰이는 스키매틱 파일은 크게 두 계열이다. 확장자가 다르면 형식도 다르다.
| 확장자 | 형식 | 시기 |
|---|---|---|
.schematic |
MCEdit 형식 (레거시) | 1.13 이전 |
.schem |
Sponge 스키매틱 형식 | 1.13 이후 |
레거시 MCEdit 형식
.schematic은 블록을 숫자 ID로 저장한다. 1.13에서 블록이 문자열 식별자와 블록 상태로 바뀌면서 이 방식은 새 블록을 표현할 수 없게 되었다.
현재 도구도 이 형식을 읽을 수는 있으나, 1.13 이후에 추가된 블록은 담을 수 없다. 오래된 배포처에서 받은 파일이 이 형식인 경우가 많다.
Sponge 스키매틱 형식
.schem은 블록을 문자열 식별자와 블록 상태로 저장해 모드 블록까지 표현할 수 있다.[1] 사양은 세 판이 있다.
| 판 | 시기 | 추가된 것 |
|---|---|---|
| 1 | 2016년 | 최초 사양 |
| 2 | 2019년 | 엔티티, 생물군계, DataVersion. TileEntities를 BlockEntities로 이름 변경 |
| 3 | 2021년 | 3차원 생물군계 지원, varint 사양 정리 |
DataVersion은 파일을 만든 게임 판을 기록한다. 이 값 덕분에 도구가 오래된 파일을 읽을 때 어떤 변환이 필요한지 판단할 수 있다.
기본 사용
WorldEdit과 FastAsyncWorldEdit에서 같은 방식으로 다룬다.
//pos1 //pos2 //copy //schem save 건물이름 //schem load 건물이름 //paste
//copy는 선택 영역을 클립보드에 담고, //schem save는 클립보드를 파일로 저장한다. 불러올 때도 클립보드를 거치므로 //schem load 뒤에 //paste가 필요하다.
//schem list로 저장된 파일 목록을 확인할 수 있다.
기준점
//copy를 실행한 위치가 기준점이 된다. 붙여넣을 때 이 기준점이 현재 위치에 오도록 배치되므로, 복사할 때 어디에 서 있었는지가 결과를 좌우한다.
건물 모서리나 바닥 중앙처럼 기억하기 쉬운 지점에서 복사하는 습관을 들이면 반복 배치가 수월해진다.
버전 호환
상위 판에서 만든 스키매틱을 하위 판에서 여는 것은 안전하지 않다. 새 판에서 추가된 블록이 하위 판에 없기 때문이다. 이 경우 해당 블록이 다른 블록으로 바뀌거나 불러오기 자체가 실패할 수 있다.
반대로 하위 판에서 만든 파일을 상위 판에서 여는 것은 대체로 동작하지만, 레거시 형식이라면 변환 과정에서 일부 블록 상태가 달라질 수 있다.
여러 서버가 서로 다른 판을 쓴다면, 스키매틱을 주고받기 전에 판을 확인하는 절차를 두는 것이 좋다.
다른 형식
| 형식 | 도구 | 성격 |
|---|---|---|
.litematic |
Litematica | 클라이언트 모드. 건축 안내선 표시에 사용 |
| Axiom 블루프린트 | Axiom | 클라이언트 모드 자체 형식 |
이들은 스키매틱과 목적이 겹치지만 형식이 달라 그대로 호환되지 않는다. 서버 플러그인으로 배치할 예정이라면 .schem으로 내보낼 수 있는지 확인한다.
실무에서
- 반복 구조물은 파일로 관리한다. 클립보드는 접속을 끊으면 사라지지만 파일은 남는다.
- 이름 규칙을 정한다. 파일이 수백 개가 되면
건물1,test2같은 이름은 찾을 수 없게 된다. - 백업 대상에 포함한다. 스키매틱 폴더는 월드 백업에 자동으로 포함되지 않는 경우가 있다.
- 공유 전에 판을 명시한다. 배포할 때 어떤 게임 판에서 만들었는지 함께 적어 둔다.
같이 보기
각주
- ↑ Schematic Specification, SpongePowered. 2026년 8월 6일 확인.