以下の内容はhttps://error-daizenn.hatenablog.com/entry/2025/11/04/225202より取得しました。


Minecraft 1.12.2 Forgeの環境構築で沼った人へ──「できないのが普通」な理由と今できる最善の方法


「genIntelliJRunsまでは通るのに、runClientを押すと山のようなエラーが出る」

「Forge MDKを入れ直しても、Gradleのバージョン違いだの、ASMが非対応だの、JDKが古いだの……」
──これ、いま Minecraft 1.12.2 のMOD開発に挑戦している人がほぼ全員ぶち当たる壁です。

もう一度言います。
あなたが悪いわけではありません。
環境そのものが古すぎて、今のパソコン・IDE・JDKと噛み合わないのです。

まず結論:「1.12.2環境構築がまともに通る時代は終わっている」

Forge 1.12.2 は、2018年頃の設計で作られた環境です。
当時の世界は、JDK8が主流で、Gradle 4.xが最新、IntelliJ IDEAも古いものでした。

しかし2025年現在、

  • JDKは17〜23世代

  • Gradleは8.x

  • IntelliJ IDEAは2025.1以降

という、完全に別の時代に来ています。
古いForgeは、今のGradle構文やASM(Javaのバイトコード変換ライブラリ)と整合性が取れず、
「非対応」「廃止メソッド」「invalid source release」など、
何百行ものエラーを吐き続けることになるのです。

つまり、あなたが遭遇した「公式コードが間違っているように見える」現象、
それは本当に“古いForgeが現代環境では壊れている”から起きています。

みんな最初にここで心が折れる

SNSやModdingフォーラムでも、いまでも定期的にこんな投稿が流れます。

「1.12.2のForgeを入れたのにrunClientが動かない」
「Java 8にしたら直るって書いてあったのにまた別のエラーが…」
「ForgeGradleのバージョンが合わない。どこを直せばいいの?」

これ、**全員が最初に通る“1.12.2地獄の関門”**です。
だから、あなたの感じている「素人には無理」「勉強が足りない」というのはまったく違います。
プロでも、**今の環境で1.12.2を動かすのは“裏技スキル”**が必要なんです。

なぜ1.12.2は人気なのに開発が難しいのか

多くのMOD制作者が今でも1.12.2を選ぶ理由は、「対応MODが圧倒的に多い」から。
ほとんどの大型MOD(IndustrialCraft2、Thermal、Botaniaなど)が1.12.2を基準に作られています。

しかし、これが落とし穴でもあります。
1.12.2は「機能が安定している」けれど、「開発環境は崩壊寸前」なんです。

公式のForgeGradle(Forgeが使用するビルドツール)は、
1.12.2時代で更新が止まり、JDK11以降では正常に動かない仕様になっています。

あなたが見た “asmのjarが非対応” “gradleの記述が古い” “タスクが存在しない” というエラーは、
すべてこの「現代JDK+古代Gradle+古代Forge」の三重ミスマッチによって起きています。

知っておきたい最低限の「前提知識」

ここで一旦、Forge環境構築に必要な3つの要素を整理しておきましょう。
これを理解しておくと、今後ネット上の説明がスッと頭に入るようになります。

  1. Forge MDK(Mod Development Kit)
     MinecraftとForge本体のソースコード、ビルドスクリプトなどを含む開発キット。
     公式サイトからダウンロードする「forge-1.12.2-xxxx-mdk.zip」のこと。

  2. Gradle(ビルド自動化ツール)
     ForgeやJavaのソースをコンパイル・依存関係管理するためのツール。
     古いForgeはGradle 4.x専用。新しいForgeはGradle 7.x〜8.x対応。

  3. JDK(Java開発キット)
     Javaのコンパイル・実行環境。Forge 1.12.2は**JDK 8(できれば8u202あたり)**が必要。

この3つのバージョンがすべて揃わないとrunClientは起動しません。
どれか一つでも新しすぎたり古すぎたりすると、Gradleが爆発して画面が真っ赤になります。

「genIntelliJRunsまでは通るのにrunClientで爆発する」理由

これは、Forgeのビルドタスクの中でもっともトラブルが多い箇所です。

  • genIntelliJRuns は、IDEにラン設定(runClient, runServer)を作るだけ。

  • runClient は、実際にMinecraftをForge経由で立ち上げる。

つまり「動く/動かない」の境目はここ。
runClientで大量の赤文字が出るのは、環境がForgeの想定より新しい証拠です。

典型的なエラーは次の3種。

