アイテムの追加

スポンサーリンク

この記事の目的

この記事では、アイテムを追加する方法について解説しています。

今回、解説するアイテムは以下の通りです。

  • 最低限の機能のみの基本的なアイテム
  • バニラアイテムのカスタマイズ

ビヘイビアーパック

まずは、ビヘイビアーパックの内容を作成していきます。

アドオンフォルダのビヘイビアーパックの中にitemsというフォルダを作成します。itemsフォルダの中に追加するアイテム用のファイルを作成します。この記事でのファイル構造は以下のようになります。

📁ビヘイビアーパック
┣📁items
┃┣📝custom_item.json
┃┗📝bundle.json
┗📝manifest.json

基本的なアイテムの作成

まずは、基本的なアイテムを作成します。ここで編集するファイルはcustom_item.jsonです。

{
    "format_version": "1.21.60",
    "minecraft:item": {
        "description": {
            "identifier": "sample:custom_item",
            "menu_category": {
                "category": "items"
            }
        },
        "components": {
            "minecraft:icon": "custom_item",
            "minecraft:display_name": {
                "value": "カスタムアイテム"
            }
        }
    }
}

format_version

このファイルがどのバージョンで作成されているかを指定するものです。基本的に作成時点での統合版のバージョンを記入します。ここで指定するバージョンにより、使用できるコンポーネントが変わります。新しくアップデートで追加されたコンポーネントを使用する際はこのバージョンを最新のものに変更しないと使用できません。

identifier

アイテムのIDを指定します。

通常の書き方では、“名前空間:アイテム名”という形で指定します。名前空間とは他のアドオンと識別するためのIDみたいなものなので、どんな名前でも可能ですが、他のアドオンと被らないような名前(作者名やアドオンの省略名など)にすることを推奨します。基本的には、同じアドオンでは同じ名前の名前空間を使用します。なお、名前空間にminecraftを指定することはできません。

menu_category

アイテムをクリエイティブインベントリやクラフトする際に表示されるレシピにあるカテゴリを指定します。

指定できる内容は以下の通りです。

"menu_category": {
   "category": "items",
   "group": "minecraft:itemGroup.name.bed",
   "is_hidden_in_commands": false
}
category

カテゴリを指定します。指定できる値はconstruction,nature,equipment,items,noneです。
noneを指定すると、クリエイティブインベントリやレシピには表示されません。

group

グループを指定します。クリエイティブインベントリで複数のブロックやアイテムが1つのグループとしてまとめられているものです。

1.21.60から新たにアイテムカタログという機能がリリースされたため、記述方法が変更され、名前空間が必須になりました。マイクラに元々あるグループを指定する場合はグループ名の前にminecraft:をつけ足してください。

マイクラに元々存在するグループ名の一覧は以下にあります。

Item Documentation - description
A reference document detailing the 'description' item component
is_hidden_in_commands

アイテムをコマンドに表示するかどうかの設定です。true,falseで設定します。trueの場合、コマンドでは表示されなくなり、giveコマンドなどで無理やり指定してもコマンドエラーとなります。

minecraft:icon

アイテムのアイコンを設定します。基本的にはこのような形で設定します。

"minecraft:icon": "テクスチャ名"

応用的な形として、以下のような形でも動作します。

"minecraft:icon": {
   "textures": {
      "default": "テクスチャ名"
   }
}

このdefaultを使う設定方法はdefault以外の時のテクスチャを設定するときに有効的です。(例:アイテムを大釜に使用して色を付ける場合やトリム機能がある場合)

minecraft:display_name

ゲーム内で表示するアイテム名を指定します。書き方はこのような形で設定します。(改行をすることもできます)

// 一般的な書き方
"minecraft:display_name": {
   "value": "アイテム名"
}

// 改行する場合は以下の通り
"minecraft:display_name": {
   "value": "1行目\n2行目\n3行目"
}

なお、この書き方では、どの言語でも同じ名前で表示されます。各言語で表示名を変える場合は、翻訳キーを指定する必要があります。

