環境構築 (1.16.5)

概要

MODを開発するための環境を整えます。Windows 10で確認しているので、MacやLinuxでは異なる部分があります。複数のMODを開発する時は、Forgeの手順3から繰り返してください。

動画

1.16.4の情報ですが、YouTubeニコニコ動画で公開しています。手順はほぼ同じです。

動作確認

2021年3月21日

  • Windows 10 Home 20H2 (64 bit)
  • IntelliJ IDEA 2020.3.3
  • AdoptOpenJDK (HotSpot) 1.8.0_282
  • Minecraft 1.16.5
  • Forge 36.1.0

手順

前提

Minecraft: Java Editionを公式サイトで購入してください。

MODを開発し配布する際は、MinecraftのEULAに従う必要があります。Minecraftのコードの公開禁止や商用利用に関する制限などが含まれているので、必ず自分で確認してください。

MODの開発は自己責任で行ってください。この講座により生じたいかなる損害についても、TNT Moddersは一切責任を負いません。

IntelliJ IDEA

  1. ダウンロードページから「コミュニティ」をダウンロードしてください。
  2. ダウンロードしたインストーラを実行し、デフォルト設定のまま画面に従ってインストールしてください。
  3. IntelliJ IDEAを起動し、タイトル画面で「New Project」を選択してください。
  4. 「Project SDK」から「Download JDK」を選択してください。
  5. 「Version」に「1.8」、「Vendor」に「Eclipse Temurin (AdoptOpenJDK HotSpot)」を指定し、「Download」を押してください。
  6. 「Project SDK」に「1.8」が選択されていることを確認し、「Cancel」を押してください。

Forge

  1. ダウンロードページから1.16.5を選択し、「Download Recommended」の「Mdk」を押してください。
  2. 「AdFoc.us」という広告ページに移動し、5秒待つと右上に「SKIP」というボタンが出るので、これをクリックしてダウンロードしてください。下の方の「ダウンロード」などのボタンは広告です。
  3. ダウンロードしたzipファイルを解凍してください。日本語の入っていない場所がよいでしょう。今回は例としてC:/Mods/TitaniumModを使用します。今後、build.gradleのパスがC:/Mods/TitaniumMod/build.gradleであるとします。
  4. IntelliJ IDEAを起動して「Open」からC:/Mods/TitaniumModを選択します。自動で読み込みが始まるので、右下の進捗表示が完了するまで待ってください。
  5. ファイアウォールの警告が出た場合は、プライベートネットワークでのアクセスを許可してください。
  6. 10分以上待つと読み込みが終わります。読み込みに失敗したら「Build」のTool Windowにエラーが表示されます。
  7. 画面右側のTool Window Barにある「Gradle」を選択し、GradleのTool Windowを開いてください。1
  8. TitaniumMod > Tasks > forgegradle runsと階層を下りて「genIntellijRuns」をダブルクリックすると、実行構成が自動で作成されます。「BUILD SUCCESSFUL」の表示を確認してください。
  9. Gradle Tool Window左上の同期ボタン(Reload All Gradle Projects)を押してください。
  10. 画面右上の「TitaniumMod [genIntellijRuns]」などと表示されている実行構成選択ボタンを押して「runClient」を選択してください。
  11. 実行ボタンを押して、Minecraftが起動することを確認してください。

IntelliJ IDEAのスクリーンショット

Example Modの削除

  1. TitaniumMod/src/main/java/にあるcom.example.examplemodを削除してください。中にはコードの例が入っています。
  2. IntelliJ IDEAのProject Tool Windowで手順1を実行した場合、com.exampleが残るので削除してください。
  3. TitaniumMod/src/main/javaを右クリックし、New > Packageからcom.tntmodders.titaniummodパッケージを作成してください。実際にMODを作るときは自分が保有するドメインを使います。ない場合は自分の名前など、他のプログラムと被らないものを使ってください。2com.tntmoddersをあなたのMODのパッケージとして使わないでください。
  4. com.tntmodders.titaniummodを右クリックし、New > Java ClassからTitaniumModを作成してください。
  5. TitaniumMod/src/main/resources/META-INF/mods.tomlを開き、modId="examplemod"modId="titaniummod"に変更してください。
  6. TitaniumMod/にあるchangelog.txtCREDITS.txtLICENSE.txtREADME.txtを削除してください。Forgeの説明文書です。

