はじめに
よし、JAVA勉強しよ~と思い立ってから、熱意が冷めて年単位で学習を放置。たしか継承とかオーバーライドあたりで躓いていた記憶が。最近になって、また勉強再開するか~と思い立ち、むかーし買ったJAVA入門書を見てみるも、mainで四則演算からのFizzBuzzをもう一回はまた途中で飽きそうだし、実際になにかを作成してみるのがいいとは聞くものの、ちゃんとプロジェクト用意してなにかしらのアプリ作成とかド素人すぎてイチから作成はキツい。ってか、きっと挫折する難しそうだし。
それならば!サンプルから作成できて、実際動くか確認出来て、ちょっとしたコード追加で楽しくJAVAを触ってみよう!ということで、MinecraftのMOD制作をしていくことにします。
ちなみに、当方かなり初心者のため、備忘録のつもりでQiitaの記事を書いており、手順が前後したり、後で失敗したなと思うこともあったりです。自分のエラーで詰りまくったところも順に書いているので、これを読みながら進めると、同じようにエラーの嵐になるかもです。
MODいろいろ
自分がminecraftで遊んでいるときは、今までForgeばっかりだったけれど、今はForge、NeoForge、fabricなどがあるようです。(竹MODから始まり、抜刀剣とか墓MODとかお世話になりました)WEBで色々検索していると、小規模のアイテム作成くらいなら、Forgeよりfabricの方が簡単(ホンマかい)、というのを見かけたので今回はforgeで作成していくことに。
準備するもの
・IDE(IntelliJ IDEAを使用)
・Java SE 21(サンプルがMinecraft 1.21だったので、それに合わせたバージョン)
・GitHubのアカウント
※ GitHubのアカウント作成方法や、IDE、JAVAのDLやインストール方法は割愛します
開発
1.サンプルMODをダウンロード
まずは下記のURLから自分でつけたいMOD名などを設定し、サンプルをダウンロードします。
https://fabricmc.net/develop/template/
上から順にMOD名、パッケージ名、マイクラのバージョン、オプションになっています。
オプションは、
①Kotlin プログラミング言語
→ チェックなし。今回JAVAでのPG練習なのでチェックはしません
②Mojang マッピング
→ チェックなし。(ライセンスの制限が変わるみたい?)
③データ生成
→ チェック有。JSONデータを自動生成するツールみたい。
④クライアントと共通ソースの分割
→ チェックなし。クライアント側のMODとか作るときはつけておくが、今回は練習なので分けずに作成していきます。
※後日、結局クライアントクラスを作成したので、チェックを入れておく方がいいかも

2.IntelliJ IDEA
ダウンロードしたZIPを解凍し、IDEからプロジェクトを開くと、なんか勝手にビルドを開始してくれます。「BUILD SUCCESSFUL」が出るまでしばらく待機。
この辺でエラー出まくり&解消できず4時間くらい四苦八苦した後、一回寝て次の日にあっさり解消しました。原因はIntelliJ IDEAのバージョンが古かったため(?)のようでした。IDEが古いとJAVA21に対応していなかったようで。JAVAの勉強放置年数は思ったより長かったようです……ひぇ
エラーの場合、作成したいMODのマイクラバージョンとJAVAがあってるか、IDEのプロジェクトでSDKのバージョンが使いたいJAVAのバージョンになってるか、など確認します。
3. マイクラ起動確認

IDEの上部にある実行/デバックがMinecraft Clientになってることを確認して実行します。マイクラが起動したら、「MOD導入済」になってるかを確認

5. Mod Menuを出す
MODの一覧を見れるようにMod Menuをダウンロードしておき、プロジェクト内のmodsに入れて起動します。
MOD ↓
https://modrinth.com/mod/modmenu
プロジェクト内の run > mods の中に保存

これでもう一回マイクラを起動すると
「Mods」というボタンが表示されて、入っているMODが確認できます。
今回の作業後画面
とりあえず、本日はここまで。
見せられるコードではないかもだけど、公開しておくと詳しい人から指摘がもらえるかも知れないので、そっと公開しておきます……
https://github.com/ROROROMP/ponmaru-mod
chatgptとすごく仲良くなれた(かもしれない)2日間でした。
参考URL
