2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Eclipse+Forgeでマイクラのmod開発~デバッグ環境構築まで

Last updated at Posted at 2021-04-30

image.png

デバッグができるところまでできたのでいったんまとめ。今後も何かあれば追記予定。あ、ちなみに決まり文句ですが、modの導入その他ここに書かれていることは自己責任でお願いしますね。

環境

  • OS: Windows10
  • Jdk: openjdk version "15.0.2" 2021-01-19

    ※16.xでもいいかもだけどgradleやらなにやら色々変わってしまって心配だったので今回は15で。
  • IDE: Eclipse IDE for Java Developers (Version 4.19.0)
  • Buildship(Eclipseのgradleプラグイン): 3.0
  • Minecraft: Java版 1.16.5
  • Forge: 1.16.5

※Java,Eclipseやプラグイン関連のセットアップはこの記事の対象外なので別途調べてくださいませ

ダウンロードからEclipseへのインポートまで

Minecraftのダウンロード

公式サイトからJava版を購入してくださいませ。
https://www.minecraft.net/ja-jp/
必ずJava版を購入してください。それ以外ではmodは使えないので。。間違えて買うと後悔します。

forgeのインストール

こちらも公式サイトから。

https://files.minecraftforge.net/net/minecraftforge/forge/

バージョンを選んで「Installer」を選んでダウンロード。今回は1.16.5。「Latest」を選ぶこともできるけど、Mdkは「Latest」を選んだことで色々エラーを吐きまくって困ったので「Recommended」を選ぶのが無難。変なサイトが開くけどこれは広告で、しばらく待つと矢印のところに「Skip」というボタンが現れるのでそこからダウンロードできます。

image.png

マイクラを起動して「起動構成」を開く。

「forge」を選んで「プレイ」。

「Mods」トップ画面に表示されていればOK。

Mdk(Mode Development Kit)のダウンロード

先ほどと同じforgeの公式サイトから、同じバージョンのMdkをダウンロードする。

ダウンロードされたzipファイルを解凍すると、build.gradleやLICENSE.txtといったファイルが出入っているのがわかるはず。

MdkのEclipseへのインポート

回答されたMdkのフォルダをどこか適当なところにコピりる。コピった場所がmodの開発フォルダになるので、まぁ、Eclipseのワークスペースとして使っているフォルダ配下が無難だろうね。

好きなフォルダ名に変える。これがのちにEclipse上のプロジェクト名になります コピったフォルダにコマンドプロンプトで移動して、以下のコマンドでEclipse用の環境ファイルを吐き出させる。これが結構時間がかかった。。。(私の環境で初回だと10分ぐらい。。)
C:\eclipse-workspace\munecraftmod>gradlew genEclipseRuns

BUILD SUCCESSFUL in xxxxxが表示されればインポート準備完了。Eclipseにインポートします。メニューのImportから「Existing Gradle Project」でインポート。Buildshipが入っていないとこのメニューは出ないっす。(私の環境は日本語化していないのでこの記事もメニューの説明は英語。。)

forge1.16.5はgradleが6.8.1より新しくないとビルドできません。ただ、gradle 7.0はJDK自体も16にしないとダメだったりするので、6.8.1とJDk15が無難かなぁ、と思ってその組み合わせにしました。

念のためRefresh Gradle Projectをしてインポートは完了。お疲れ様です。

環境整備

ここから、modのビルドやデバッグができるように環境を整備していきます。まずはサンプルのmodをそのままビルドしてマイクラに登録できるか確認してみよう。
まずはインポートしたプロジェクトのGradle Tasksからbuildを実行。

こちらもBUILD SUCCESSFUL in xxxxxが出れば成功。build\libs\modid-1.0.jarが生成されました。buildフォルダはデフォルトのフィルタで表示されなくなっているのでフィルタの設定を変えるかExplorer等で確認してね。
一度マイクラを起動します。gradleのrunClientタスクをたたくことで起動できます。

