マイクラにオリジナルのmobを追加したい。しかし、0から作るのは大変です。そこで、既存のmobをコピーして、オリジナルのmobに改造していく方法を紹介します。
統合版マインクラフト Minecraft for Windows で動作確認を行っています。
Minecraft - 1.21.124 (Bedrock)
作成するもの
すーみそー
sumiso_c0db8cだ
今回は戦闘用銅ゴーレムを作成します。銅ゴーレムに敵対心を追加し、戦闘能力を付けます。既存の銅ゴーレムに影響が出ないように、別のmobとして追加します。
本記事では以下の内容を取り扱います。
- 既存のモブをベースにオリジナルのmobを作成する
- 機能を追加する
- 名前の翻訳
- 召喚方法
次の内容については触れません。ご了承ください。
- ルートテーブルの作成(倒したときのアイテムドロップ)
- 3Dモデルの作成
- アニメーションの作成
- テクスチャの作成
追加するmobの名前
追加するmobの名前を決めます。表示される名前、識別IDを決めます。
たとえば、デフォルトの銅ゴーレムの場合
- 名前 銅ゴーレム
- ID minecraft:copper_golem
IDはコマンドで召喚するときなどに利用されます。minecraftは名前空間です。オリジナルのmobを追加するにあたって、名前を考えます。
- 名前 戦闘用銅ゴーレム
- ID c0db8c:fighting_copper_golem
名前空間minecraftはデフォルトで使われているので、被らないように別の名前にします。ご自身の名前にするのがオススメです。自分の名前はsumiso_c0db8cなのでc0db8cにしました。
名前空間が異なるのでc0db8c:copper_golemでもオリジナルmobとして成立しますが、より、どのような性質があるか分かりやすいようにfighting_copper_golemとしました。
ファイル構成
mobを追加するには、ビヘイビアーパックとリソースパック両方必要になります。それぞれアドオン開発用のフォルダに作成します。
サンプルのファイルから、必要なファイルのみコピーして作成します。サンプルはこちらのリポジトリから取得できます。
ビヘイビアーパック
%APPDATA%\Minecraft Bedrock\Users\Shared\games\com.mojang\development_behavior_packs
ここに「戦闘用銅ゴーレム」フォルダを作成します。
戦闘用銅ゴーレム
│ manifest.json
│
└─entities
fighting_copper_golem.json
fighting_copper_golem.jsonはcopper_golem.jsonをコピーして作成します。
リソースパック
%APPDATA%\Minecraft Bedrock\Users\Shared\games\com.mojang\development_resource_packs
ここに「戦闘用銅ゴーレム」フォルダを作成します。
戦闘用銅ゴーレム
│ manifest.json
│
├─entity
│ fighting_copper_golem.entity.json
│
└─texts
ja_JP.lang
3Dモデルやテクスチャ、アニメーションは既存のものを流用する、最小構成のリソースパックです。
fighting_copper_golem.entity.jsonはcopper_golem.entity.jsonをコピーして作成します。
manifest.json
ビヘイビアーパックとリソースパックの定義ファイルです。それぞれ作成します。
{
"format_version": 2,
"header": {
"description": " /summon c0db8c:fighting_copper_golem ~ ~ ~",
"name": "戦闘用銅ゴーレム",
"uuid": "c7ae6951-54bf-4d7d-95b7-5438f0457e05",
"version": [ 1, 0, 0 ],
"min_engine_version": [ 1, 21, 120 ]
},
"modules": [
{
"type": "data",
"uuid": "eb149d07-265f-4499-a11d-f9ba6ec7a403",
"version": [ 1, 0, 0 ]
}
],
"dependencies": [
{
"uuid": "12301956-dcd8-4ac6-94e8-d333f9c67033",
"version": [ 1, 0, 0 ]
}
],
"metadata": {
"authors": ["sumiso_c0db8c"],
"url": "https://www.youtube.com/c/sumisocraft"
}
}
ビヘイビアーパックではmodulesのtypeがdataになります。これはデータファイル (Mobの行動ロジックなど) を定義するパックであることを示します。
{
"format_version": 2,
"header": {
"description": "コマンドで召喚",
"name": "戦闘用銅ゴーレム",
"uuid": "12301956-dcd8-4ac6-94e8-d333f9c67033",
"version": [1, 0, 0],
"min_engine_version": [ 1, 21, 120 ]
},
"modules": [
{
"type": "resources",
"uuid": "946b7aee-0c06-4e1d-8535-85fc712e2ce3",
"version": [1, 0, 0]
}
],
"dependencies": [
{
"uuid": "c7ae6951-54bf-4d7d-95b7-5438f0457e05",
"version": [1, 0, 0]
}
],
"metadata": {
"authors": ["sumiso_c0db8c"],
"url": "https://www.youtube.com/c/sumisocraft"
}
}
リソースパックではmodulesのtypeがresourcesになります。
uuid
それぞれのパックを識別するための固有のidを指定します。headerとmodulesにそれぞれ設定します。「uuid 生成」と検索すると、生成サイトがあるのでコピペします。
ポイントはdependenciesに指定するuuidです。ビヘイビアーパックとリソースパック、それぞれ依存するパックのheaderのuuidを指定します。よく取り違えるので注意(当社比)。

