이 튜토리얼에서는 다음과 같은 사항을 안내해 드립니다.
- Minecraft: Bedrock Edition 스킨 팩의 폴더 및 파일 구조
- 스킨 팩에 필요한 메타데이터 파일을 구성하는 방법과 이 파일을 이용해 스킨을 정의하는 방법
스킨 팩 폴더 구조

manifest.json
매니페스트 파일은 스킨 팩에 관한 Minecraft 일반 정보를 알려줍니다. 스킨 팩의 루트에 manifest.json이라는 JSON 파일을 만듭니다. 여기에는 다음 요소가 포함됩니다.
name: 팩의 이름으로, 항상pack.name입니다.version: 팩의 버전입니다. 예를 들어[1, 0 ,0]은 버전 1.0.0을 나타냅니다.uuid: 패키지 충돌을 방지하기 위한 고유 식별자로, https://www.uuidgenerator.net/version4에서 생성할 수 있습니다(서로 다른 두 가지 UUID를 생성해야 합니다).type:skin_pack으로 설정하여 이 팩을 스킨 팩으로 취급해야 함을 게임에 알립니다.
Template manifest.json
{
"header": {
"name": "pack.name",
"version": [1, 0, 0],
"uuid": "<FIRST GENERATED UUID>"
},
"modules": [
{
"version": [1, 0, 0],
"type": "skin_pack",
"uuid": "<SECOND GENERATED UUID>"
}
],
"format_version": 1
}
skins.json
skins.json 파일은 스킨 팩과 함께 제공되는 스킨을 정의합니다. 스킨 팩의 루트에 skins.json이라는 JSON 파일을 만듭니다. 여기에는 다음 요소가 포함됩니다.
localization_nameserialize_name: 나중에en_US.lang에서 값을 정의하는 현지화 키이며 전체 키는skinpack.<localization_name>이 됩니다. 이 값이 팩의 제목이 됩니다. 키는 항상 개별 스킨의 현지화 키 앞에 위치합니다.skins: 정의 모음으로, 각 항목은 단일 스킨을 정의합니다.
개별 스킨 정의에는 다음 요소가 포함됩니다.
localization_name: 나중에en_US.lang에서 값을 정의하는 현지화 키입니다. 이 값이 개별 스킨의 이름이 됩니다.geometry: 이 스킨의 기본 모델입니다.geometry.humanoid.customSlim은 알렉스 모델이고geometry.humanoid.custom은 스티브 모델입니다.texture: 스킨 팩의 루트에 표시되는 각 스킨 텍스처의 파일 이름입니다.type:free또는paid입니다. 비 마켓플레이스 파트너는 얼마든지 많은 무료 스킨을 가질 수 있지만 유료 스킨은 가질 수 없으며, 마켓플레이스 파트너는 무료 스킨을 2개까지 이용하고 유료 스킨을 추가할 수 있습니다.
Template skins.json
{
"serialize_name": "TemplateSkinPack",
"localization_name": "TemplateSkinPack",
"skins": [
{
"localization_name": "TemplateSkin1",
"geometry": "geometry.humanoid.customSlim",
"texture": "skin_file_name1.png",
"type": "free"
},
{
"localization_name": "TemplateSkin2",
"geometry": "geometry.humanoid.custom",
"texture": "skin_file_name2.png",
"type": "free"
},
{
"localization_name": "TemplateSkin3",
"geometry": "geometry.humanoid.customSlim",
"texture": "skin_file_name3.png",
"type": "paid"
},
{
"localization_name": "TemplateSkin4",
"geometry": "geometry.humanoid.custom",
"texture": "skin_file_name4.png",
"type": "paid"
},
{
"localization_name": "TemplateSkin5",
"geometry": "geometry.humanoid.custom",
"texture": "skin_file_name5.png",
"type": "paid"
}
]
}
스킨 텍스처
실제 스킨 텍스처는 PNG입니다. 파일 이름은 skins.json 메타데이터 파일에서 언급됩니다. 스킨 팩의 루트에서만 사용할 수 있습니다. Blockbench를 사용하여 스킨 팩용 가용 스킨 PNG를 만들 수 있습니다.
텍스트 폴더
이 폴더에는 팩과 스킨의 실제 이름과 팩에서 지원되는 언어를 정의하는 en_US.lang 및 languages.json 파일이 있습니다. = 뒤에 오는 이름은 게임에서 표시되는 이름(예: 스킨 선택기에서 표시되는 이름)입니다.

en_US.lang
팩과 스킨의 이름을 지정하는 파일입니다.
- 팩 이름:
skinpack.[skins.json localization_name]=[name of pack] - 스킨 이름:
skin.[skins.json localization_name].[skins.json single skin localization_name]=[name of skin]
아래 템플릿은 skin.json 템플릿의 "현지화 키"를 사용하여 "Your Skin Pack Name Here" 팩의 이름을 지정하고 "Skin Name 1-5" 개별 스킨의 이름을 지정합니다.
Template en_US.lang
skinpack.TemplateSkinPack=Your Skin Pack Name Here
skin.TemplateSkinPack.TemplateSkin1=Skin Name 1
skin.TemplateSkinPack.TemplateSkin2=Skin Name 2
skin.TemplateSkinPack.TemplateSkin3=Skin Name 3
skin.TemplateSkinPack.TemplateSkin4=Skin Name 4
skin.TemplateSkinPack.TemplateSkin5=Skin Name 5
languages.json
이 파일은 스킨 팩에서 지원하는 언어를 Minecraft에 알리는 역할을 합니다. 영어가 유일한 필수 언어입니다. 다른 언어를 지원하고 싶다면 다른 xx_YY.lang 파일을 만들고 이 파일을 편집해 다른 언어가 지원됨을 게임에 알려야 합니다.
현재 다음 로캘/언어가 지원됩니다.
- "en_US"
- "de_DE"
- "ru_RU"
- "zh_CN"
- "fr_FR"
- "it_IT"
- "pt_BR"
- "fr_CA"
- "zh_TW"
- "es_MX"
- "es_ES"
- "pt_PT"
- "en_GB"
- "ko_KR"
- "ja_JP"
- "nl_NL"
- "bg_BG"
- "cs_CZ"
- "da_DK"
- "el_GR"
- "fi_FI"
- "hu_HU"
- "id_ID"
- "nb_NO"
- "pl_PL"
- "sk_SK"
- "sv_SE"
- "tr_TR"
- "uk_UA"
Template languages.json
[
"en_US"
]