【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で作ってます。
まずは必要なファイルとフォルダを作成していきます。
com/samplemod/sampletools内にSampleTools.java、
resources/assets/sampletools内にlangフォルダとmodelsフォルダ
、models内にitemフォルダを作成します。
langフォルダにはアイテム名を登録するlangファイル、
itemフォルダにはテクスチャを登録するjsonファイルを保存します。
作り終えたらSampleTools.javaにid、name、versionと@Modアノテーションを記述しておきます。
次に、必要なメソッドやらを記述していきます。
下の画像のように記述して下さい。
ITEMSクラスで登録するアイテムをインスタンス化、
registerItemsメソッドでアイテムを登録、
registerModelsメソッドでモデルを登録します。
次は、追加するツールを別クラスで書いていきます。
今回はピッケルを追加してみましょう。
SampleTools.javaと同じ階層にSamplePickaxe.javaを作成し、以下のように記述します。
ItemPickaxeを継承させています。
また、コンストラクタも必要なので記述してやります。
SampleTools.javaに戻り追記。
ITEMSクラス内で先ほどのSamplePickaxeクラスをインスタンス化します。
引数にはツールマテリアルというものを渡します。
ツールマテリアルの引数は
(ツールマテリアルの名前,回収レベル,耐久値,採掘速度,攻撃力,エンチャントの付きやすさ)
です。
ついでにRegistryNameとUnlocalizedNameも登録しておきます。
ここまで来たら後は無機能アイテムと同じ流れです。
アイテムとモデルの追加
SampleTools.java
テクスチャとアイテム名の登録
今回は金ツールのテクスチャをお借りします。
item/samplepickaxe.json
lang/en_us.lang
lang/ja_jp.lang
ここまでできたら、起動してみましょう。
Toolタブのところに追加されていれば成功です。
余談ですが、ItemPickaxeを継承したクラスでインスタンス化したアイテムはクリエイティブタブの設定をしなくても自動的にToolタブに振り分けられます。
ちゃんと石も掘れます。
いかがだったでしょうか?
他のツールも同じように追加することができます。
なお、他のツール用のクラスを作る際、継承するクラスは
斧:ItemAxe
シャベル:ItemSpade
クワ:ItemHoe
となっています。
もし、分からないことがあれば気軽にコメントしていってください。
それではまた。