イチからわかる!マイクラでアドオン開発のススメ【マインクラフト統合版1.21.41対応】
こんにちは!YUKI , (ユキ カンマ) です。
マイクラでアドオン開発をはじめるために必要なものをわかりやすく解説!
簡単なアドオンも作っていきますので、最後まで読んでくださいね!
更新履歴
2023/9/8 mcfunctionファイルのコマンドについて追記
2024/3/4 記事冒頭、対応バージョンを追記
2024/3/7 VSCodeの名称を追記
2024/4/21 バージョン1.20.73に対応を確認
2024/4/22 新しい記事へのリンクを追加
2024/4/24 バージョン1.20.80に対応を確認
2024/5/11 アドオンのインポートについて追記
2024/6/12 バージョン1.20.81に対応を確認
2024/6/14 バージョン1.21.0に対応を確認
2024/10/23 バージョン1.21.31に対応を確認、アプデに基づき内容変更
2024/10/24 バージョン1.21.41に対応を確認
2024/10/27 新しい記事へのリンクを追加
アドオンとは? MODとの違い
アドオンとは「ソフトウェアに追加する新しい機能」のことを指します。
なので、Minecraftにおいてのアドオンは
「普通のマイクラにはない新しい機能」
ということになりますね!
他にもMinecraftに詳しい人なら、MOD(モッド、以下MODと呼称)
という言葉を聞いたことがあるかもしれません。
MODは、Minecraft Java版におけるアドオンのことなので、
「Minecraft MOD」のように書いてあるものは統合版では使うことが出来ません!
※中にはMODとアドオン、両方に対応しているものもあるので
必ず使えないというわけではありません!
YUKI , (ユキカンマ)のnoteでは
「Minecraft統合版のアドオン」を自分で開発する方法をイチから解説!
アドオン開発に必要なもの
では早速作っていきましょう。
まず最初に以下のものが必要です!
(なければ購入してくださいね)
Windows 10 か Windows 11 のどちらか ※1
Minecraft for Windows (Minecraft統合版のパソコン版)
以上です!
パソコンとMinecraftを持っていたら、他に買うものはありません!
しかし、これで終わりではありません!
まだまだインストールするものがあるので、
この記事を最後まで読んでくださいね!
パソコンにインストールするもの
ここからは全て無料で用意することが出来るものを紹介します。
Webブラウザ(Google ChromeやMicrosoft Edgeなど)で検索をして、
ダウンロードしてくださいね。
Visual Studio Code (ビジュアル スタジオ コード)
※似たような名前で「Visual Studio」というものがあります。
こちらもMicrosoftが出しているので怪しいソフトではないですが、
アドオン開発で使いたい方ではありません!
ここまで多機能なものは必要ないので、
皆さんはちゃんとVisual Studio Codeの方をダウンロードしましょう!
これ以降は、VSCode(ブイエスコード)と呼んでいきますね。
Blockbench (ブロックベンチ)
詳しいインストール方法は他の方の解説でわかりやすいサイトさんがあると思うので、そちらを参考にしてみてくださいね!
これがあると便利になる!
アドオン開発をする時に便利になるVisual Studio Code(以下VSCodeと呼称)の中でインストールする拡張機能や、Minecraft公式が公開しているアドオンのサンプルをダウンロードしてきましょう。
Japanese Language Pack for Visual Studio Code
UUID Generator
Blockception's Minecraft Bedrock Development
一行ずつコピーをして、VSCodeの中で検索をしていきます。
VSCodeの左側のアイコンから拡張機能タブを開いて、先程コピーした拡張機能の名前を貼り付けましょう!
拡張機能をクリックした後、インストールという青いボタンがあるので
それをクリックするとインストール完了!
拡張機能の解説
Japanese Language Pack for Visual Studio Code
VSCodeの中では有名な拡張機能です!
基本的にすべて英語で書かれているVSCodeを日本語にしてくれます。
といった理由がなければ、ぜひインストールしてください!
UUID Generator
UUIDをワンクリックで生成できる拡張機能です!
VSCode上で右クリックをした後、Generate UUID At Cursorという項目をクリックすると、すぐにUUIDを生成してくれます。
ちなみに、UUIDというのは世界で一つしかない番号のことです。
これを使えば、Minecraftでどんなアドオンを入れたとしても、
ちゃんと別々のアドオンとして認識してくれます。
こういった不具合やエラーを防ぐためにも
UUIDを書く場所では、全てのUUIDをバラバラのものにしておきましょう!
Blockception's Minecraft Bedrock Development
アドオン開発において、必須ではないものの必須級な拡張機能!
自分でイチから書かなくても、アイテムのIDやエンティティのIDを予測候補として出してくれます。
また、この拡張機能を使う時にはフォルダー名などに
・ビヘイビアーパックなら、BP または bp
・リソースパックなら、RP または rp
が含まれているか、
・ビヘイビアーパックなら、behavior_packsフォルダーの下
・リソースパックなら、resource_packsフォルダーの下
に自分が作るアドオンのフォルダーがないと
上手く機能しないので、注意しましょう!
拡張機能がない方は時間がかかりますし、入力ミスも起きてしまいます…
この拡張機能があるとないとでは作業のしやすさが格段に違うので、
ぜひインストールしましょう!
アドオンサンプルをダウンロードしよう!
さてあと一息!
Minecraftのデータを公式からダウンロードしてきましょう!
Githubというソースコード共有サイトで
Minecraft公式が公開している、アドオン開発のためのサンプルデータがあります。
これをクリックすると、
GithubのMinecraft統合版のアドオンサンプルページに飛びます。
右上の緑色のボタンで [Code]をクリックして、
一番下のDownload ZIPをクリックするとダウンロードが開始!
あとはダウンロードしてきたzipファイルを解凍して、
いつでも見ることができる場所に保存しておきましょう!
ここまでで準備はすべて完了です!!
では、早速。
Minecraftで「マイクラスターターキット」をゲットするアドオンを作ってみましょう!!
実践編:「マイクラスターターキット」をゲットするアドオンを作ってみよう!
事前準備が終わったら、実際にMinecraftで使えるアドオンを開発してみましょう!
1. com.mojangフォルダーを開こう
Minecraftにアドオンを導入するためには、
以下の場所に正しくフォルダーを作る必要があります!
まずはMinecraftのアドオンのフォルダーの場所を探してみましょう!
まず初めに画像のようにWindowsキーとRキーを同時に押します。
そうすると以下のようなウィンドウが表示されます。
このウィンドウの名前(O):というところに以下の文言を
コピー&ペーストしてください!
%localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang
OKボタンを押すとエクスプローラーが開きます!
com.mojangというフォルダーの中にはたくさんのフォルダーやファイルがありますが、アドオン開発で使うのは2つだけ!
development_behavior_packs と
development_resource_packsです!
この2つのフォルダーが重要になってくるので、
このフォルダーの場所をショートカットに保存したりして、
いつでも開けるようにしておきましょう!
上図のように、
ビヘイビアーパックのアドオンはdevelopment_behavior_packsに。
リソースパックのアドオンは
development_resource_packsに入れる
というルールは絶対に守ってください!
(これが間違っていると不具合の原因になります!)
今回はビヘイビアーパックのアドオンのみを開発するので、
development_behavior_packsフォルダーを
左クリックして開いておいてくださいね。
2. マイクラスターターキット アドオンのフォルダーを作ろう
それでは早速作っていきます。
まず、development_behavior_packsフォルダーの中で右クリックをして、
新規作成からフォルダーを作成しましょう!
この時、フォルダーの名前はできる限り英語、
またはローマ字で名前をつけてください。
不具合の原因になるので、日本語や全角文字で入力しないでくださいね。
3. manifest.jsonとfunctionsフォルダーを作ろう
このフォルダーの中にmanifest.jsonというファイル、
functionsというフォルダーをそれぞれ作成します。
この時、タイプミス(打ち間違い)がないように、
上の文章の太字部分をコピー&ペーストしてくださいね!
functionsフォルダーとmanifest.jsonについて、簡単に解説!
**functionsフォルダー
このフォルダーには、2種類のファイルを置くことが出来ます。
tick.json
.mcfunction (mcfunction形式のファイル)
2つのファイルのうち、
mcfunction形式のファイルの名前自体はなんでもOK!
ただし、後から見た時にもわかりやすいネーミングを心がけましょう!
tick.jsonファイルの方は機能が一つしかないのでとても簡単!
それは、1ティックごとに1回繰り返すという機能です。
例えば、このように書いてある時、functionsフォルダーの中にある
・test.mcfunction
・test2.mcfunction
という2つのファイルがそれぞれ1ティックごとに1回繰り返し、
ワールドが閉じるまで何度も何度も実行されます!
mcfunction形式のファイルは、
コマンドをたくさん並べて一つにしておけるものです!
例えばこんなmcfunctionファイルも作れます!
// summon_chicken.mcfunction というファイル名!
summon minecraft:chicken
summon minecraft:chicken
summon minecraft:chicken
summon minecraft:chicken
give @a minecraft:wheat_seeds 4
このmcfunctionファイルをfunctionsフォルダーにおいておいて、
Minecraftでアドオンを有効化しておくと、
「/function summon_chicken」とチャットに入力することで、
ニワトリを4匹を呼び出して、
小麦の種を4個ゲットできます!
コマンドブロックでは、1ブロックに1コマンドしか書けません。
それにワールドに置いておく必要があるので、
壊してしまうと動かなくなってしまいます…。
mcfunctionファイルならワールドに置いておく必要がない!のと、
「◯◯のコマンドってどこに置いたっけ…?」となることが少ないです!
アドオン開発をする時には、この2つのファイルのことを覚えておくと、
スマートでかっこいいアドオンが作れますよ!!
**manifest.json
簡単に説明すると、
Minecraftに「これはアドオンだよ!」と認識してもらうためのファイル!
ビヘイビアーパックに1つ、リソースパックに1つずつ置く必要があります。
詳しい説明は後日、別のnoteにまとめようと思うので、
今は黒い背景の部分をコピー&ペーストして完成させてください!
{
"format_version": 2,
"header": {
"description": "マイクラスターターキット アドオン",
"name": "stater_kit",
"uuid": "(UUID Generatorで生成! その1)",
"min_engine_version": [
1,
20,
10
],
"version": [
1,
0,
0
]
},
"modules": [
{
"type": "data",
"uuid": "(UUID Generatorで生成! その2)",
"version": [
1,
0,
0
]
}
]
}
コピーが出来たら、先程作った「starter_kit[BP]」の中に新規作成した「manifest.json」をVSCodeで開いて、ペーストしてください!
ペーストが終わったら、
・"uuid": "(UUID Generatorで生成! その1)",
・"uuid": "(UUID Generatorで生成! その2)",
の(UUID Generatorで…)という部分を消します。
"uuid": ""
の状態になったら、"(ダブルクォーテーション)と"の間に
UUID GaneratorでUUIDを生成しましょう!
注意として、編集した2行のUUIDは別のものにする必要があります。
なので合計2回生成してくださいね!
保存が出来たら、次はmcfunctionファイルの中身を書いていきましょう!
4. mcfunctionファイルを開いてみよう
ここからは、実際にmcfunctionファイルを編集して
Minecraftで使える「マイクラスターターキット」の中身を作っていきます!
まずはfunctionsフォルダーを作成して、
「starter_kit[BP]」の中身が画像と全くおなじになるようにしましょう!
ここまでOKなら、今度はfunctionsフォルダーを左クリックして開きます。
中にはまだ何も入っていないと思いますので、
ここでもmanifest.jsonと同じように、ファイルを新規作成して
「starter_kit.mcfunction」という名前に変更します!
画像のようにmcfunctionファイルができたら、これもVSCodeで開きます!
ファイルをVSCodeで開くと、画像のようになっていると思います。
もし次の画像のようなポップアップが出た場合は、
[はい] をクリックしてワークスペースに追加してあげてください!
ここまで出来たら、次は実際にプログラミングをしていきましょう!
5. マイクラスターターキットの中身を作ってみよう!
mcfunctionファイルには、コマンドをたくさん並べることが出来ます。
この機能を利用して、
1つのコマンドだけでたくさんのコマンドを動かしてみましょう!
今回はコマンドを入力するとアイテムが手に入るようにしたいので、
giveコマンドを使います!
先ほど作成した「starter_kit.mcfunction」をVSCodeで開いて、
黒い背景の部分をコピー&ペーストでmcfunctionファイルに貼り付けます。
# Minecraftの中で「/function starter_kit」と入力すると、以下のコマンドを実行!
give @p[r=1] minecraft:iron_helmet
give @p[r=1] minecraft:iron_chestplate
give @p[r=1] minecraft:iron_leggings
# 武器や防具、ツールなどはdataという値を変えることで耐久値を減らした状態にできる!
# 鉄のブーツの耐久最大値は196なので、data値を96とかにすると残り耐久値が 196 - 96 = 100 の状態で入手!
give @p[r=1] minecraft:iron_boots 1 96
give @p[r=1] minecraft:bread 5
# ポーションや羊毛ブロックなど、同じID(minecraft:potion のような名前)の中で種類がある場合はdata値で指定する!
# 今回は治癒のポーションLv1を入手するので、治癒のポーションLv1(data値:21)を指定して、3個入手!
give @p[r=1] minecraft:potion 3 21
そうすると次の画像のような状態になるので、
ここで忘れずに保存を行います!
保存が終わったら、今度はMinecraftでアドオンを有効化しましょう!
※9/8(金) 追記
6. Minecraftでアドオンを有効化しよう!
Minecraftでアドオンを使うために、いくつかの設定が必要です。
まずは何でも良いのでワールドを作ります!
ワールド作成画面の左側にある「ビヘイビアーパック」を左クリックして、
右側に表示されているアドオンから、有効化するものを選んで
[有効化] をクリックしましょう!
次に、左側にある「実験」を左クリックして、
ズラッと色々な項目が表示されている右側の画面の下の方を見ていきます!
その中で「ホリデークリエイターの特徴」という項目を左クリック!
この「実験」の中の何かしらの項目をONにする時には、
「試験的機能を使うとうまく動かないかも?」
「一度ONにしたら、そのワールドではOFFに出来ないよ!」
「それでもオンにする?」
といった内容のポップアップが表示されますが、
アドオンを使う際には必要なので、怖がらずにONにします!
ここまで出来たら、ワールドを作りましょう!
もしここまでで、
「作ったアドオンが表示されないよ!」
「アドオンがうまく動かない!」
ということがあれば、
「実践編:「マイクラスターターキット」をゲットするアドオンを作ってみよう!」から順番に見直してくださいね。
7. 「マイクラスターターキット」を呼び出してみる!
ついに最後です!
Minecraftのワールドの中でfunctionコマンドを実行してみましょう!
ワールドが読み込まれたら、キーボードの「/キー」を押して
チャット欄を開きます。
「/キー」はキーボード右下あたりにある、このようなキーです。
チャット欄を開いたら、以下のように入力してください。
/function starter_kit
そのままEnterキーでコマンドを送信すると、
以下のアイテムがゲットできます!
鉄のヘルメット
鉄のチェストプレート
鉄のレギンス
鉄のブーツ(※96ダメージが入っている状態)
パン x5個
治癒のポーションLv1 x5個
これで「マイクラスターターキット」の完成です!
ゲットできる中身を変えてみたり、別のコマンドを入れてみたり。
自分で色々アレンジしてみてくださいね!
終わりに
今回はアドオン開発をする方法を、本当にイチから解説してみました!
ただ、このnoteだけでは解説しきれなかったので、
もっと突っ込んだ詳しい解説はまた別のnoteにまとめようと思います!
「こういうファイルの解説が知りたい!」
「◯◯について知りたいのでまとめて!」
といった希望があれば、ぜひコメントに書いてくださいね!
(順番に解説していきます!)
もしこのnoteが参考になったら、ぜひお友達に紹介してください!