VSCodeでマイクラMOD開発をしたい #1 サンプルMODを動かす

C#だけではマイクラMODをつくることができないため、Javaが必要です。Javaの設定方法に関しては様々な記事で紹介されているので省きます。

実行環境

  • Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
  • Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
  • Java Development Kit 1.8.0_151

以上の環境が整っており、VSCode拡張機能にてJava Extension Pack が導入されているとします。

1. Forgeのダウンロード

MODを動かすためには Forge が必要です。今回はバージョン 1.10.2 を使用します。Installerはマイクラのゲームディレクトリに、MDKは作業したいディレクトリに展開しておきます。中にはサンプルMODが入っているのでビルドすればすぐに導入できます。

f:id:takunology:20200224142432j:plain

2. Gradle のダウンロード

例えばバージョン1.10.2だとGradleのバージョンは2.14でビルドされているので、このバージョンをダウンロードしないといけません。

services.gradle.org

私は2.14-rc-6 で実行しましたが、問題なく動かせました。

ダウンロードできたら好きなディレクトリに展開し、そのパスで環境変数に設定します。できたらバージョンを確認します。

C:\Users\takun>gradle --version

------------------------------------------------------------
Gradle 2.14-rc-6
------------------------------------------------------------

Build time:   2016-06-10 18:19:46 UTC
Revision:     cba5fea19f1e0c6a00cc904828a6ec4e11739abc

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Windows 10 10.0 amd64

これが表示されていれば導入完了です。

3. MODのビルド

展開したMDKファイル一式をVSCodeから開くとこんな階層になります。ちなみに、作業ファイル名は TakunoloMOD にしてみました。特に意味はないですw

f:id:takunology:20200224162344p:plain

このままではビルドができないので、 gradlew.bat というファイルを開いて編集します。18行目くらいに空いている行があるので、空いているところに次のような1行を追記します。ただし、Javaのファイルパスはバージョンにあわせてください。

set JAVA_HOME=C:\Program Files\Java\Jdkバージョン

f:id:takunology:20200224151920p:plain

次に、VSCode上でターミナルを開き、gradle build と入力してビルドします。BUILD SUCCESSFUL と表示されればビルド完了です。

f:id:takunology:20200224162707p:plain

4. クライアントサーバでの実行

ビルドしたMODを実行するには次のコマンドを実行します。

gradle runClient

gradle による実行では gradle run ですが、マインクラフトで動かす場合はサーバかクライアントかを選択する必要があるので注意してください。実行できると Example MOD が読み込まれているので、確認してみましょう。

f:id:takunology:20200224163129p:plain

ターミナルではログも表示されています。

5. おわりに

VSCode で環境を整えている記事が少なく、かなり苦戦しました。VSCode ではなく、EclipseだったりintelliJだったりの環境が多かったですが、それを頼りにするしかなかったです。あと、Gradleが盲点でした。まさかこれほど古いバージョンでビルドされているとは思いませんでしたね。

ようやく、MOD開発の第一歩を踏み出せたようです...。