【Minecraft】minBのmod制作備忘録

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

【Minecraft 1.12.2】ツールの追加【Mod制作】


どうも、minBです。

最近、忙しくてなかなか時間が取れません。。。

さて、今回はツールの追加をやっていきたいと思います。

 

とはいっても、基本的にアイテムの追加と変わりませんのでサクサク行きましょう。

 

 

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

 

環境

Minecraft: 1.12.2

IntelliJ IDEA: 2018.2.5

Minecraft Forge: 1.12.2-14.23.5.2768

 

今回、Mod名はSampleToolsで作ってます。

 

まずは必要なファイルとフォルダを作成していきます。

 f:id:minB:20190203165059p:plain

com/samplemod/sampletools内にSampleTools.java

resources/assets/sampletools内にlangフォルダとmodelsフォルダ

、models内にitemフォルダを作成します。

 

langフォルダにはアイテム名を登録するlangファイル、

itemフォルダにはテクスチャを登録するjsonファイルを保存します。

 

作り終えたらSampleTools.javaにid、name、versionと@Modアノテーションを記述しておきます。

 

次に、必要なメソッドやらを記述していきます。

下の画像のように記述して下さい。

f:id:minB:20190203171252p:plain

 

ITEMSクラスで登録するアイテムをインスタンス化、

registerItemsメソッドでアイテムを登録、

registerModelsメソッドでモデルを登録します。

 

次は、追加するツールを別クラスで書いていきます。

今回はピッケルを追加してみましょう。

 

SampleTools.javaと同じ階層にSamplePickaxe.javaを作成し、以下のように記述します。

f:id:minB:20190203171822p:plain

ItemPickaxeを継承させています。

また、コンストラクタも必要なので記述してやります。

 

SampleTools.javaに戻り追記。f:id:minB:20190203172645p:plain

ITEMSクラス内で先ほどのSamplePickaxeクラスをインスタンス化します。

引数にはツールマテリアルというものを渡します。

ツールマテリアルの引数は

(ツールマテリアルの名前,回収レベル,耐久値,採掘速度,攻撃力,エンチャントの付きやすさ)

です。

ついでにRegistryNameとUnlocalizedNameも登録しておきます。

 

ここまで来たら後は無機能アイテムと同じ流れです。

 

アイテムとモデルの追加

SampleTools.java

f:id:minB:20190203174014p:plain

 

テクスチャとアイテム名の登録

今回は金ツールのテクスチャをお借りします。

item/samplepickaxe.json

f:id:minB:20190203174148p:plain

 

lang/en_us.lang

f:id:minB:20190203174839p:plain

 

lang/ja_jp.lang

f:id:minB:20190203174914p:plain

 

ここまでできたら、起動してみましょう。

f:id:minB:20190203175634p:plain

Toolタブのところに追加されていれば成功です。

余談ですが、ItemPickaxeを継承したクラスでインスタンス化したアイテムはクリエイティブタブの設定をしなくても自動的にToolタブに振り分けられます。

 

f:id:minB:20190203175840p:plain

ちゃんと石も掘れます。

 

 

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

他のツールも同じように追加することができます。

なお、他のツール用のクラスを作る際、継承するクラスは

斧:ItemAxe

シャベル:ItemSpade

クワ:ItemHoe

となっています。

もし、分からないことがあれば気軽にコメントしていってください。

それではまた。