環境構築 2 (1.12.2)

MODを開発するための環境を整えます。基本的にWindows 10で確認しているので、MacやLinuxでは異なる部分があります。

複数のMODを開発する時は、Forgeの手順3以降を行います。

Forge

  1. ダウンロードページからほしいバージョンの「Mdk」を選択すると、「AdFoc.us」というページに移動します。推奨版という意味の「Recommended」を選択するとよいでしょう。
  2. 5秒待つと右上に「SKIP」というボタンが出るので、これをクリックしてダウンロードしてください。下の方の「ダウンロード」などのボタンは広告です。
  3. ダウンロードしたzipファイルを解凍してください。日本語の入っていない場所がよいでしょう。今回は例として"C:/Modding/AluminiumMod"を使用します。"C:/Modding/AluminiumMod/"に"src"フォルダや"build.gradle"などがあるようにしてください。
  4. エクスプローラで"C:/Modding/AluminiumMod"を開いてウィンドウ上部のアドレスバーに「cmd」と入力し、コマンドプロンプトを開いてください。
  5. コマンドプロンプトに「gradlew setupDecompWorkspace」と入力して実行すると、自動で環境が整えられます。しばらくして「BUILD SUCCESSFUL」と出たら成功です。
  6. IntelliJ IDEAを起動して「Open」から"C:/Modding/AluminiumMod"を選択し、出てきたダイアログで「OK」ボタンを押します。この時、"AluminiumMod"がGradleの緑色のマークで表示されていることを確認してください。
  7. しばらく待って画面右下に表示されている処理が終了したら、コマンドプロンプトに「gradlew genIntellijRuns」と入力して実行してください。IntelliJ IDEAでテストプレイするための環境が整えられます。これも「BUILD SUCCESSFUL」と出たら成功です。
  8. IntelliJ IDEAに戻って右上の下向き三角のボタンから「Minecraft Client」を選択し、緑色の右向き三角のボタンで実行してください。Minecraftが起動すれば、成功です。

準備

  1. 「Project View」で"AluminiumMod/src/main/java/"にある"com.example.examplemod"を削除してください。中にはサンプル用のMODが入っています。
  2. "com.example"が残るのでもう一度削除してください。
  3. "AluminiumMod/src/main/resources/"にある"mcmod.info"を削除してください。MODの情報を登録するファイルですが、この開発講座では使いません。
  4. "AluminiumMod/src/main/java/"を右クリックし、「New>Package」から"com.tntmodders.tutorial"パッケージを作成してください。
  5. "com.tntmodders.tutorial"を右クリックし、「New>Java Class」から"AluminiumMod"を作成してください。
  6. これで準備は完了です。今後は必要に応じてファイルを追加してください。

