この記事はMinecraft Command Advent Calendar 2025 6日目の記事1です!
はじめに
データパックや何か作品を作るうえでリソースパックというのは非常に強力な味方となります。
本記事ではリソースパックの基本となるリソパの構造、テクスチャの追加/変更、ついでにそのあたりの豆知識などについてもご紹介します。
Minecraft Java edition ver 1.21.10を使用します。
それ以前のバージョンでは動作しない場合があります。
空リソパを用意しよう
空っぽのリソースパックを用意しましょう。今回は私が用意しています。Githubに、空っぽのリソパと完成品2を用意してあるので、わかりにくければ完成品も見ながら頑張ってみてください。
基本構造を理解しよう
ダウンロードした空のリソースパックに下の画像のようにフォルダを作ってください。
黄色のカードは自由に名前を付けることができますが、赤色のカードは固定の名前なので誤字ってしまうとリソースパックが正しく機能しないのでご注意を。
また、右下の黄色のカードの「namespace」は小文字のアルファベット、ハイフン( - )、アンダーバー( _ )、ピリオド( . )しか使えないことにも注意してください。
resourcepack nameのほうはどんな名前でも問題ないです。
今回私はこのように命名して進めます。
既存のアイテムの見た目を変えてみよう
assets/minecraft/にtexturesというフォルダを作成し、さらにその中にitemというフォルダを作成します。
今回はダイヤの斧をこちらのマイクラらしからぬドット絵で置き換えていきます。
自作です。フリーなのでご自由にお使いください。
(この画像は256px×256pxになっています。16px×16pxに直すか、完成品のリソースパックから抜き取ってください。)
先ほどのitemフォルダにテクスチャを「diamond_axe.png」という名前でぶち込んだら完了です。

ちゃんと空気の読めていない斧ができたら成功です。
次は自分でアイテムを作っていきましょう。
カスタムアイテムを作ってみよう
さて、多分お待ちかねのカスタムアイテムです。ここではテクスチャの描き方のコツも多少伝えられればと思い、解説しています。
全体の構成はこんな感じです。フォルダだけ作成しておいてください。

それぞれの役割を説明していきます。
ここは名前の通りテクスチャを入れます。さっきdiamond_axeを置き換えましたね。
特に解説することはありませんが、よくここの名前を間違えて機能しなくなってキレそうになるのでちゃんと確認しましょう。
アイテムのモデルを設定するファイルを入れる場所です。
基本的にはマイクラがもともと用意してくれているモデルを継承してテクスチャを指定します。
望遠鏡やトライデントなどの3Dモデルがあるアイテムはここで3Dモデルとテクスチャが定義されています。
itemsとは、アイテムが状況に応じてどのようにモデルを参照するかを設定するファイルを入れる場所です。
普通のアイテムはそのままモデルを参照させるだけですが、弓やクロスボウなどの引き絞る時間に応じたモデルの参照の変化、トライデントや望遠鏡のようなインベントリでは2Dで手に持つと3Dになるようなやつ、ポーションや革防具、アーマートリムなんかもここで実装されています。
解説すると多分8年ほどかかってしまうのでしませんが、他にもたくさんの機能があります。ぜひ調べてみてください。
さっきはdiamond_axe.pngを置き換えるだけだったのに今回はかなり複雑ですね。
それもそのはず、さっきはマイクラがもともとitems、models、texturesでダイヤの斧の見た目の定義を完成させていたところをtexturesだけ置き換える形で見た目を変えたからなんですね。
エメラルドの斧を作ろう
ここから先は拡張子の表示がオンになっていることを確認してください
まずはitemsのjsonファイルを書いていきましょう。
tutorial/items/に「emerald_axe.json」を作成してください。
中身は下の通りです。
{
"model": {
"type": "minecraft:model",
"model": "tutorial:item/emerald_axe"
}
}
これが基本の書き方になります。
次にmodelsを書いていきましょう。
tutorial/models/item/に「emerald_axe.json」を作成してください。
中身は以下の通りです。
{
"parent": "item/handheld",
"textures": {
"layer0": "tutorial:item/emerald_axe"
}
}
parentで継承するモデルを指定します。
2Dのテクスチャを扱う時はitem/handheldかitem/generatedを使用してください。
今回はツールの持ち方をしてほしいので、handheldを指定します。

