オリジナルエンティティを追加しよう

アドオン初級編

初めに

今回はエティティの追加を行います。
エンティティの追加はバニラのモブとは別に全く新しいモブを追加する事ができます。その為既存のバニラ要素を壊さずに新要素を追加する事ができます。

カスタムアイテムの導入からの続きとなります。アイテム追加は行っていなくてもオリジナルエンティティの追加は行えますが、本記事での説明ではアイテムを追加したていで説明を行っています。
アドオンの導入方法が分からない方こちらで0からアドオンを導入する方法を解説しているので読んでからエンティティの追加にチャレンジしましょう

バニラファイルの複製

0から書いていくのもいいですがそれだと手間がかかり構文ミスなどが起きてしまう場合があります。
そのため公式のパックに入っているファイルをコピーして別ファイルとして複製しましょう。

エンティティを構成するjsonはアイテムと比べてかなり長めなので全て手書きで行おうと思うとかなりの確率で構文ミスが起きてしまいます。なので既存のファイルをコピーして作るのが無難です。

まずはビヘイビアーのフォルダにあるentitiesのフォルダを開きましょう

そしてzombie.jsonを探してコピペします。

アイテムの時と同じように追加すれば問題ありません。

今回はファイル名をice_zombieにします

.jsonが表示されていない場合

ファイル名がzoglin zombie zombie_horse….のように.jsonが付いていない表示の場合拡張子の表示ができていない状態です。この時に名前をtest.jsonにした場合表示上は問題無さそうに見えますが実際は
test.json.jsonというファイル名になってしまっています。もし.jsonが表示されていない場合
設定を変える必要があります。

win11になったのでwin11での表示方法を説明します。win10の場合はカスタムアイテム追加の記事に書いてあるのでそちらを参考にしてください

エクスプローラーのファイルパスの下にあるメニューから表示をクリックします。

すると追加のメニュー一覧が表示されるので一番下にある表示をクリックしてファイル名拡張子にチェックを付けましょう

ice_zombie.jsonの中身

ice_zombie.jsonを開くと631行のめちゃくちゃ長いテキストが表示されるかと思われます。
それぞれが何の役割を持っているのかは今は把握する必要はありませんが、エンティティがどういった構成で行われているのかは知っておく必要があります。これを知っておくと誰かに質問をする際にもスムーズになります。

こちらの記事に全て書いているのでこの記事を読んで下さい。この記事を読むことで初心者がやりがちなアドオンのミスは無くせると思います。(イベントの中にコンポーネントを書くみたいな)

identifierの変更

一番上にスクロールするとこんな感じになっていると思います。
隠しモブを作りたいとかが無い限りis_spawnableとis_summonableはtrueにしておいた方が無難です。
identifierがエンティティのidを決める部分になります。
○○:○○という形にする必要があります。

今回は test:ice_zombie にします。
この時名前は何でもいいのですが注意点として下記のような事があるので把握しておいて下さい。

絶対ダメな名前

・最初が数字
・日本語
・記号
・”minecraft:”という識別子を使う(バニラアイテムを改造する場合は例外)

等はエラーの原因となるので使わないようにしましょう。

私がカスタムエンティティが実装された時にやってたミスがminecraftのまま追加しようとしてエラーになっていた事があります。ダメな名前を使わなければminecraft以外何でもいいです。

ステータスの改造

エンティティ追加の準備はこれで整いました。今ゲーム内で確認するとsummonできると思います。

でも召喚しても透明になっていると思いますが今の段階では正常ですので大丈夫です。

122行目に移動しましょう。componentsと書かれていると思いますがここがこのアイスゾンビの基本ステータスを設定している箇所になります。

HPの設定

少し下の方に移動すると minecraft:health というコードがあるかと思います。
(ctrl+Fで検索をかけると楽です)

この minecraft:health という部分がHPを設定している箇所になります。maxが最大体力、valueがスポーンした時の値になります。基本両方とも同じ値にします。

