【Minecraft】minBのmod制作備忘録

mod製作初心者の備忘録です。

【Minecraft 1.12.2】アイテムの追加【Mod制作】

どうも、はじめまして。

minBと申します。

 

今回はアイテムの追加方法について書いていこうと思います。

また、この記事は以下のサイトを参考にさせていただいております

Minecraft Modding Wiki -1.11のアイテム追加 

 

※注意: 私自身、Mod制作&Java初心者です。記事に誤った情報がある場合がありますがご了承下さい。

 

 

環境

Minecraft: 1.12.2

IntelliJ IDEA: 2018.2.5

Minecraft Forge: 1.12.2-14.23.5.2768

 

 

開発環境の構築については割愛させていただきます。

 

開発環境の構築が終わった時点から。

ExsampleModのファイルが残っている場合は削除してしまってかまいません。

まずは、ModのJavaファイルを入れるフォルダを作っていきます。

今回は「SampleMod1」というMod名にしました。

 

 

f:id:minB:20181107214413p:plain

javaフォルダを右クリック→New→Directoryと進み、

com/sample/samplemod1

と入力します。

そして、samplemod1フォルダで右クリック→new→Java Classで

SampleMod1.java

を作りましょう。

 

 

それでは、中身を書いていきます。

まずは、マイクラにこのjavaファイルをModとして読み込ませます。

下の画像の通りに書いてください。

 

f:id:minB:20181107214423p:plain

クラス内でModのID、名前、バージョンを格納した定数を作成しています。

 

@Mod(~~~~)で、このjavaファイルがModだよ、ということを認識させています。

(~~~~)には、いろいろな設定を書くことができます。

IDのみ必須らしいです。

 

@Mod.EventBusSubscriberは呼び出しを行っているようです。

私もあまり理解できてないです・・・

また後日、追記するかもしれません。

 

 

ここで一度、Modがきちんと認識されているかチェックしてみましょう。

右上の緑色の三角マークを押して、Minecraftを実行して下さい。

 

起動出来たら、Modsを押して下の画像のようにSampleMod1が表示されているかどうか確認してください。

f:id:minB:20181107214440p:plain

 

もし、表示されていない場合、コードに誤字・脱字がないか確認してみてください。

 

 

さて、ここからアイテムの追加を行っていきます。

今回は、無機能アイテムを追加してみたいと思います。

下の画像の通りに追記してください。

 

f:id:minB:20181107214432p:plain

ITEMSという名前のクラスとメソッドを2つ追記しました。

ITEMSはアイテム保持用のクラスです。本来は別のjavaファイルに分けて作ったほうがいいんでしょうけれど、今回は無機能アイテムなので内部クラスとして記述します。

registerItems()はアイテムの登録を行うメソッド、

registerModels()はモデルの登録を行うメソッドです。

 

 

それでは、各メソッドに追記していきます。

下の画像の通りに追記してください。

 

f:id:minB:20181107214438p:plain

 少しだけ説明すると、

.setRegistryName()では、登録名の設定

.setCreativeTab()では、クリエイティブモードの際、このアイテムがどのタブの中に存在するかの設定

.setUnlocalizedName()では、日本語名の登録(後述します)等を行う際に使われる名前の登録

を行います。

 

モデルの登録に関しては、私もあまり理解できていません・・・

申し訳ない・・・

 

次は、テクスチャの設定を行います。

今回は、もともとあるリンゴのテクスチャを流用しています。

 

テクスチャは.json形式で指定します。

まずは、jsonファイルを保存するファイルを作成しましょう。

f:id:minB:20181107220853p:plain

resources→new→Directoryと進み、

assets/samplemod1/models/item

と入力してください。

 

このファイル名は固定で、

assets/<modid>/models/item

となっています。

 

そして、itemフォルダで右クリック→New→Fileと進み、

sample_item.json

を作成します。

 

作成出来たら、以下のように記述してください。

f:id:minB:20181107221941p:plain

 

 

終わったら右上の緑色の三角マークで再びMinecraftを起動してみましょう。

起動できたら、クリエイティブモードでワールドを作り、

Miscellaneousのタブ(左下の溶岩バケツのアイコン)の一番下を確認してみてください

 

・・・リンゴのアイコンをした、item.sample.nameというアイテムがありましたでしょうか?

ありましたら、無事、アイテムの登録に成功したということになります。

f:id:minB:20181107215557p:plain

 

しかし、名前がなんだかしっくりきませんね。

というわけで、名前の変更をしていきます。

 

まずは、先ほど作ったassetsフォルダの中にあるフォルダ、samplemod1フォルダの中にlangという名前で新規フォルダを作成します。

さらに、langフォルダの中に

en_us.lang

ja_jp.lang

この2つのファイルを作ってください。

もし表示形式を選択してくださいと表示が出たら.txtで大丈夫です。

 

このような階層になっているかと思います。

f:id:minB:20181107223604j:plain

 

ファイルが作成できたら、

en_us.langには

item.sample.name=sample_item

 

ja_jp.langには

item.sample.name=サンプルアイテム

と記述してください。

ちなみに、この sampleは、registerItems()メソッドのsetUnlocalizedName()で記述した名前になります。

 

これで、英語、日本語でのアイテム名の登録ができました。

 

もう一度Minecraftを起動し、アイテム名を確認してみましょう。

f:id:minB:20181107214441p:plain

上の画像のように、アイテム名がsample_itemになっているでしょうか。

言語設定を変更して、日本語でも確認してみましょう。

f:id:minB:20181107214446p:plain

アイテム名がサンプルアイテムになっていれば、成功です。

 

 

無機能アイテムの追加の説明は以上です。

いかがだったでしょうか?

私自信、Mod開発初心者、Java初心者と分からないことだらけです。

しかし、少しずつ、ゆっくりでいいからMod開発をしたいという思いでこのブログを始めました。

至らぬ点があると思いますが、温かい目で見守ってもらえるとありがたいです。