画像編集ソフト

16×16ピクセルの画像をピクセル単位で編集でき、RGBA各チャンネル8 bitの色情報を透過PNGファイルとして保存できるソフトを用意してください。リソースパックの作り方などで調べると適したソフトが紹介されていると思います。

凪浜は「paint.net」の無料版を使っています。TomKateはPhotoshop Proを使っていますが、もっと軽いピクセル絵用のソフトのほうがいいと思います。

再インストールの手順

エラーが出た際などに正しく再インストールするための手順を説明します。

Forge

  1. C:/Mods/TitaniumModを削除してください。
  2. Forgeの手順3からもう一度行ってください。

IntelliJ IDEA

  1. スタートメニューなどからIntelliJ IDEAのアンインストールを選択してください。
  2. 「Please confirm if you would like to delete the caches and settings:」の枠内にある2つのチェックボックスにチェックを入れてください。
  3. %APPDATA%/JetBrains/%LOCALAPPDATA%/JetBrains/に何か残っていたら削除してください。
  4. 削除が終わったら通常のインストールと同じなので、IntelliJ IDEAの手順2からもう一度行ってください。

JDK

デフォルトでは%USERPROFILE%/.jdks/にインストールされます。この記事の方法では環境変数の設定などは行わないので、このディレクトリを削除するだけです。

リンク

IntelliJ IDEAの日本語化

公式のプラグインで日本語化できます。詳しくはこちらの解説(外部サイト)をご覧ください。ただし、この開発講座ではIntelliJ IDEAの操作や表示の説明を英語版に準拠して行います。


次:アイテムの追加

  1. Tool Window Barが表示されていない場合、画面左下隅の四角いアイコンをクリックすると表示されます。 
  2. オファレンMODはtntmodders.comを取得する前に開発を始めたので、nahama.ofalenmodをパッケージ名にしています。 