不死身のmin

minを追加する事でHPの最小値を設定することができます。しかし、何をしても死ななくなるので扱いには注意が必要になります。

使用する時はこんな感じになります。今回は紹介だけでminは使いません

攻撃力の設定

177行目にある minecraft:attack の部分が攻撃力を設定している場所になります。

好きな値に変更しましょう。ちなみにプレイヤーのHPは20です。

■ 広告 ■

鈍足攻撃をするようにしよう

今回作っているモンスターはアイスゾンビなのでせっかくなら攻撃に鈍足を付けてみたいと思います。

エフェクト攻撃をしてくるモンスターからコードをコピーするのが楽なのでwither_skeleteon.jsonを開いてみましょう。

attackで検索をかけると minecraft:attackが見つかると思います。

全部コピーしちゃいましょう

そして minecraft:attackを構成する部分に上書きします。

変更前

これが

変更後
変更後

こうなればOKです

リソースパックの適応

今までの作業でエンティティがワールドに追加されるようになったかと思います。
サバイバルやアドベンチャーで召喚すると攻撃してくる透明なモブが追加されていると思います。

しかし透明なのでこれでは何が起こっているのか分かりません。そこで次にリソースパックの適応を行います。

リソースパックを開いてentityフォルダを開きましょう。

そしてzombie.v.1.0.entity.jsonをコピペしましょう

zombie.entity.jsonとzombie.v1.0.entity.jsonの違いはよくわかりませんでした。どっちでもいいと思います

コピペをしたらファイルの名前を分かりやすいように変更しましょう

リソース適応ファイルの設定

先ほど作成したjsonファイルを開きましょう。するとこんな感じの画面になっていると思います。

identifierを変更しよう

ビヘイビアと同じようにこのファイルがice_zombieの物であると分かるようにidentiferを変更しましょう。
この時ビヘイビアで指定した物と同じ名前を指定してください。

今回は test:ice_zombie にしていたのでここでも同じ名前にします

テクスチャの指定

次に使用するテクスチャを指定する部分を書きます。

ここのtexturesという部分が使用するテクスチャを決めている部分になります。

実際にパックのtexures/entity/zombieの中を見てみるとこのように見覚えのあるゾンビのテクスチャがあると思います。このテクスチャを今回指定しています。

テクスチャの名前を指定するので作成したテクスチャの名前を指定すれば良いです。
今回はice_zombieとします。

テクスチャの指定を変更した後

セーブして保存しましょう。

テクスチャの作成

今回追加するアイスゾンビのテクスチャを作成します。1から作るのはかなり面倒なのでゾンビのテクスチャをコピペして名前をice_zombie.pngにします

このようになればOKです。

作成できたら画像編集ソフトで開きます。今回はpaint.netを例にします。
paint.netは使いやすいのでオススメです。

今回は簡単に色相を変更してそれっぽいやつを作ろうと思います。

調整タブをクリックして出てくる色相をクリックします。

それっぽい色にします。

ほかの画像編集ソフトでも好きなように色を変更してください。

変更出来たら保存を押してpaint.netは閉じましょう

適応の確認

リソースパックを作成できたらマイクラを開きましょう。
ワールドを開く前にリソースパックがしっかり適応されているか確認して入っていればワールドに入ってみましょう

使用中の中にリソースパックが入っていればOK

インベントリを開いてスポーンエッグの欄を見てみるとゾンビの卵の見た目のアイテムが追加されていると思います。

名前が変ですがここの適応方法は別の機会に紹介します。

召喚してこのように見た目が反映されていれば完成です。

サバイバルになって攻撃を受けてみると鈍足攻撃をしてくると思います。

まとめ

今回はエンティティを追加する方法の紹介を行いました。複雑な動きをするエンティティの追加は難しいですが今回の記事を元に作成すればこのように特殊な能力を持つゾンビとかは簡単に追加できるようになると思います。

参考になればうれしいです。

コメント