このチュートリアルでは、次の内容を学びます。
- 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 で生成できます (2 つの異なる UUID を生成する必要があります)。type
:skin_pack
に設定することによって、このパックがスキン パックとして処理されるようにゲームに伝えられます。
テンプレートの 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_name
およびserialize_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 つの無料スキンに加え、有料スキンも追加できます。
テンプレートの 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 を作成できます。
texts フォルダー
このフォルダー内には 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" から "Skin Name 5" と命名しています。
テンプレートの 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"
テンプレートの languages.json
[
"en_US"
]