【アドオンパックことはじめ】
はじめに
ここで言うアドオンパックというのは、ビヘイビアパックやリソースパックの事を指しています。
以降では本環境で使っているアドオンパックをベースに話を進めます。
ビヘイビアパックやリソースパックと一言でいっても内容の規模が大きすぎて全容を理解するのは容易い事ではありません。
それを踏まえて、ここでは各パックを作成する前の基盤作りに主眼を置き、必要に応じて内容を付け足していく手法をとっています。
以降では本環境で使っているアドオンパックをベースに話を進めます。
ビヘイビアパックやリソースパックと一言でいっても内容の規模が大きすぎて全容を理解するのは容易い事ではありません。
それを踏まえて、ここでは各パックを作成する前の基盤作りに主眼を置き、必要に応じて内容を付け足していく手法をとっています。
最小限のフォルダ構成
最小限の構成は以下の通りでビヘイビアパックもリソースパックも同じです。
最小限のフォルダ構成
バニラでのアイコンサイズは64×64pxですが異なるサイズであっても自動で拡縮してくれるようです。ちなみにpack_icon.pngはなくても動作します。
ここで重要なのは
ちなみに
>> UUID Generator
最小限のフォルダ構成
/<アドオンパックのルート> manifest.json マインクラフトがアドオンパックを認識するための情報 pack_icon.png アドオンパックのアイコン
バニラでのアイコンサイズは64×64pxですが異なるサイズであっても自動で拡縮してくれるようです。ちなみにpack_icon.pngはなくても動作します。
ここで重要なのは
manifest.json
の方ですがビヘイビアパックとリソースパックそれぞれのファイル内容を以下でみていきます。ちなみに
manifest.json
内ではユニークなIDとしてUUIDが使われていますが、本家のサイトでは以下のリンク先で取得する事を推奨しているようです。>> UUID Generator
ビヘイビアパックのファイル
ファイルの内容は以下の通りです。
UUIDには仮のアルファベットを記入していますが、それぞれ異なるIDである事を表しています。
ビヘイビアパックのmanifest.jsonの内容

