こんばんは。Nakanishiです。
Discordサーバーを運営中です。
一緒にゆるく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;
}
💡ポイント
・quickMoveStackはShift+クリックした時のアイテム移動処理を設定します
・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開発講座