トップ画面で「Mods」を選んで表示された画面の左下の「Open mods folder」ボタンを押すとExplorerが起動。ここがbuildしたmodファイルを置く場所。

開いたExplorerの場所にbuildの下にできてたbuild\libs\modid-1.0.jarをコピー。マイクラを一度終了してもっかいrunClientをするとmodを読み込んでマイクラが起動。EclipseのConsoleにログが出ますが、その中にサンプルのmodが出力したログを見つけられればおめでとうございます。無事にビルドしたサンプルのmodが読み込まれました。
下の例だと20:46:08にHELLO FROM PREINITのログが出力されてます。これって今回ビルドしたmodが出力してるものなので無事にロードされた模様。おめでとう!

ここまで確認したらコピーしたmodid-1.0.jarは削除しておいてください。そのままでも特に問題は出ないはずだけど、後々何等か競合とか悪さをする可能性があるのと、後の手順を踏むことで毎回自分でコピーする必要はなくなるので。

(省略)
[20:46:08] [Thread-0/DEBUG] [ne.mi.co.ForgeConfig/FORGEMOD]: Forge config just got changed on the file system!
[20:46:08] [Thread-0/DEBUG] [ne.mi.fm.co.ConfigFileTypeHandler/CONFIG]: Config file forge-common.toml changed, sending notifies
[20:46:08] [Thread-0/DEBUG] [ne.mi.co.ForgeConfig/FORGEMOD]: Forge config just got changed on the file system!
[20:46:08] [Worker-Main-5/INFO] [co.ex.ex.ExampleMod/]: HELLO FROM PREINIT</font>
[20:46:08] [Worker-Main-5/INFO] [co.ex.ex.ExampleMod/]: DIRT BLOCK >> minecraft:dirt
[20:46:08] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[20:46:11] [Forge Version Check/DEBUG] [ne.mi.fm.VersionChecker/]: [forge] Received version check data:
(省略)

デバッグ環境を整える

デバッグ環境を整えるために、gradleのタスク経由ではなくEclipseのRunからマイクラを起動できるようにする。FileメニューのImportを選び「Run/Debug」>「Launch Configurations」を選ぶ。

「Browse...」で作ったプロジェクトのルートフォルダを選択。出てきたリストにすべてチェックを入れてFinish。

Runメニューにある「Run Configurations...」を選ぶ。

Java Applicationのところに「runClient」ができているのでそれを選択してRun。無事にマイクラが起動すればOK。コンソールはまたログが出ているはず。ここまでやると自分でmodのjarファイルをコピーしなくてもEclipseのrunが自動的に開発中のmodのバイナリをMinecraftに読み込ませてくれるようになります。ちなみにEclipseから起動したMinecraftが読み込むバイナリは`[project_home]/bin`配下です。今後何かトラブったらここに期待通りのファイルができているかなど確認するとよいでしょう。

では、いざデバッグを。サンプルのmodにBreak Pointをつけて、上で作ったRun Configurationをデバッグモードで起動。ワクワク。。

っしゃあああぁぁああぁぁぁぁ。ちゃんとBreak Pointで止まったね。これでデバッグの準備も完了!!!(ここまでたどり着くのに相当苦労した。。。)

リンク集

必要ソフトウェア

modの導入、開発にほぼ必須となるForgeの公式サイト

リファレンス

Mod開発のイロハをよくまとめてくださっているサイト。かなり参考にさせてもらってます。

こちらも少し古いですがmod開発関連の記事を掲載されていて参考にしています。

Forgeの導入方法やデバッグ方法が書いてあるのでいずれ参照。情報がだいぶ古そうなので、
今の環境での内容を整理していずれ記事にしたい。。

英語だけど環境構築の方法が書かれているブログ。最初からこれが見つけられれば早かったかも。。
英語で読める人はこちらもどうぞ。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?