翻訳キーでの設定方法はこのような形で設定します。(名前空間は必要ないです

"minecraft:display_name": {
   "value": "item.アイテム名.name"
}

その他のコンポーネント

ここでは紹介していないその他のコンポーネントに関しては以下のサイトにあります。

Item Documentation - Item Component List
The list of all components available for Item Components.

バニラアイテムの編集(バンドル)

次に、バニラアイテムを編集します。統合版1.21.60時点では、すべてのバニラアイテムを編集することはできません。編集することのできるバニラアイテムのファイルは以下のリンク先にあります。

bedrock-samples/behavior_pack/items at main · Mojang/bedrock-samples
Samples and assets for building Minecraft: Bedrock Edition add-ons - Mojang/bedrock-samples

ファイル名はなんでもいいですが、今回はバンドルを編集するので、bundle.jsonで作成します。

{
    "format_version": "1.21.30",
    "minecraft:item": {
        "description": {
            "identifier": "minecraft:bundle"
        },
        "components": {
            "minecraft:icon": {
                "textures": {
                    "default": "bundle"
                }
            },
            "minecraft:max_stack_size": 1,
            "minecraft:storage_item": {
                "max_slots": 64,
                "max_weight_limit": 64,
                "weight_in_storage_item": 4,
                "allow_nested_storage_items": true,
                "banned_items": [
                    "minecraft:shulker_box",
                    "minecraft:undyed_shulker_box"
                ]
            },
            "minecraft:wearable": {
                "slot": "slot.armor.chest"
            },
            "minecraft:bundle_interaction": {
                "num_viewable_slots": 12
            }
        }
    }
}

このコードはバンドルをプレイヤーのインベントリのチェストプレートの位置に置けるようにするコードです。minecraft:wearableというコンポーネントを使って装備できるスロットを指定しています。ここでは、本来、チェストプレートやエリトラを付けることができる位置を指定しています。

以上がビヘイビアーパックの解説です。

リソースパック

リソースパックでは、アイテムのテクスチャを指定します。なお、今回はバンドルの方はバニラそのままのテクスチャを使用しているため、リソースパックでは新たに追加するオリジナルアイテムのためのファイルのみになります。

リソースパック内にtexturesフォルダを作成し、itemsフォルダとitem_textures.jsonを作成します。

📁リソースパック
┣📁textures
┃┣📁items
┃┃┗custom_item.png
┃┗📝item_texture.json
┗📝manifest.json

itemsファルダにはアイテムのテクスチャを入れます。

item_texture.jsonでは、テクスチャ名とテクスチャ画像を結びつけるためのファイルです。

item_texture.json

{
    "resource_pack_name": "SampleRP",
    "texture_name": "atlas.items",
    "texture_data": {
        "custom_item": {
            "textures": "textures/items/ruby"
        }
    }
}

今回は、サンプルとして、バニラのアイテムとしては使われていないけど、テクスチャとしては存在する「ルビー」をテクスチャに指定しました。

バニラアイテムを編集する際、アイテムのテクスチャを変える必要が無い場合はitem_texture.jsonに記述する必要はありません。

resource_pack_name

リソースパックの名前を設定します。名前はなんでもいいので、基本的にはアドオン名を書きます。

texture_name

このファイルに書かれているテクスチャがどのテクスチャアトラスに格納するかを設定します。アイテムの場合は必ずatlas.itemsを設定します。これ以外のものにしてしまうと動きません。

texture_data

テクスチャの紐づけ部分を書きます。複数指定する場合は以下のように書きます。

"texture_data": {
   "テクスチャ名1": {
      "textures": "テクスチャのパス"
   }
   "テクスチャ名2": {
      "textures": "テクスチャのパス"
   }
}

さいごに

さいごに、マイクラで作成したアドオンを適用させたワールドに入ると、新たに追加したアイテムはクリエイティブインベントリのアイテムタブの一番下に追加されています。

また、編集したバンドルはチェストプレートの場所に装備できるようになっています。

コメント

コメント通報