UUIDには仮のアルファベットを記入していますが、それぞれ異なるIDである事を表しています。
ビヘイビアパックのmanifest.jsonの内容
{ "format_version": 2, "header": { "description": <ビヘイビアパックの説明>, "name": <ビヘイビアパックの名前>, "uuid":"AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", "version": [1, 0, 0], "min_engine_version": [1, 21, 0] }, "modules": [ { "description": <モジュールの説明>, "type": "data", "uuid": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", "version": [1, 0, 0] } ], "dependencies": [ { "uuid":"CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", "version":[1,0,0] } ] }
format_version
今は"2"固定で問題ないようです。header
- ・description
- ビヘイビアパックの説明を記入します。ワールドの設定画面で表示されます(下図参照)
- ・name
- ビヘイビアパックの名前を記入します。ワールドの設定画面で表示されます(下図参照)
- ・uuid
- UUIDを記入します。>> UUID Generatorのサイト等で取得
- ・version
- ビヘイビアパックのバージョンをメジャーバージョン、マイナーバージョン、リビジョンの順で記入します。最初は"1,0,0"か"0,0,1"で問題ないでしょう
- ・min_engine_version
- マインクラフトの対応基準にするバージョンをメジャーバージョン、マイナーバージョン、リビジョンの順で記入します。ビヘイビアパック作成時のバージョンを記入しておけば問題ないでしょう

modules
モジュールは複数指定できるようですが本環境では"data"タイプしか使用していませんので以下の1モジュール分のみ定義しています。- ・description
- モジュールの説明を記入します。使われる事はないので開発者側のメモとして残しておくといいでしょう
- ・type
- "resources", "data", "world_template", "script"の指定ができますが本環境では"data"のみ使用しています
- ・uuid
- UUIDを記入します。>> UUID Generatorのサイト等で取得
- ・version
- モジュールのバージョンをメジャーバージョン、マイナーバージョン、リビジョンの順で記入します。最初は"1,0,0"か"0,0,1"で問題ないでしょう
dependencies
ここはリソースパックと依存関係がある場合に参照される場所です。- ・uuid
- 依存関係にあるリソースパックのheader部のUUIDを記入します。依存するリソースパックがない場合は先にUUIDを取得して記入しておけば、後からリソースパックを追加した時にそのまま使えます
- ・version
- 依存関係にあるリソースパックのheader部のバージョンを記入します。依存するリソースパックがない場合は"1,0,0"か"0,0,1"を設定しておけば問題ないでしょう
リソースパックのファイル
ファイルの内容は以下の通りです。
UUIDには仮のアルファベットを記入していますが、それぞれ異なるIDである事を表しています。
連携しているビヘイビアパックがある場合、header内の
リソースパックのmanifest.jsonの内容

UUIDには仮のアルファベットを記入していますが、それぞれ異なるIDである事を表しています。
連携しているビヘイビアパックがある場合、header内の
uuid
とversion
はビヘイビアパック用manifest.json
内のdependencies
の内容と合わせておく必要があります。リソースパックのmanifest.jsonの内容
{ "format_version": 2, "header": { "description": <リソースパックの説明>, "name": <リソースパックの名前>, "uuid":"CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", "version": [1, 0, 0], "min_engine_version": [1, 16, 0] }, "modules": [ { "description": <モジュールの説明>, "type": "resources", "uuid": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD", "version": [1, 0, 0] } ] }
format_version
今は"2"固定で問題ないようです。header
- ・description
- リソースパックの説明を記入します。ワールドの設定画面で表示されます(下図参照)
- ・name
- リソースパックの名前を記入します。ワールドの設定画面で表示されます(下図参照)
- ・uuid
- UUIDを記入します。>> UUID Generatorのサイト等で取得
- ・version
- リソースパックのバージョンをメジャーバージョン、マイナーバージョン、リビジョンの順で記入します。最初は"1,0,0"か"0,0,1"で問題ないでしょう
- ・min_engine_version
- マインクラフトの対応基準にするバージョンをメジャーバージョン、マイナーバージョン、リビジョンの順で記入します。リソースパック作成時のバージョンを記入しておけば問題ないでしょう

modules
モジュールは複数指定できるようですが本環境では"resource"タイプしか使用していませんので以下の1モジュール分のみ定義しています。- ・description
- モジュールの説明を記入します。使われる事はないので開発者側のメモとして残しておくといいでしょう
- ・type
- "resources", "data", "world_template", "script"の指定ができますが本環境では"resources"のみ使用しています
- ・uuid
- UUIDを記入します。>> UUID Generatorのサイト等で取得
- ・version
- モジュールのバージョンをメジャーバージョン、マイナーバージョン、リビジョンの順で記入します。最初は"1,0,0"か"0,0,1"で問題ないでしょう
コメント記法
アドオンパック内のJSONファイルでは、以下の黄色の部分のようにスラッシュ2つ("//")を付けてコメント表記が使えます。
JSONファイル内でのコメント表記
JSONファイル内でのコメント表記
// 【付与されるエンチャント】 // // knockback ノックバック レベル1 // sharpness ダメージ増加 レベル2 // looting ドロップ増加 レベル3 { "function": "specific_enchants", "enchants": [ {"id": "knockback", "level": 1}, {"id": "sharpness", "level": 2}, {"id": "looting" , "level": 3} ] }
おわりに
manifest.json
さえ出来てしまえば、あとは必要に応じて内容を付け足していけばいいだけなので、先に空のアドオンパックを追加しておくのもいいでしょう。アドオンパックの適用方法については左メニューのビヘイビアパック適用のページをご覧ください。
本環境ではまだ使っていない項目や、ここに記載していない項目もありますので、今後も必要に応じて内容を追加/修正していきます。