環境構築 (1.16.5)” への32件のフィードバック

    1. JDKの認識に失敗しているようです。C:\Program Files\Java\jre1.8.0_291はJREのパスであり、JDKではないことからエラーが出ています。また、そもそもこの記事の手順ではその場所にJREもJDKもインストールしません。

      IntelliJ IDEAの手順4以降の通りにJDKのインストールを行い、IntelliJ IDEAで「Ctrl + Alt + Shift + S」のショートカットにより開くProject StructureのProject SDKにJDK 1.8が指定されていることを確認して下さい。

  1. Forgeの手順8TitaniumMod > Tasks まではいけるのですが、 fg_runsが見当たりません。、

    1. Gradleの読み込みに失敗しているようです。手順9の「Reload All Gradle Projects」を先に実行してみてください。
      もし解決しなかったら、「Build」のTool Windowに表示されている内容をお知らせください。

  2. Minecraftを起動するときに途中でMinecraftが落ちてしまいます。https://www.youtube.com/watch?v=WuPPnFe7Yz4の動画を参考にさせていただきました。

    1. IntelliJ IDEAの画面下側にある「Run」のTool Windowにログが表示されるので、エラーやクラッシュレポートなどが出ていないか確認してください。
      動画や記事の手順にすべて従っていて、エラーが解決できなければ、ログの全体をお知らせください。

  3. runClientを実行した所以下のようなエラーが出力されました。

    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    Unrecognized option: -p

    Process finished with exit code 1

    解決方法をご教授いただければ幸いです。よろしくお願いいたします。

    1. JDKの認識に失敗しているかもしれません。この記事の手順通りにJDKをダウンロードし、IntelliJ IDEAでCtrl + Alt + Shift + Sのショートカットにより開くProject StructureのProject SDKにJDK 1.8が指定されていることを確認して下さい。
      解決しなければ、Run Tool WindowのrunClientprepareRunClientのタブに表示されているログの全文をお知らせください。

      1. 回答ありがとうございます。確認しましたがJDKは1.8が選択されております。

        prepareRunClientとrunClientの全文掲載いたします。

        【prepareRunClient】:

        10:04:53: タスク  ':prepareRunClient' を実行中...
        
          Configure project :
          Java: 1.8.0_301 JVM: 25.301-b09(Oracle Corporation) Arch: amd64
          WARNING: This project is configured to use the official obfuscation mappings provided by Mojang. These mapping fall under their associated license, you should be fully aware of this license. For the latest license text, refer below, or the reference copy here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md, You can hide this warning by running the hideOfficialWarningUntilChanged task
          WARNING: (c) 2020 Microsoft Corporation. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here.  Use and modification of this document or the source code (in any form) of Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.
          
          Task :compileJava UP-TO-DATE
          Task :processResources UP-TO-DATE
          Task :classes UP-TO-DATE
          Task :downloadMcpConfig
          Task :extractSrg UP-TO-DATE
          Task :createSrgToMcp UP-TO-DATE
          Task :downloadMCMeta UP-TO-DATE
          Task :downloadAssets UP-TO-DATE
          Task :extractNatives UP-TO-DATE
          Task :makeSrcDirs
          Task :prepareRuns
          Task :prepareRunClient
        
        Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
        
        You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
        
        See https://docs.gradle.org/7.2-20210702220150+0000/userguide/command_line_interface.html#sec:command_line_warnings
        
        BUILD SUCCESSFUL in 1s
        9 actionable tasks: 2 executed, 7 up-to-date
        10:04:54: タスク  ':prepareRunClient' の実行を完了しました。
        

        【runClient】:

        C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\bin\java.exe -Dforge.logging.console.level=debug -Dforge.logging.markers=REGISTRIES -DlegacyClassPath.file=C:\Mods\modTest\build\classpath\runClient_minecraftClasspath.txt -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,client-extra,fmlcore,javafmllanguage,mclanguage,forge- -DnativesDirectory=C:\Mods\modTest\build\natives -DmergeModules=jna-5.8.0.jar,jna-platform-58.0.jar,java-objc-bridge-1.0.0.jar -p C:\Users\urame.gradle\caches\modules-2\files-2.1\cpw.mods\bootstraplauncher\0.1.16\f1845ce8d483586f474620631621e0df30e1ccf\bootstraplauncher-0.1.16.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\cpw.mods\securejarhandler\0.9.46\63b520c4dad090d67dbe040bea47567534fe2722\securejarhandler-0.9.46.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-commons\9.1\8b971b182eb5cf100b9e8d4119152d83e00e0fdd\asm-commons-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-util\9.1\36464a45d871779f3383a8a9aba2b26562a86729\asm-util-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-analysis\9.1\4f61b83b81d8b659958f4bcc48907e93ecea55a0\asm-analysis-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-tree\9.1\c333f2a855069cb8eb17a40a3eb8b1b67755d0eb\asm-tree-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\9.1\a99500cf6eea30535eeac6be73899d048f8d12a8\asm-9.1.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump "-Dos.name=Windows 10" -Dos.version=10.0 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2\lib\idea_rt.jar=5185:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\charsets.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\access-bridge-64.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\cldrdata.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\dnsns.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\jaccess.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\localedata.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\nashorn.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\sunec.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\sunjce_provider.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\sunmscapi.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\sunpkcs11.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\ext\zipfs.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\jce.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\jfr.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\jsse.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\management-agent.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\resources.jar;C:\Users\urame.jdks\adopt-openjdk-1.8.0_302\jre\lib\rt.jar;C:\Mods\modTest\build\classes\java\main;C:\Mods\modTest\build\resources\main;C:\Users\urame.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.17.1-37.0.27_mapped_official_1.17.1\forge-1.17.1-37.0.27_mapped_official_1.17.1-recomp.jar;C:\Users\urame.gradle\caches\forge_gradle\minecraft_repo\versions\1.17.1\client-extra.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\3.0.1\f7be08ec23c21485b9b5a1cf1654c2ec8c58168d\jsr305-3.0.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\ca.weblite\java-objc-bridge\1.0.0\6ef160c3133a78de015830860197602ca1c855d3\java-objc-bridge-1.0.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\mergetool\1.1.3\d7d4b6eac7f49c59255c8ac25190802c29ac9a4a\mergetool-1.1.3-api.jar;C:\Users\urame.gradle\caches\forge_gradle\mcp_repo\net\minecraft\mapping\1.17.1\mapping-1.17.1-mapping.zip;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlloader\1.17.1-37.0.27\ccc0012f119d6c1686551c19144105ad35c742bd\fmlloader-1.17.1-37.0.27.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\cpw.mods\modlauncher\9.0.7\ebe8650527b513823874449e054db053b686b494\modlauncher-9.0.7.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.openjdk.nashorn\nashorn-core\15.1.1\e22ac5309286d33c0eeee8ff36c2cc709f2efec9\nashorn-core-15.1.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-commons\9.1\8b971b182eb5cf100b9e8d4119152d83e00e0fdd\asm-commons-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-util\9.1\36464a45d871779f3383a8a9aba2b26562a86729\asm-util-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-analysis\9.1\4f61b83b81d8b659958f4bcc48907e93ecea55a0\asm-analysis-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-tree\9.1\c333f2a855069cb8eb17a40a3eb8b1b67755d0eb\asm-tree-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\9.1\a99500cf6eea30535eeac6be73899d048f8d12a8\asm-9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\accesstransformers\8.0.4\272d240aa73f42195b2a68e2ebd8b701ecf41f63\accesstransformers-8.0.4.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.antlr\antlr4-runtime\4.9.1\428664f05d2b7f7b7610204b5aa7c1763f62011a\antlr4-runtime-4.9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlcore\1.17.1-37.0.27\ec2706d9dcc87af858116bfd9c4c4d0081765e9e\fmlcore-1.17.1-37.0.27.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\eventbus\5.0.3\f2317ed9d19271be8727a71ae3e5dfeb62715594\eventbus-5.0.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\forgespi\4.0.9\d96ebb6e3437def178ec646185cd198bd5ebfd4b\forgespi-4.0.9.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\coremods\5.0.1\386b00279628b105b2d507539c46e134e96f6237\coremods-5.0.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\unsafe\0.2.0\54d7a0a5e8fdb71b973025caa46f341ae5904f39\unsafe-0.2.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.electronwill.night-config\toml\3.6.3\2b05b4d606c517da4d1a7b6d2b97d751c92887d7\toml-3.6.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.electronwill.night-config\core\3.6.3\c601bfeaeb2c0abe7aaa901b0bbe6d1beff49281\core-3.6.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.maven\maven-artifact\3.8.1\114a2dd16c4c568bf0ca57719b83f2685dcc5734\maven-artifact-3.8.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.8.1\6505a72a097d9270f7a9e7bf42c4238283247755\commons-lang3-3.8.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.jodah\typetools\0.8.3\98f84f353457629e81cc6827224871b1a8faa7af\typetools-0.8.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecrell\terminalconsoleappender\1.2.0\96d02cd3b384ff015a8fef4223bcb4ccf1717c95\terminalconsoleappender-1.2.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.14.1\9141212b8507ab50a45525b545b39d224614528b\log4j-core-2.14.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.14.1\cd8858fbbde69f46bce8db1152c18a43328aae78\log4j-api-2.14.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.jline\jline-reader\3.12.1\4382ab1382c7b6f379377ed5f665dc2f6e1218bc\jline-reader-3.12.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.jline\jline-terminal\3.12.1\c777448314e050d980a6b697c140f3bfe9eb7416\jline-terminal-3.12.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.sf.jopt-simple\jopt-simple\5.0.4\4fdac2fbe92dfad86aa6e9301736f6b4342a3f5c\jopt-simple-5.0.4.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.google.guava\guava\21.0\3a3d111be1be1b745edfa7d91678a12d7ed38709\guava-21.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.8.0\c4ba5371a29ac9b2ad6129b1d39ea38750043eff\gson-2.8.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\cpw.mods\bootstraplauncher\0.1.16\f1845ce8d483586f474620631621e0df30e1ccf\bootstraplauncher-0.1.16.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\javafmllanguage\1.17.1-37.0.27\4d1c3113783c2281215d888fa0239225988bc20d\javafmllanguage-1.17.1-37.0.27.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\mclanguage\1.17.1-37.0.27\d0874feede1556de1e162b30d0aa349c5bfa5d5a\mclanguage-1.17.1-37.0.27.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-slf4j18-impl\2.14.1\312b4d91b21160b9fab43600fa787f31e8cab930\log4j-slf4j18-impl-2.14.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\blocklist\1.0.5\9da540f21c9a8d5ed7c029e1f88d1a6dabb0d6ad\blocklist-1.0.5.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\patchy\2.1.6\ce112c16c6275fdfff2d30208533ec906a191f71\patchy-2.1.6.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.github.oshi\oshi-core\5.7.5\725374463734aacde70a3b20f018aca3f922655f\oshi-core-5.7.5.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform\5.8.0\2f12f6d7f7652270d13624cef1b82d8cd9a5398e\jna-platform-5.8.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna\5.8.0\3551d8d827e54858214107541d3aff9c615cb615\jna-5.8.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.8.0-beta4\83b0359d847ee053d745be7ec0d8e9e8a44304b4\slf4j-api-1.8.0-beta4.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.ibm.icu\icu4j\66.1\72c7519b6d91f7a1f993bd44a99fe95d67211b27\icu4j-66.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\javabridge\1.1.23\3e5084d916ba393dfd82928ec97663aeb10b2e2c\javabridge-1.1.23.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\io.netty\netty-all\4.1.25.Final\d0626cd3108294d1d58c05859add27b4ef21f83b\netty-all-4.1.25.Final.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.5\2852e6e05fbb95076fc091f6d1780f1f8fe35e0f\commons-io-2.5.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.3.3\18f4247ff4572a074444572cee34647c43e7c9c7\httpclient-4.3.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\commons-codec\commons-codec\1.10\4b95f4897fa13f2cd904aee711aeafc0c5295cd8\commons-codec-1.10.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput\2.0.5\39c7796b469a600f72380316f6b1f11db6c2c7c4\jinput-2.0.5.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.jutils\jutils\1.0.0\e12fe1fda814bd348c1579329c86943d2cd3c6a6\jutils-1.0.0.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\brigadier\1.0.18\c1ef1234282716483c92183f49bef47b1a89bfa9\brigadier-1.0.18.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\datafixerupper\4.0.26\ebd6690f33871ccee9b6132c6480668ee2e35020\datafixerupper-4.0.26.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\authlib\2.3.31\bbd00ca33b052f73a6312254780fc580d2da3535\authlib-2.3.31.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.8.1\a698750c16740fd5b3871425f4cb3bbaa87f529d\commons-compress-1.8.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.1.3\f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f\commons-logging-1.1.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.2\31fbbff1ddbf98f3aa7377c94d33b0447c646b6e\httpcore-4.3.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\it.unimi.dsi\fastutil\8.2.1\5ad88f325e424f8dbc2be5459e21ea5cab3864e9\fastutil-8.2.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-jemalloc\3.2.2\ee8e57a79300f78294576d87c4a587f8c99402e2\lwjgl-jemalloc-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openal\3.2.2\2b772a102b0a11ee5f2109a5b136f4dc7c630827\lwjgl-openal-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.2.2\6ac5bb88b44c43ea195a570aab059f63da004cd8\lwjgl-opengl-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.2.2\d3ad4df38e400b8afba1de63f84338809399df5b\lwjgl-glfw-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-stb\3.2.2\3b8e6ebc5851dd3d17e37e5cadce2eff2a429f0f\lwjgl-stb-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-tinyfd\3.2.2\fcbe606c8f8da6f8f9a05e2c540eb1ee8632b0e9\lwjgl-tinyfd-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.2.2\8ad6294407e15780b43e84929c40e4c5e997972e\lwjgl-3.2.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\text2speech\1.11.3\f378f889797edd7df8d32272c06ca80a1b6b0f58\text2speech-1.11.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.antlr\antlr4\4.9.1\e92af8ab33e428461927b484e90bb155a4f3a052\antlr4-4.9.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.codehaus.plexus\plexus-utils\3.2.1\13b015768e0d04849d2794e4c47eb02d01a0de32\plexus-utils-3.2.1.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.antlr\ST4\4.3\92f2c1ad8d84abcbeead6cf7f2c53a04166293c2\ST4-4.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.antlr\antlr-runtime\3.5.2\cd9cd41361c155f3af0f653009dcecb08d8b4afd\antlr-runtime-3.5.2.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.abego.treelayout\org.abego.treelayout.core\1.0.3\457216e8e6578099ae63667bb1e4439235892028\org.abego.treelayout.core-1.0.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.glassfish\javax.json\1.0.4\3178f73569fd7a1e5ffc464e680f7a8cc784b85a\javax.json-1.0.4.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\cpw.mods\securejarhandler\0.9.48\aae44568f7e798c057e0ef0a7f099bc41336f4b9\securejarhandler-0.9.48.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-jemalloc\3.2.2\338b25b99da3ba5f441f6492f2ce2a9c608860ed\lwjgl-jemalloc-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openal\3.2.2\ec20a7d42a2438528fca87e60b1705f1e2339ddb\lwjgl-openal-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.2.2\d8dcdc91066cae2d2d8279cb4a9f9f05d9525826\lwjgl-opengl-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.2.2\dc6826d636bf796b33a49038c354210e661bfc17\lwjgl-glfw-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-stb\3.2.2\811f705cbb29e8ae8d60bdf8fdd38c0c123ad3ef\lwjgl-stb-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-tinyfd\3.2.2\e9115958773644e863332a6a06488d26f9e1fc9f\lwjgl-tinyfd-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.2.2\5359f3aa50d36352815fc662ea73e1c00d22170\lwjgl-3.2.2-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\com.mojang\text2speech\1.11.3\c0b242c0091be5acbf303263c7eeeaedd70544c7\text2speech-1.11.3-natives-windows.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.minecraftforge\srgutils\0.4.3\84aecb8fc78bd0dd7299bd9963ac9eb83bd00aad\srgutils-0.4.3.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\7ff832a6eb9ab6a767f1ade2b548092d0fa64795\jinput-platform-2.0.5-natives-linux.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\53f9c919f34d2ca9de8c51fc4e1e8282029a9232\jinput-platform-2.0.5-natives-osx.jar;C:\Users\urame.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\385ee093e01f587f30ee1c8a2ee7d408fd732e16\jinput-platform-2.0.5-natives-windows.jar cpw.mods.bootstraplauncher.BootstrapLauncher --launchTarget forgeclientuserdev --version MOD_DEV --assetIndex 1.17 --assetsDir C:\Users\urame.gradle\caches\forge_gradle\assets --gameDir . --fml.forgeVersion 37.0.27 --fml.mcVersion 1.17.1 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20210706.113038
        Error: Could not create the Java Virtual Machine.
        Error: A fatal exception has occurred. Program will exit.
        Unrecognized option: -p
        
        プロセスは終了コード 1 で終了しました
        

        また関係あるかはわかりませんが、GradleのrunClientをダブルクリックにて実行するとマイクラが起動します。
        もう一点気になるのはnet.minecraft.itemなどのクラスファイルが存在しないようなのですが、この辺も関係してますでしょうか(上の手順で起動しているので関係はない?)

        1. 返信が遅くなってしまい申し訳ありません。
          ログ部分について表示を編集させていただきました。
          prepareRunClientのログではJava: 1.8.0_301 JVM: 25.301-b09(Oracle Corporation)runClientのログではadopt-openjdk-1.8.0_302と表示されており、runClientでJVMの起動に失敗しています。
          JDKが複数インストールされているかもしれないので、「Project Structure > Platform Settings > SDKs」からIntelliJ IDEAによるJDKの認識を確認し、1.8に対応するものを一つにしてからProject SDKにJDK 1.8を指定してください。
          最近、AdoptOpenJDK (HotSpot)がEclipse Temurinに名称を変更したので、それにも注意してください。
          解決しなければ、Forgeの手順3以降をもう一度行ってみてください。
          クラスファイルの認識などについてもJDKの読み込み失敗による問題かもしれません。

    1. AdoptOpenJDK (HotSpot)はプロジェクトがEclipse Foundationへ移譲されたため、Eclipse Temurinに名前が変わりました。
      後ほど、記事にも反映します。

  4. IntelliJ IDEAを開いて、openからファイルを選択する際に読み込みが始まらず、
    プロジェクトのテストモデルを信頼してオープンしますか? Intelli/IDEAは、このフォルダから潜在的に悪意のあるコードを実行する機能を提供します。 ソースを信頼できない場合は、プロジェクトをセーフモードでプレビューして、そのコードだけを参照してください。
    とでるのですが、これはTrust Project、Preview in Safe Mode、Don't Open
    の選択肢の中でPreview in Safe Modeを選べばよろしいのでしょうか?

    1. 「Trust Project」を選ばないとIntelliJ IDEAのビルドや依存関係の解決などの機能が使えません。記事の手順通りに環境構築をしていて、Forgeとその依存先に悪意のあるコードが含まれていないと信頼できるのであれば、「Trust Project」を選んでください。IntelliJ IDEAのヘルプ(英語版日本語版)もご覧ください。

  5. IntelliJ IDEAを起動したのですが、画面右にTool Window Barがなくて先に進めません

    1. 画面左下隅の四角いアイコンでTool Window Barの表示を切り替えられるので、非表示になっていないか確認してください。

      また、Projectなど他のTool Windowが表示されていてGradleが表示されない場合は、Gradle Pluginが無効になっているかもしれません。File > Settings > Pluginsと移動してGradleにチェックマークが入っていることを確認してください。

      1. Gradleにチェックマークが入っているのを確認したのですが、画面左隅のボタンを押しても、押したときに表示される項目を押しても表示されませんでした

        1. プロジェクトがGradleの管理だと認識されていないのかもしれません。Forgeの手順3以降について、記事の手順にしたがってもう一度やり直してみてください。

          解決しない場合は、IntelliJ IDEAの画面のスクリーンショットを外部の画像共有サービスなどでお知らせください。

  6. 実行をしたときにminecraftが落ちてしまいます。 
    runClientにException in thread "main" と表示されていました。
    動画にそって実行してしていますが上手くいきません。どうすればよいですか?

    1. Forgeの1.16.5 Latestを使ってください。

      Java 8 u321で内部に破壊的変更があり、ModLauncherが影響を受け、Forgeが起動しなくなりました。Java 8の変更以前のバージョンを使うか、Forge 36.2.26以降を使うかで解決できますが、後者をおすすめします。

      今回はこちらで問題を再現できたので原因がわかりましたが、原因特定と問題解決を円滑に進めるため、今後はException in thread "main"に続くスタックトレースを添付してください。

  7. TitaniumMod > Tasks > forgegradle runsと階層を下りて「genIntellijRuns」をダブルクリックをし、実行しようとするとThis project is configured to use the official obfuscation mappings provided by Mojang. These mapping fall under their associated license, you should be fully aware of this license. For the latest license text, refer below, or the reference copy here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md, You can hide this warning by running the hideOfficialWarningUntilChanged taskと、(c) 2020 Microsoft Corporation. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of this document or the source code (in any form) of Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula. の警告文んが出てくるのですがどうしたらいいですか

    1. それは公式マッピングのライセンスに関する注意です。それより後の行にエラーなどが出ていなければ問題なく環境構築を進められると思います。

      警告文とリンク先の文章に書いてある通り、Mojangから公式に提供されている難読化解除マッピングはForgeやMOD開発者の利用方法に対し明示的で完全な許諾があるとはいえません。Forgeの開発チームは、著作権侵害として訴訟などになるリスクが皆無ではないものの、MojangがForgeやMOD開発者の利用方法を禁止したいのではないとの理解のもと、公式マッピングを利用するようにデフォルトで設定しています。

      EULAも含めて関連する文書を確認したうえで、法的なリスクが気になるようであれば、MCPのマッピングを利用することもできますが、クラス名やメソッド名などが記事中のものとは変わります。build.gradlemappings channel: 'official', version: '1.16.5'の行が難読化解除マッピングの指定です。

  8. すいません。初回の読み込みでエラーが発生してしまいました。全部のせます。(BUILD SUCCESSFULは出ました)
    Download https://services.gradle.org/distributions/gradle-7.3.3-bin.zip finished, took 7 s 257 ms (115.77 MB)
    Starting Gradle Daemon...
    Gradle Daemon started in 970 ms

    Configure project :
    Java: 16.0.2 JVM: 16.0.2+7-67(Oracle Corporation) Arch: amd64
    WARNING: This project is configured to use the official obfuscation mappings provided by Mojang. These mapping fall under their associated license, you should be fully aware of this license. For the latest license text, refer below, or the reference copy here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md, You can hide this warning by running the hideOfficialWarningUntilChanged task
    WARNING: (c) 2020 Microsoft Corporation. These mappings are provided "as-is" and you bear the risk of using them. You may copy and use the mappings for development purposes, but you may not redistribute the mappings complete and unmodified. Microsoft makes no warranties, express or implied, with respect to the mappings provided here. Use and modification of this document or the source code (in any form) of Minecraft: Java Edition is governed by the Minecraft End User License Agreement available at https://account.mojang.com/documents/minecraft_eula.
    [03:15:23] [main/INFO]: Writing debug log file accesstransform.log
    [03:15:23] [main/INFO]: Access Transformer processor running version 8.0.7+8.0.7+master.43473d43
    [03:15:23] [main/INFO]: Command line arguments [--inJar, C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.16.5-36.2.33\forge-1.16.5-36.2.33-injected.jar, --outJar, C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.16.5-36.2.33_mapped_official_1.16.5\forge-1.16.5-36.2.33_mapped_official_1.16.5.jar, --logFile, accesstransform.log, --atFile, C:\Mods\TitaniumMod\build_atJar_5\parent_at.cfg]
    [03:15:23] [main/INFO]: Reading from C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.16.5-36.2.33\forge-1.16.5-36.2.33-injected.jar
    [03:15:23] [main/INFO]: Writing to C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.16.5-36.2.33_mapped_official_1.16.5\forge-1.16.5-36.2.33_mapped_official_1.16.5.jar
    [03:15:23] [main/INFO]: Transformer file C:\Mods\TitaniumMod\build_atJar_5\parent_at.cfg
    [03:15:23] [main/WARN]: Found existing output jar C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.16.5-36.2.33_mapped_official_1.16.5\forge-1.16.5-36.2.33_mapped_official_1.16.5.jar, overwriting
    [03:15:26] [main/INFO]: JAR transformation complete C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\net\minecraftforge\forge\1.16.5-36.2.33_mapped_official_1.16.5\forge-1.16.5-36.2.33_mapped_official_1.16.5.jar

    Task :prepareKotlinBuildScriptModel UP-TO-DATE
    Setting up MCP environment
    Initializing steps
    Executing steps
    Running 'downloadManifest'
    Running 'downloadJson'
    Running 'downloadClient'
    Running 'downloadServer'
    Running 'stripClient'
    Running 'stripServer'
    Running 'merge'
    Running 'rename'
    Running 'mcinject'
    Running 'listLibraries'
    Running 'AccessTransformer'
    [03:15:57] [main/INFO]: Access Transformer processor running version 8.0.7+8.0.7+master.43473d43
    [03:15:57] [main/INFO]: Command line arguments [--inJar, C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\mcp\1.16.5-20210115.111550\joined\mcinject\output.jar, --outJar, C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\mcp\1.16.5-20210115.111550\joined\AccessTransformer\output.jar, --atFile, C:\Users\KINNOS~1\AppData\Local\Temp\FG_ats_8523100698376724446.cfg]
    [03:15:57] [main/INFO]: Reading from C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\mcp\1.16.5-20210115.111550\joined\mcinject\output.jar
    [03:15:57] [main/INFO]: Writing to C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\mcp\1.16.5-20210115.111550\joined\AccessTransformer\output.jar
    [03:15:57] [main/INFO]: Transformer file C:\Users\KINNOS~1\AppData\Local\Temp\FG_ats_8523100698376724446.cfg
    [03:15:57] [main/WARN]: Found existing output jar C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\mcp\1.16.5-20210115.111550\joined\AccessTransformer\output.jar, overwriting
    [03:15:59] [main/INFO]: JAR transformation complete C:\Users\KINNOSUKE.gradle\caches\forge_gradle\minecraft_user_repo\mcp\1.16.5-20210115.111550\joined\AccessTransformer\output.jar
    Running 'SideStripper'
    Running 'decompile'
    Running 'inject'
    Running 'patch'
    MCP environment setup is complete

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

    See https://docs.gradle.org/7.3.3/userguide/command_line_interface.html#sec:command_line_warnings

    BUILD SUCCESSFUL in 3m 41s

    1. ログを見る限り正常に読み込まれているようですが、どのようなエラーが出ているのでしょうか。IntelliJ IDEAで赤く表示されている部分があるか、runClientを実行しようとしたときのログなどについてお知らせください。

      「WARNING: This project is configured to use the official obfuscation mappings provided by Mojang. …」についてはひとつ前のコメントをご覧ください。

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

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