テクスチャを描こう
ダイヤの斧を参考に、エメラルドから色を持ってきて塗るだけでかなりそれっぽくなるので今回は比較的簡単だと思います。似た系統のアイテムがあればテクスチャ作りはかなり楽になると思いますが、マイクラに存在しない形のアイテムなどを作ろうとすると難易度が上がります。
マイクラっぽさを出すためのコツをいくつか列挙します
- ふちを強めに暗くすること
- 陰影を細かく描きすぎないこと
- 色数を増やしすぎないこと
- 実際にゲーム内でなじんでいるかチェックしてみること
エディタ上では変な気がしても、ゲーム内で見てみると意外と馴染んだりします。
色選びのコツも一つあります。
明るくしたいところは彩度を低く、暗くしたいところは彩度を高くしてください。
例えば明るいところの付近を少し暗くしたいとき、明度を下げるのではなく代わりに彩度を上げることで、より自然な仕上がりになると思います。
あとはもう多分センスなので、自分の好きなように、好きなだけ描いてください。
描けば描くほど上達します。多分。

emerald_axe.png
私はこんな感じに描きました。ダイヤの斧をベースに、エメラルドから色を移植して少し手を加えました。
テクスチャをtexturesに入れる
最後に、作ったテクスチャをtutorial/textures/item/に入れれば完了です。
最終的には以下のような構造になっていれば正解です。
下に何が何を指定しているのかを記載しました。
最後の構造解説なのであともう少し頑張ってください。

基本的にmodelsとtexturesのパスが同じなので分かりにくいかもしれませんが、itemsのjsonファイルのmodelで指定するファイルパスはtutorial/models/から先を書いて指定し、modelsのjsonファイルのlayer0で指定する画像ファイルパスはtutorial/textures/から先を書くことで指定できます。
例えばこんな構造にしたとしましょう。

この場合itemsのほうのjsonファイルは何も変えず、modelsのjsonファイルを下のように変更します。
{
"parent": "item/handheld",
"textures": {
- "layer0": "tutorial:item/emerald_axe" //消す
+ "layer0": "tutorial:item/emerald_tools/emerald_axe" //新パス
}
}
こうすることで、
items/emerald_axe.json
->models/item/emerald_axe.json
->textures/item/emerald_tools/emerald_axe.png
という流れが作られるわけです。そして、ゲーム内ではitems/emerald_axe.jsonを参照することで、テクスチャを読み込むことができるわけですね。
ゲーム内で呼び出そう
これで、カスタムアイテムをゲーム内で呼び出す準備が完了しました。
ゲームを起動し、作成したリソースパックをリソースパックフォルダに入れます。
ゲーム内で設定からリソースパックの画面へ行き、「パックフォルダーを開く」ボタンを押します。
今回はtutorial_packという名前でリソースパックを作成したので、tutorial_packを開かれたフォルダにそのまま入れます。

これでリソースパックの導入は完了しました。
次はチャット欄で下のコマンドを実行してみてください
/give @s minecraft:diamond_axe[minecraft:item_model="tutorial:emerald_axe",minecraft:item_name="エメラルドの斧"]
「エメラルドの斧」と書かれた、エメラルドの斧が手に入りました。
やったね!これで君もカスタムアイテムマスター!
おわりに
以上、カスタムアイテムの解説でした。
Qiitaの記事初めて書いたので拙い点があったかもしれないけれど、暖かい目で見てください!
この記事が少しでもみなさまのお役に立てば幸いです!
みんなもRPGを作ろうね...データパックを作ろうね...みんなで盛り上げようね...!!!!!