Unsupported class file major version 61

Could not resolve all files for configuration ':compileClasspath'

Could not find method compile() for arguments...

 

1つ目は「JDKが新しすぎる(JDK 17など)」
2つ目・3つ目は「Gradleが新しすぎる or ForgeGradleが古すぎる」

つまり、JDK 8 + Gradle 4.9 + ForgeGradle 2.3.4 の組み合わせでしか動かないのです。

「知識が足りない」のではなく、「古い環境を再現するのが困難」

あなたが言うように、「コードの書き換え」「再インストール」「バージョン変更」を繰り返しても、
毎回別のエラーが出るのは普通です。
それは“違う年代のパーツ”を無理やり組み合わせているからです。

たとえば──

  • ForgeのGradle設定が2018年版

  • あなたのIntelliJが2025年版

  • そしてJDKが2024年版

この3つが同居すると、IDEが自動的に**「新しいGradleを使おう」として壊す**んです。
だから、初心者がハマるのは当然。
むしろ、ここまで粘って環境を何度も試している時点で立派な「中級者」です。

ではどうすれば良いのか?現実的な3つの選択肢

  1. (一番確実)古い環境を仮想的に再現する
     → JDK8u202 + Gradle4.9 + IntelliJ 2020.3 あたりで固定。
     → これで動けば奇跡レベルに安定します。

  2. (中級者向け)ForgeGradleを少し書き換えて新環境に対応させる
     → 1.12.2でもGradle5対応パッチを当てる人もいます。
     → ただし難易度が高く、初心者向けではありません。

  3. (おすすめ)1.16.5か1.18.2で開発を始める
     → 今のJDKでも動作可能で、チュートリアルも最新。
     → 「まずはMOD制作の仕組みを学ぶ」という目的なら、こちらのほうが圧倒的に楽です。

現代環境で1.12.2を動かすための“再現レシピ”

ここからは、あなたが今のパソコン環境で **「1.12.2のForgeを無理なく動かす」**ために必要な、具体的なバージョン組み合わせを紹介します。
ネット上にある情報は古くなっていてバラバラですが、2025年時点でもこの構成なら安定します。

(1) JDKのバージョンを 8u202 で固定する

Forge 1.12.2 は Java 8 時代のコード体系に依存しています。
そのため、JDK 11以降ではビルドが不可能です。
特に最近の Oracle JDK や OpenJDK は内部仕様が変わり、
ASM(Forgeが使用するクラス解析ライブラリ)が「class file major version 61(=JDK17)」でクラッシュします。

▶ 対処手順

  1. まず、現在の JDK をアンインストール(または環境変数からPATHを外す)

  2. AdoptiumBellSoft Liberica から「JDK 8u202」または「JDK 8u312」あたりをダウンロード

  3. JAVA_HOME をそのフォルダに設定

  4. java -version で「1.8.0_202」と表示されるのを確認

この時点で、「Unsupported major version 61」などのエラーが消えるはずです。

(2) Gradle Wrapper を 4.9 に固定する

Forge 1.12.2 の build.gradle は Gradle 4.9 を前提に記述されています。
しかし IntelliJ が自動で最新版(8.x)を使おうとすると、構文の違いでクラッシュします。

▶ 修正手順
gradle/wrapper/gradle-wrapper.properties を開き、下記のように書き換えます。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip

 

次に、ターミナルで一度 gradlew clean を実行してキャッシュを削除。
その後 gradlew genIntelliJRuns をもう一度走らせてください。

これで Gradle 関連のエラー(Could not find method compile() など)は大幅に減ります。

(3) IntelliJ IDEA は 2020.3 以前 に戻す

最新の IntelliJ は Gradle 7.x 以上が前提であり、
古いプロジェクトを開くと「プロジェクト構成を自動更新」して壊してしまいます。

▶ 対処策

  1. JetBrains の公式サイトから「IntelliJ IDEA 2020.3 Community」をダウンロード

  2. 新しい IntelliJ はアンインストール不要(別フォルダに共存可)

  3. 旧バージョンで build.gradle をインポートし、Gradle Wrapperを使用を選択

これで「Project sync failed」「Gradle DSL method not found」の類が消えます。

(4) ForgeGradle のバージョンを明示する

古い Forge MDK では build.gradle に次の記述があります。

classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'

 

これを、安定版に固定します。

classpath 'net.minecraftforge.gradle:ForgeGradle:2.3.4'

 

そして repositories ブロック内に以下を追加します。

maven { url = 'https://maven.minecraftforge.net/' }