環境構築 2 (1.12.2)” への17件のフィードバック

  1. 準備4.の段階で右クリックをしてもパッケージを追加できません。理由をご存じないでしょうか...

    1. IntelliJ IDEA 2019.3.3では、右クリックメニューから「New>Package」を選択すると「New Package」というタイトルでパッケージ名を入力するダイアログが表示されるので、「com.tntmodders.tutorial」と入力してください。解決しないようでしたら、詳しい状況をご説明ください。

  2. FORGE8にて、下記のようなメッセージと共にエラーが発生してしまいます。環境はwindouws10でintellj ideaです。

    Error running 'Minecraft Cliant': Cannot run program "Minecraft" (in directory "C:\Modding\AluminiumMod"): CreateProcess error=2, 指定されたファイルが見つかりません。

    1. はっきりとした原因は分かりませんが、JDKが正しくインストールされていることを確認し、もう一度環境構築 2の内容をやり直してみてください。それでもうまくいかない場合、エラー文の前後や発生状況について詳しくご説明ください。

      (‘Minecraft Cliant’はタイプミスですか?このまま表示されていた場合、これが何かのエラーにつながっているかもしれません。)

  3. 何度かやり直しましたが、状況は変わりませんでした。そもそも右上の下向き三角のボタンが緑色にならない(クリックしても反応しない)状況にあります。そこで右上の下向き三角のボタンではなく同じく右上の枠の中に下向き三角が書かれているボタンを押し、そこで表示されたウィンドウにMinecraft Cliantと打ち込んでみたところ前述したエラーが発生してしまったようです。丁寧な返信ありがとうございます。

    1. 手順7を実行した際、「java.lang.NullPointerException」から始まるエラー文が表示され、最後に「BUILD SUCCESSFUL」と出ている状況で間違いないでしょうか。

      おそらくForge Gradleの不具合で、「gradlew genIntellijRuns」が正しく機能していないようです。空の実行構成を作成してから手順7を実行すると成功すると思います。途中までは「Minecraft Cliant」と入力した際と同じだと思いますが、詳しい手順は次の通りです。

      実行ボタン左側の枠内に「Add Configuration…」と表示されているボタンをクリックし、「Run/Debug Configurations」ダイアログから「+」ボタン→「Add New Configuration」→「Application」を選択し、エラーを無視して「OK」を押します。枠内に「×」がついたアイコンと共に「Unnamed」と表示されていることを確認してから、コマンドプロンプトを開いて手順7を実行してください。上述のエラー文「java.lang.NullPointerException」が表示されず、IntelliJ IDEAに戻ると「Unnamed」の他に「Minecraft Client」と「Minecraft Server」が追加されます。「Edit Configurations…」から「Use classpath of module:」で「」を「AluminiumMod.main」に変更すると、「×」が消え、Minecraftを実行できるようになります。

  4. 何度もすみません...「AluminiumMod.main」が表示されません。eclipseでは環境を構築できているのですが...情報が少なく申し訳ありませんがなにかわかることがあれば教えていただきたいです。

    1. IntelliJ IDEAでShiftを2回押すと表示されるダイアログで「Reimport All Gradle Projects」と入力し、実行すると表示されると思います。私の確認不足でした。申し訳ありません。

      1. 何度も返信ありがとうございます。三角ボタンを押しても実行されないのですが、どうすればよいでしょうか?

        1. 「Reimport All Gradle Projects」を実行し、「AluminiumMod.main」を指定できましたか? 詳しい状況説明をお願いします。エラーが表示されていたら記載してください。

  5. 準備段階8の「Minecraft Client」を選択するところまで終えて、右向き三角を押したところ下記のようなエラーが発生してしまいます。
    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by GradleStart (file:/C:/Users/「名前」/.gradle/caches/minecraft/net/minecraftforge/forge/1.12.2-14.23.5.2768/start/) to field java.lang.ClassLoader.sys_paths
    WARNING: Please consider reporting this to the maintainers of GradleStart
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    [00:54:17] [main/INFO]: Extra: []
    Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
    at net.minecraftforge.gradle.GradleForgeHacks.searchCoremods(GradleForgeHacks.java:85)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:86)
    at GradleStart.main(GradleStart.java:25)

    解決法を教えていただけると幸いです。

    1. JDKのバージョンが9以降のために生じているエラーのようです。JDK 8を利用してください。

  6. mdkのフォルダの中に、runファイルが出来てなくて困ってます。
    一応ビルドはできて、eclipseに読み込ませてwork space割り当てもしたんですけどね...
    対処法、教えていただけると幸いです。

    1. この記事はIntelliJ IDEAを使う内容なので、Eclipseだと操作が異なる場合があります。Mdkに同梱されているREADME.txtに詳しく記載されていますが、特に手順7では「gradlew eclipse」を代わりに実行してください。

  7. 準備手順5において、以下のようなものが表示され、ビルドが失敗しました。何がいけなかったんでしょうか。

    FAILURE: Build failed with an exception.

    What went wrong:
    Task 'setupDecompWorkspace' not found in root project 'AluminiumMod'.
    Try:
    Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    Get more help at https://help.gradle.org

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/4.9/userguide/command_line_interface.html#sec:command_line_warnings

    BUILD FAILED in 7s

    解決方法を教えていただきたいです。

    1. 返信が遅くなってしまい申し訳ありません。
      ForgeのGradleプラグインの更新により、Forgeの手順4と5が不要になっていました。
      そのまま手順6以降を行っていただければ問題なく動作すると思います。
      記事については詳しく動作を確認してから更新します。

      1. ありがとうございます。うまくいきました。

コメントはこちらです。(スパム対策の為コメントは手動承認になっています。未承認のコメントは表示されないので連投はお控え下さい。)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください