自分でアドオンを作ってみよう!(没記事)

 さっそくアドオンを作っていきましょう。「自分でアドオンを作ってみよう!#0」は読まなくてもアドオンづくりには支障はないですが、読んでおいたほうがためになるかもしれません。
 まず今回やるのは「スケルトンの改造」です。初心者はまだ"追加"はしない方がいいです。というのも、追加をするということはすなわちjsonを新しく書くということになるので、プログラマであったりそうでなくともjson経験者でない限りはキビシイ道のりだと思います。

ビヘイビアパックをのぞいてみる

 テンプレートの入手先は、先程読まなくてもいいと言いましたが「自分でアドオンを作ってみよう!#0」の下のほうにリンクがあります。.zipファイルで手に入ると思うので解凍しましょう。そして、新しいアドオンを作るたびにダウンロードするのは面倒なので、作るときには全体をコピーしてコピーしたものをいじりましょう。
 中を見てみてどうでしょうか??たくさんのフォルダとたくさんのファイルが詰まっています。もちろん日本語はほとんどありません。ちなみにリファレンス(説明書のようなもの)は「documentation」フォルダに格納されています。
 今回使うのは「entities」フォルダの「skeleton.json」ぐらいなので、必要じゃないものは消してしまいます。entitiesフォルダと同じ層にあるもので消してはいけないものは、
  • ​entitiesフォルダ
  • ​manifest.json
  • pack_icon.png
です。そして、entitiesフォルダの中身もskeleton.json以外は全て消してしまいましょう。

jsonを書き換えてみる

 では、skeleton.jsonを開いてみましょう。
 ふたたび中を見てみてどうでしょうか??いま自分は改造をしているということを思い出させてくれると同時に初心者を寄せつけないゴツさがあるでしょうか。
 2回目になりますが、ここには日本語はありません。かと言って、本物のプログラミング言語よりは英語が多く、略も少ないので読みやすいほうです。

 今回はまず何を改造していきましょうか。初めて改造をする際は変化がわかりやすいもののほうがいいです。例えば「日光から逃げるかどうか」というのが設定できるのですが、それを変えても改造は成功したのかどうかが簡単にわかりません。もしかしたら人によってはスケルトンが日光から逃げているシーンを目撃したことがないかもしれません。まして初めにこういった地味なことをすると感動がないので続きません。

 できるだけ変化がわかりやすいものですか……そうですね、まずは移動速度にしてみましょう。
 101行目に「minecraft:movement」というものがありますね。これが移動速度を操るコンポーネントです。このようにモブの性質や動作を操るものを「コンポーネント」と呼びます。

 コンポーネントは「minecraft:movement:{(略)}」のようにカッコ1組で1つのかたまりです。jsonはかたまりをカッコでまとめるので、どこからどこまでがかたまりなのかを見分ける力を付けられるよう努力してください。難しくなればなるほどカッコの中にカッコが……というようなマトリョーシカ風なかたまりを見分けなくてはならなくなります。

 誰か思ったんじゃないでしょうか。「まさかコンポーネントぜんぶ覚えてるのか……?」と。
 いいえ、覚えません。さっきはmovementという英語から移動速度だということを推測しました。英語が苦手だだたり知っている単語が少ない場合は翻訳できるツールをタスクや手元に控えておきましょう。単語の意味でおおよそそれぞれどんなコンポーネントか想像がつきます。ただ、どんな意味とでも取れて自信がない場合はリファレンスを見たり、他のjsonを見てみましょう。それでもわからないということは恐らくありません(リファレンスの英語が読めない場合を除いて)。

 っと、話が長くなってしまいました、さっそく変えてみましょう。「"value"」の右にある小数を書き換えるだけです。
 ちなみにゾンビで0.23、子ゾンビで0.35なので1.0で十分早いことがわかります。迷ったら1.0で試してみますか。
 他の部分は触らないでおきましょう。他人にアドオンを教えられるわたしですら見つけるのに時間がかかるミスもあるので、初心者ならなおさらミスが見つかりません。jsonはカンマ(,)ひとつのミスで動かなくなる繊細なものです。慎重に扱いましょう。

アドオンをパッキング

 数字を変え終わったら保存して閉じましょう。あとは圧縮してインポートするだけ──ではありません。必要でないものを先程消しましたが、残したのはskeleton.jsonだけではありませんでしたね。アドオンを正しくインポートするのに不可欠なmanifest.jsonです。これを書き換える必要があります。めんどくさがらずとりあえず開けてみましょう。
 manifest.json──通称マニフェストは、簡単に言えばインポートしたファイルがアドオンであることを認識させるためのものです。
 今回書き換えるのは、4, 12行目の「"description": "〇〇"」、5行目の「"name": "〇〇"」、6, 14行目の「"uuid": "〇〇"」の〇〇です。
 descriptionにはアドオンの説明を入れましょう。アドオンを入れるときの画面に表示されます。nameにはアドオンの名前です。これも同じく表示されます。
 では、UUIDとはなんでしょうか。これはアドオンとアドオンを識別するためのIDだと思ってください。そしてUUIDはここで取得します↓
 ここのサイトに行くとすぐ目の前にIDが表示されて、後ろにCopyと書いてあるボタンがあると思うのでそれでコピーします。これをそのままマニフェストの指定の場所(6, 14行目)に貼り付けます。2つは別のものを貼り付けてください。ページを更新すれば別のIDがランダムで出てきますよ。

パックをインポート

 これで準備は完了です。ちなみにpack_icon.pngはその名の通り、パックのアイコンです。わたしは16x16しか選んだことないので分かりませんがもしかしたら大きさの制限なりあるかもしれません。ただ、基本名前を「pack_icon.png」にすればおそらく何でも適用されます。変える場合もとのパックアイコンは消しても構いません。
 次に圧縮の作業です。manifest.jsonと同じ層にあるフォルダやファイル(今回はmanifest.jsonとpack_icon.pngとentitiesフォルダ)を圧縮してください。それらを含有するフォルダひとつ(名前を変えていなければVanilla_Behavior_Pack_〇〇のフォルダ)を圧縮するのではありません。解凍したらイッパツで(今回なら3つ)ファイルやフォルダが出るようにしてください。でないとインポートできません。
 .zipに圧縮できたら名前を変えて「〇〇.mcpack」としてください。重要なのは「.mcpack」の部分なので〇〇は自由です。
 あとはできあがったファイルをタップ/クリックするとマインクラフトがそこから起動できると思います。
 タイトル画面に来れば勝手にインポートが始まります。

アドオンを使ってみる

 適用の方法は知っているでしょうか。ワールドのメニューを開いて「アドオン」から「適用」できると思います。
 ここでバレてしまうのが、実は今回説明を省いたところがあるので「依存関係が失われています」。これは、ビヘイビアパックを適用したときに自動でリソースパックを適用する機能によるものなので気にしなくて大丈夫です。
 ちなみにマニフェストで書き換えたUUID以外の部分はここに表示されます。
 さて、あとはワールドに入ってスケルトンを召喚し、変化を見てみるだけです。この機会にアドオンのテストワールド的なものを作ってもいいかもしれませんね。
 どうですか??数字を極端に大きくしたひとは爆速で動き回るスケルトン、数字をゼロに近づけたひとはほとんど微動だにしないスケルトンになったでしょうか。

 わたしは自分で追加したモブの失敗例にある、スポーンしないということが起きてびびっていましたが、ピースフルにしていただけで、爆速スケルトンはちゃんと現れました。

 もし仮にできなかったとしてもわたしのせいではありません。あなたがどこかでミスをしているはずなのでもう一度よく今までの手順を振り返ってみてください。ないと思ったところにミスがあるはずです。

おかわり!

 初めてできたときの感動はわたしも覚えています。そしてもっと応用したくなります。他に変えられる部分はもちろんあります。他にどこが変えられるでしょうか。

■ 85行目"minecraft:health"

 valueはスポーンしたときの体力、maxは体力の最大値です。valueとmaxの値をそろえないのならvalueの値をはmaxの値より小さくないといけませんね。

■ 184行目"minecraft:behavior.flee_sun"

 speed_multiplierで日光から逃げるときだけの移動速度の倍率を変えられます。

 他にもいじれそうなものがあると思ったら変えても構いませんが目立たないと思います。
 スケルトン以外のエンティティでも見てみましょうか。こっちのほうがおもしろいのがたくさんありそうです。

■ zombie.jsonの165行目"minecraft:attack"

 攻撃力の値です。ハート1個分は2です。整数を入れましょう。

■ creeper.jsonの13行目"fuse_length"

 シューっと音を立てる、爆発までの時間です

■ creeper.jsonの15行目"power"

 爆発力の値です。しかし、大きくしても核爆弾modのようなあの爆発のしかたはしません。

 今回はここまでにしておきます。数字はたくさんあってもだいたいが目立たないものだったり予想通りじゃなかったりします。
 次回もう少しレベルの上がったことをするので楽しみにしていてください!

MinecraftBEアドオン-ヒント倉庫

MimecraftBEのアドオン作りで困ったときにここで解決できるようにと個人によって作られたものです

0コメント

  • 1000 / 1000