NakanishiのForge1.20.1のJavaMod開発講座

MoreCropsDelightの作者、NakanishiがMod制作について書いていきます。

JavaでMinecraftのModを作ろう☆ 農業編② 〜CropBlock(ブロック)のCLASSファイルを作ろう〜

こんばんは。Nakanishiです。

Discordサーバーを運営中です。

Kazushi_Nakanishiのこっそりサーバー

一緒にゆるくMod制作を楽しみませんか?
※)日本語での会話ができる方のみ参加可能です。
  条件に合わない方は参加をご遠慮ください。

 

 

前回のおさらい

CropBlockブロック)のテクスチャJSONファイルを完成させました。

JavaでMinecraftのModを作ろう☆ 農業編① 〜JSONファイルを用意しよう〜 - NakanishiのForge1.20.1のJavaMod開発講座

今回はCropBlock側のCLASSファイルを作っていこうと思います。

 

 

①CLASSファイルを作ろう

今回は例として【Prismarine Carrots】のCLASSファイルを作っていこうと思います。

作物は基本【CropBlock】で作りますが、今回は出来るだけ簡略出来る形を取ろうと思うので、【CarrotBlock】を使っていこうと思います。

 

例)

public class Block_Prismarine_Carrots extends CarrotBlock

まだ引数を入れてないので赤線が引かれています。ここで赤線を消すために、赤線のところで右クリックをして【Show Context Actions】を選択します。

そうしたら【Creat constructor matching super】を選択してください。

 

仮のパラメータと引数が表示された状態

こうすることで仮のパラメータと引数が表示されます。

ここで一旦()内は消してもらって、新しい引数を書いてあげます。

例)

Properties.copy(Blocks.CARROTS)

 

💡ポイント

Blocksnet.minecraft.world.level.blockのものを選択してください

 

これで公式のニンジンブロックと同じ挙動のブロックのCLASSファイルが完成しました。

 

ただ、これではJadeWTHITでブロックを見たときに、公式のニンジンのアイコンが表示されてしまうので、そこを上書きしてあげます。

 

まず、上書きするために@Overrideを書いてあげます。

位置はこの位置に書いてください。

 

そうしたら【CTRLキー】を押しながら、CarrotBlockにカーソルを合わせます。

そうするとCarrotBlockが光るはずなので、そのままクリックをしてあげてください。

 

CarrotBlockのCLASSファイル

そうするとCarrotBlockのCLASSファイルに入れます。

ここで


protected ItemLike getBaseSeedId() {
      return Items.CARROT;
   }


コピーしてきてください。

ここがブロックのアイコンを表示させるコードになっているので、これを上書きしてあげます。

例)

@Override
    protected ItemLike getBaseSeedId() {
        return NakanishiModItems.PRISMARINE_CARROT.get();
    }

 

完成したPrismarine CarrotsのCLASSファイル

これでJadeWTHITでブロックを見たときに【Prismarine Carrot】が表示されるようになります。

 

 

レジストリ登録をしよう

ここまで出来たら、次はブロック登録CLASSレジストリ登録をしていきます。

JavaでMinecraftのModを作ろう☆ ブロック編④ 〜registryクラスを作ってブロックを登録しよう〜 - NakanishiのForge1.20.1のJavaMod開発講座

まだブロック登録CLASSを作ってない方は、上記の記事を参照ください。

 

作物のブロックはアイテム状態がないので、登録はブロック側だけで大丈夫です。

 

例)

public static final RegistryObject<Block> PRISMARINE_CARROTS = BLOCKS.register("prismarine_carrots", Block_Prismarine_Carrots::new);

 

これでCropBlock側の【Prismarine Carrots】がゲーム内に反映されました。

ただ、まだ【Prismarine Carrot】が植えれるアイテムになっていないので、次回は【Prismarine Carrot】を植えれるアイテムに変更していこうと思います。

 

 

ここまでお疲れ様でした☆

 

もしこの記事が参考になった、または「JavaでMod制作を始めてみたい!」と思っていただけたら、ぜひ読者登録をお願いします。
それではまた次回お会いしましょう。
ここまでお読みいただき、ありがとうございました。

 

次回記事

JavaでMinecraftのModを作ろう☆ 農業編③ 〜SeedItem(アイテム)のCLASSファイルを作ろう〜 - NakanishiのForge1.20.1のJavaMod開発講座