데이터팩 입문 (이전 글)
https://gall.dcinside.com/minecraft/167112%2526referrerAllArticles%3Dtrue
이전 글에서 이어지는 내용임!(정확히는, 접점은 없는데 이전 글을 안 보면 이해가 어려울 내용들이 있을 수 있음!)
이 글에선 무엇을 다루나!
1. 필터(filter)
2. 차원 생성(dimension)
3. 전리품(loot_table)
* Ctrl+F(단어 찾기)로 쉽게 이동할 수 있음!
필터(filter)
내가 저번 글에서 pack.mcmeta 설명할 때 넘어간다고 했던 부분 있지? 그거임.
얘는 하는 일이 뭐냐면, 데이터팩 내에서 특정 폴더를 막거나(block) 다시 활성화시키는(enable) 일을 함.
예시를 하나 들어볼게!
{
"pack": {
"pack_format": 71,
"description": "데이터팩"
},
"filter": {
"block": [
{
"namespace": "minecraft",
"path": "recipe/.*"
},
{
"namespace": "minecraft",
"path": "advancement/.*"
},
{
"namespace": "minecraft",
"path": "loot_table/.*"
}
],
"enable": {
"data/minecraft/loot_table/blocks/stone.json": true,
"data/minecraft/loot_table/blocks/andesite.json": true,
"data/minecraft/loot_table/blocks/blackstone.json": true,
"data/minecraft/loot_table/blocks/obsidian.json": true
}
}
}
이건 내가 제작 중인(사실상 제작 중단) 덱 빌딩 맵의 peck.mcmeta 구조임. 보면 pack 말고 다른게 하나 추가됐지? 저게 filter임.
사실 저 코드에 나와있는 게 다라서 설명할 게 딱히 없노 ㅋㅋㅎ
block에 들어가있는 건 사라지고, enable에 들어가있는 건 block된 것들 중에서 다시 살려내는 거라고 보면 된다.
그러니까 저 코드는 모든 마크 기본 조합법과 발전 과제, 전리품을 비활성화시키고 그 중에 돌·안산암·흑암·흑요석의 전리품은 활성화시키는 코드인 거지. 실제로 맵에 들어가보면 어떤 아이템도 조합할 수 없고, 아무 발전 과제도 없으며, 드롭템은 저 네 가지 돌들을 제외하면 드롭되지 않음.
TMI ) 아니 마인크래프트 위키 한국어 버전을 들어가봤더니 pack.mcmeta 문서가 없더라고?? 아니 이런 불친절한 위키가 다 있나 ;; (물론 나무위키에도 없었음.)
차원 생성(dimension)
차원! 중요하지! 가끔은 로비가 있는 맵에서도 무한한 평지를 표현하고 싶을 때가 있잖음? 그러러면 두 가지 맵을 하나의 맵에 넣어야하는, 그런 곤란한 일이 생기게 되는데 dimension은 이걸 가능하게 해준다!
글만으로 설명하면 이해가 안될 수도 있으니 템플릿을 (또) 가져와봤음! 저건 내가 썼었던 데팩의 일부를 그대로 긁어온 건데, 일단 설명을 하자면 namespace 내에서 dimension이라는 폴더를 만들고 거기에다가 추가할 차원의 정보가 들어간 파일을 넣어주면 된다.
그리고 눈치가 빠른 사람들은 눈치챘을 수도 있는데, 차원 정보는 월드 프리셋에서 dimensions에 들어가는 값과 같음!(뭐 그렇다구)
이제 minecraft > tags > worldgen 안에 dimension이라는 폴더를 넣고
{
"replace": false,
"values": [
"<namespace:차원 이름>"
]
}
이걸 적어주면 된다. 그럼 알아서 맵 폴더에 dimension 폴더가 생기더라고.
참고로 왜 tags 폴더 안에 저 파일을 넣어야하는지는 모름(?) 챗지피티가 넣으래(??)
전리품(loot_table)
말 그대 엔티티나 블록 등에서 나오는 아이템(loot)를 수정하는 부분임.
(정확히는 수상한 모래/자갈, 블록, 구조물에서 나오는 상자/디스펜서/장식된 도자기/스포너의 내용물, 엔티티의 전리품, 시련 생성기에서 스폰된 몬스터가 장착한 장비, 낚시, 마을의 영웅 상태에서 주민들이 건네는 물건, 주기적으로 아르마딜로가 떨어뜨리는 인갑, 고양이가 아침에 주는 선물, 닭이 낳는 알, 판다의 재채기, 피글린과의 교환품, 스니퍼의 발굴, 몹을 대상으로 한 가위질에 관한 아이템의 정보를 수정하는 역할을 함.)
이거...는! 사람이 만들게 못 된다. https://misode.github.io/loot-table/ 저 사이트에서 만드는 게 "그나마" 정신 건강에 도움이 된다. 물론 저걸로도 무에서 유를 만드는 건 암이 암에 걸려서 치료될 정도로 고된 작업이니 대충 비슷한 다른 전리품 테이블 복붙하고 조금 수정해서 쓰는 게 나을 거임.
쓰고 보니까 전리품 부분은 설명이 좀 부실해 보이노 ㅋㅋㅎ.... 사실 나도 루트 테이블은 잘 안 만져서 잘 모르는 분야인데 괜히 설명한다고 있는 지식 없는 지식 다 짜내다 보니 저렇게 되어버렸노. 그래도 누군가에게는 도움이 되겠지....?!

근데 이게 입문..?
마인팜 같은 섭 들어가보면 여러개의 맵이 한 섭에 있는 것 같았는데 그게 차원이냐?
음.... 내가 서버 쪽은 잘 몰라서.....
보통 서버면 플러그인 쪽 아닐까..