0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

既存の友好mobをコピーして新しい敵対mobを追加する【統合版マイクラ】

Last updated at Posted at 2025-12-11

マイクラにオリジナルの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.jsoncopper_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.jsoncopper_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を指定します。よく取り違えるので注意(当社比)。

dependencies.png
依存先のheaderのuuidをdependenciesに記載します。

ビヘイビアーパック fighting_copper_golem.json

戦闘用銅ゴーレムの振る舞いを決めるファイルです。copper_golem.jsonを元に編集します。

IDを書き換えます。

fighting_copper_golem.json
{
  "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と合わせることで、見た目の紐づけができます。

fighting_copper_golem.entity.json
{
  "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_coloroverlay_colorを指定することで、水玉模様を定義できます。色はお好みで。

他にも、3Dモデルやテクスチャ、アニメーション、音などの設定がありますが、ここではすべて既存の銅ゴーレムのファイルを流用します。

リソースパック ja_JP.lang

アイテムやモブの名前がマイクラ内でどのように表示されるか定義します。スポーンエッグの名前と、mobの名前を定義します。

ja_JP.lang
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を有効化していると早速エラーが表示されます。

geometry
ジオメトリ、つまり3Dモデルの形状でエラーがでていますが元々なので放置します。右上のxで表示を閉じます。

スポーンエッグ

クリエイティブインベントリのスポーンエッグ、一番最後にオリジナルmobが追加されます。

戦闘用銅ゴーレムのスポーンエッグ

スポーンエッグで召喚すると、見た目は銅ゴーレムです。
召喚

コマンド

コマンドで召喚する場合、IDを指定します。

/summon c0db8c:fighting_copper_golem ~~~

コマンドで召喚

戦闘能力

クリーパー以外の全てのmobに敵対するため、同士討ちが発生します。クリーパーと同じように、銅ゴーレムおよび戦闘用銅ゴーレムを敵対対象から外すようminecraft:behavior.nearest_attackable_targetに設定を追加すると良いかもしれません。

同士討ち

攻撃アニメーションは設定していないため、ノーアクションで攻撃します。

サバイバルモードにすると

動作イメージ

攻撃力を持った銅ゴーレムが誕生しました。

まとめ

本記事では、既存の銅ゴーレムをベースに、プレイヤーや他のmobを攻撃する「戦闘用銅ゴーレム」をアドオンとして新規追加する方法を解説しました。既存mobの定義をコピーし、そこからカスタム Mob の定義を始めることで、ゼロから作る手間を省きました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?