依存先のheaderのuuidをdependenciesに記載します。
ビヘイビアーパック fighting_copper_golem.json
戦闘用銅ゴーレムの振る舞いを決めるファイルです。copper_golem.jsonを元に編集します。
IDを書き換えます。
{
"format_version": "1.21.100",
"minecraft:entity": {
"description": {
- "identifier": "minecraft:copper_golem",
+ "identifier": "c0db8c:fighting_copper_golem",
"is_spawnable": true,
"is_summonable": true,
攻撃力を追加...しようとしたら既にある。
マイクラ豆知識:銅ゴーレムの攻撃力は2
通常、銅ゴーレムは攻撃してきません。戦闘用銅ゴーレムとするために、敵対判定と、攻撃範囲を追加します。
"minecraft:attack": {
"damage": 2
},
+ "minecraft:behavior.hurt_by_target": {
+ "priority": 1
+ },
+ "minecraft:behavior.nearest_attackable_target": {
+ "priority": 2,
+ "within_radius": 16.0,
+ "entity_types": [
+ {
+ "filters": {
+ "all_of": [
+ { "test": "is_family", "subject": "other", "operator": "!=", "value": "creeper" }
+ ]
+ },
+ "max_dist": 16
+ }
+ ],
+ "must_see": true
+ },
+ "minecraft:behavior.melee_box_attack": {
+ "priority": 4,
+ "speed_multiplier": 1.15,
+ "track_target": true
+ },
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_lava",
"subject": "self",
minecraft:behavior.hurt_by_target
やられたらやり返す性質です。priority(優先度)1で、もっとも優先的に対応するようにします。
minecraft:behavior.nearest_attackable_target
近くのmobを攻撃対象にする性質です。within_radiusが追跡範囲です。
クリーパーは自爆して危険なので、攻撃しないようにします。
"all_of": [
{ "test": "is_family", "subject": "other", "operator": "!=", "value": "creeper" }
]
他のmobは無差別に襲います。ゾグリン以上に凶暴です。
minecraft:behavior.melee_box_attack
近接攻撃能力です。この能力がないと、攻撃が発生しません。遠隔攻撃はminecraft:behavior.ranged_attackという別のコンポーネントが必要で、発射物などを定義する必要があります。
また、攻撃を受けたらパニックになる性質を削除します。攻撃を受けたらやり返すため、逃げ回る性質を削除します。
- "minecraft:behavior.panic": {
- "priority": 2,
- "speed_multiplier": 1.5
- },
リソースパック fighting_copper_golem.entity.json
戦闘用銅ゴーレムの見た目を決めるファイルです。copper_golem.entity.jsonを元に編集します。
IDを書き換えます。ビヘイビアーパックと定義したIDと合わせることで、見た目の紐づけができます。
{
"format_version": "1.10.0",
"minecraft:client_entity": {
"description": {
- "identifier": "minecraft:copper_golem",
+ "identifier": "c0db8c:fighting_copper_golem",
"min_engine_version": "1.12.0",
また、スポーンエッグの見た目を変更します。
"spawn_egg": {
- "texture": "spawn_egg_copper_golem"
+ "base_color":"#d5d8d1",
+ "overlay_color":"#c0db8c"
},
バージョン1.21.124現在、スポーンエッグはmobの見た目に似たアイコンとなっています。以前は水玉模様の卵でした。テクスチャを用意するのが面倒なときは base_colorとoverlay_colorを指定することで、水玉模様を定義できます。色はお好みで。
他にも、3Dモデルやテクスチャ、アニメーション、音などの設定がありますが、ここではすべて既存の銅ゴーレムのファイルを流用します。
リソースパック ja_JP.lang
アイテムやモブの名前がマイクラ内でどのように表示されるか定義します。スポーンエッグの名前と、mobの名前を定義します。
item.spawn_egg.entity.c0db8c:fighting_copper_golem.name=戦闘用銅ゴーレム
entity.c0db8c:fighting_copper_golem.name=戦闘用銅ゴーレム
翻訳キーの命名規則は次のようになっています。
- スポーンエッグの名前 item.spawn_egg.entity.[名前空間]:[ID].name
- mobの名前 entity.[名前空間]:[ID].name
定義がない場合、マイクラ内で翻訳キーがそのまま表示されます。表示された翻訳キーに合わせてlangファイルを作成するという方法もあります。
動作確認
実際にマイクラのワールドに適用し、戦闘用銅ゴーレムが動作するか確認します。
ワールド作成
統合版マイクラを起動し、適当なワールド作成します。チートより、チートを有効化しておきます。
パックを追加します。ビヘイビアーパックまたはリソースパックのどちらかを認証すれば、自動的にもう一方も認証されます。されないときは、manifest.jsonのdependenciesのuuidの設定をミスっているので見直してください。
「利用可能」タブより、パックの名前横「認証する」を選択します。確認画面が表示されるので「それでもパックを追加する」を選択します。

パック入れたのに動作しないとき、原因の1割は「パックを追加しない」を選んでいた、です(当社比)。
ワールドに入ります。クリエイターの設定より、コンテンツログGUIを有効化していると早速エラーが表示されます。

ジオメトリ、つまり3Dモデルの形状でエラーがでていますが元々なので放置します。右上のxで表示を閉じます。
スポーンエッグ
クリエイティブインベントリのスポーンエッグ、一番最後にオリジナルmobが追加されます。
コマンド
コマンドで召喚する場合、IDを指定します。
/summon c0db8c:fighting_copper_golem ~~~
戦闘能力
クリーパー以外の全てのmobに敵対するため、同士討ちが発生します。クリーパーと同じように、銅ゴーレムおよび戦闘用銅ゴーレムを敵対対象から外すようminecraft:behavior.nearest_attackable_targetに設定を追加すると良いかもしれません。
攻撃アニメーションは設定していないため、ノーアクションで攻撃します。
サバイバルモードにすると
攻撃力を持った銅ゴーレムが誕生しました。
まとめ
本記事では、既存の銅ゴーレムをベースに、プレイヤーや他のmobを攻撃する「戦闘用銅ゴーレム」をアドオンとして新規追加する方法を解説しました。既存mobの定義をコピーし、そこからカスタム Mob の定義を始めることで、ゼロから作る手間を省きました。




