NakanishiのForge1.20.1のJavaMod開発講座

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

JavaでMinecraftのModを作ろう☆ GUIブロック編④ 〜仮のMenuクラスを作ろう〜

こんばんは。Nakanishiです。

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

Kazushi_Nakanishiのこっそりサーバー

一緒にゆるくMod制作を楽しみませんか?
初心者も大歓迎です。

※)日本語での会話ができる方のみ参加可能です。
  条件に合わない方は参加をご遠慮ください。

 

 

前回のおさらい

仮のBlockEntityのクラスを登録しました。

JavaでMinecraftのModを作ろう☆ GUIブロック編③ 〜仮のBlockEneityを登録しよう〜 - NakanishiのForge1.20.1のJavaMod開発講座

今回はMenuクラスを仮で作ろうと思います。

 

 

①仮のMenuクラスをクラスを作ろう

名前は【PaleOakBarrelMenu】にしました。

スロットやインベントリを持つGUIブロックのクラスは【AbstractContainerMenu】になります。

 

ここで赤線が引かれるのは、最低限のメソッドと引数を用意していないからです。
今までのやり方(Show Context Actions)で赤線を消してあげましょう。

 

仮のパラメータと引数、メソッドを表示した画面

まず、メソッドの仮の引数を直してあげます。

例)

@Override
    public ItemStack quickMoveStack(Player player, int index) {
        return null;
    }

 

@Override
    public boolean stillValid(Player player) {
        return false;
    }

 

💡ポイント

quickMoveStackShift+クリックした時のアイテム移動処理を設定します

stillValidプレイヤーがこのブロックを操作出来るかを設定します

 

とりあえず今は仮なので、returnはそのままにしておきます。

 

次に仮のパラメータと引数を直してあげようと思います。

例)

protected PaleOakBarrelMenu(int id, Inventory playerInventory, Container container) {
        super(id);
    }

 

 

赤線が引かれているのは必要な引数が足りない為で合って、次回修正します。

 

💡ポイント

Inventory playerInventoryはプレイヤーが持っているアイテム欄です

Container containerはブロック(樽やかまどなど)が持っているアイテム欄です

 

これで仮のMenuクラスは完成です。

次回はこのMenuクラスを登録して、赤線を消すまで行おうと思います。

 

 

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

 

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

 

次回記事

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