mavenCentral()

 

この2行がないと、今のForge Mavenサーバーから依存ファイルを取得できません。
ここを直すだけで、かなりの「Could not resolve dependency」エラーが解消されます。

(5) 一度でも成功したら「環境を絶対に更新しない」

1.12.2 Forge は一度動作した環境をそのまま凍結保存するのが鉄則です。
JDKやIntelliJをアップデートすると、次の日には動かなくなります。

解決したあとにやるべきこと:

  • .gradle フォルダをバックアップ

  • build.gradlegradle-wrapper.properties のコピーを保存

  • Windowsなら「復元ポイント」を作成

これで、将来再び沼るリスクを大幅に減らせます。

「でも1.12.2のMODを作る意味ってまだあるの?」という疑問

あります。むしろ、“1.12.2でしか動かない人気MOD”が大量に存在するのが現実です。
特に工業系・魔術系・RPG系の大型MODは、1.16以降に移植されていません。

ただし──
1.12.2向けのForgeは「動かすだけでも技術」になっているほどの難易度です。
初心者が最初に学ぶには、正直かなり厳しい。

もし「まずMODの仕組みを理解したい」「コードを書いてみたい」という段階なら、
1.18.2 か 1.20.1 で開発を始める方が絶対におすすめです。
新しいForgeはセットアップがほぼ自動で、runClientを押すだけで起動します。
しかも、今のJDK17でも動作します。

「お金を払ってでも環境構築を頼みたい」と思ったら

実はこの気持ち、かなり多くの人が持っています。
1.12.2の環境構築はもはや“専門職レベル”だからです。

現実的に頼める相手は次の3つです。

  1. ココナラなどのフリーランス技術者(Minecraft MOD経験者)
     →「Minecraft 1.12.2 Forge 環境構築 代行」で検索
     → 3000〜8000円前後で代行してくれる人もいます

  2. 技術系コミュニティ(DiscordやMod開発フォーラム)
     → 「Japan Minecraft Modding Discord」などで相談すると有志が助けてくれることも

  3. プログラミングスクールや専門学校の体験授業
     → 直接“環境構築”を教えてもらう講座は少ないですが、
     → Java基礎+Gradle構成の理解が進めば、後のトラブル解決が圧倒的に楽になります

もし独学がつらいときは、学校よりも「個別サポート型スクール」や「オンライン家庭教師」に相談する方が近道です。

「mod作りの勉強」=「Java」だけではない理由

あなたが書いていた「みんなGradleやIDEも知り尽くしてるの?」という疑問。
これがまさに、初心者が最初にぶつかる“誤解ポイント”です。

MOD開発は「Javaの勉強+環境構築+ビルドシステム理解+ゲームAPI理解」がセット。
いわば「Javaを使った小さなソフトウェア開発の実体験」なんです。

だから、コードを書くよりも前に、
ビルドが通る環境を整えること自体が“最初の壁”。
でも、その壁を越えた瞬間に、
「MOD作り=ソフトウェア開発の基礎そのもの」だと気づけます。

あなたが今経験している混乱やエラーの山も、
**将来の「環境トラブルを自力で解決できる力」**につながっています。
一度通れば、他の開発(Android、Spring、ゲーム開発)でも同じ理屈で動きます。

もし心が折れそうなときに伝えたいこと

ここまで読んで「もうムリ」と感じたなら、それも正しい反応です。
1.12.2 Forge の環境構築は、今から始める人に優しくない設計です。
世界中で同じ苦労をしている人がいて、解決法もほぼ「根気と運」です。

でも、もし一度でも「runClientが成功した瞬間」を経験したら、
その達成感は本当に大きいです。
あなたが今ここまで粘っていること自体、もう立派な開発者の第一歩です。

まとめ:1.12.2を動かす最短ルート

・JDKを8u202に戻す
・Gradle Wrapperを4.9に固定する
・IntelliJを2020.3以前に下げる
・ForgeGradleを2.3.4にする
・一度動いたら絶対に環境を更新しない

この条件が揃えば、1.12.2のrunClientは必ず起動します。
それでも無理なら、勇気を出して1.16以降へ移行するか、
専門の代行やコミュニティの助けを借りてください。

どの選択でも、あなたの努力は決して無駄にはなりません。
MOD開発は“動かす”より“理解する”ことが本質です。
今日の失敗は、必ず「環境を支配する力」になる──そう信じて続けてください。






以上の内容はhttps://error-daizenn.hatenablog.com/entry/2025/11/04/225202より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14