疲れたらやすむ

Javaを学ぶ上でハマったところを書いていきます。iPhoneアプリ開発や日常ネタもあるかも。

【Java】【Minecraft】Modの開発環境構築

今回はMinecraftの記事になります。

はじめにこの記事を書くに至った経緯を書きます。
開発環境構築まで進む場合は目次まで飛ばしちゃってください。

それでは前置き的なやつ。
実際にプレイされている方はご存知だと思いますが、PC版のMinecraftはJavaで動いています。
そしてMinecraftにはModというものが存在します。
Modとは言わば拡張機能のようなもので、新しいアイテムを追加したりゲームのシステムを変更したり様々なものがあります。
Minecraft以外のゲームでもModは存在しており、主に海外のゲームに多い傾向があります。

じゃあModはゲームの開発元が作っているのかというと必ずしもそうではありません。
むしろほとんどが違うと思っています。
個人のプレイヤーさんだったり何人かのチームで作成していたり様々です。

Minecraftの楽しみ方は人それぞれで、Modを入れない(バニラ)で遊ぶ方もいればModを入れて遊ぶ方もいます。
私は入れちゃうタイプ。

MinecraftのModはとても数が多いため、こんなModあるかな?と思うModは大抵探せば見つかります。
しかし細かいところまでこだわった場合は手が届かないこともしばしば。
私はその口でした。
Modの開発言語はJavaなので、やってやれないことはないだろうという思いもありつつ、どうしても実現させたいことがありModの作成を決心。

そもそも何をやりたいのか?

「任意の時間でレッドストーン出力を行いたい」だけです。
実はComputerCraftというModで実現できます。
実現できるはずなのですが、残念ながら私の環境ではComputerCraftは動作に支障が出てしまい泣く泣く導入を諦めました。
症状としては、sleep()メソッドを呼ぶ度に画面がカクっと固まってしまいます。
1秒感覚でsleepを入れたら1秒ごとに画面が一瞬固まってしまう感じ。
どうやらプチフリーズに縁があるようで。
なので代用となるModを作成します。

ひとまず今回は環境構築まで進めます。
ちなみにMinecraftのバージョンは1.7.10を想定。
Modを導入するなら定番のバージョンだと思います。Modの数が豊富なので。

それでは開発環境構築手順です。

Eclipseの導入

Eclipseとは、統合開発環境と呼ばれる開発の効率を高めるツールです。
エディタでコーディングを行い、実行やデバッグもスムーズに可能です。
Java以外の言語にも対応していますが、基本的にはJavaでの使用が一般的だと思います。

Pleiades
上記サイトからEclipseをダウンロードします。

リンク先はこんな感じになっています。

f:id:chibiCat:20190409225833p:plain

赤枠内の好きなバージョンを選んでクリックしてください。
私は4.8にしました。
なるべく新しくて、でもちゃんと数字が振ってあるやつということで。

f:id:chibiCat:20190409225828p:plain

次にJavaの中から自分のOSに合ったものを選んでください。
ちなみにFull EditionかStandard Editionかは何も考えずFull Editionを選んでおけば問題ありません。

容量が1GBを超えるためダウンロードに少々時間がかかります。
ダウンロード完了後、Windowsの方はzipを解凍して出てくる「pleiades」フォルダを任意の場所に移動します。
移動と言ってもCドライブ直下とかで良いと思います。
Macの方はダウンロードしたものをダブルクリックして、アイコンをApplicationsフォルダにドラッグ&ドロップ。
以上でEclipseの導入は完了です。

JDKのインストールと環境変数の設定

JDKとは、Java Development Kitの略であり、直訳だとJava開発キットになります。
ざっくりですがJavaで開発を行うために必要なソフトウェアがまとまっているものです。

Java SE Development Kit 8 Downloads
上記のサイトからJDKをダウンロードします。

f:id:chibiCat:20190410232353p:plain

Accept License Agreementにチェックを入れ、任意のOSのものをダウンロード、インストールを行ってください。

インストールが完了したら、一応環境変数の設定を行っておきます。
最近Macで試したところ未設定でもビルドは通ったのですが一応。

環境変数の設定の仕方はOSによって変わります。
Windowsの場合。
1.コントロールパネルを開きます。
2.システムとセキュリティ→システム→システムの詳細設定へと進みます。
3.システムのプロパティが開くので「環境変数(N)...」をクリック。
4.システム環境変数の「新規(W)...」をクリック。
5.変数名に「JAVA_HOME」、変数値にJDKをインストールしたディレクトリを入力しOK。

Macの場合。
1.ターミナルを開きます。
2.「open ~/.bash_profile」を入力しENTER。テキストが開きますが放置で。
3.「export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)」を入力しENTER。
4.ターミナルを開き直すか、もしくは「source ~/.bash_profile」を入力しENTER。
5.「echo $JAVA_HOME」を入力しENTERで「/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home」が表示されます。

Minecraft Forgeのソース入手とワークスペースの準備

Minecraft Forgeとは、MinecraftにModを導入するための機能を持ったModです。
Forgeを入れることで初めてMinecraftにModを入れて遊ぶことができます。

普段はModを入れる場合、Forgeをインストールする形で使用しますが、
今回はそのForgeのソースを使ってEclipseからMinecraftを実行できるようにします。

Minecraft Forge
上記のサイトから「Src」をダウンロードします。
今回は1.7.10で、さらに1.7.10の中にも細かなバージョン指定ができます。
特にバージョンを決めていない場合はRecommendedで問題ないと思います。

f:id:chibiCat:20190410011132p:plain

どのバージョンで遊んでいるのか、またはどのバージョンで遊ぶのかわかっていて、
LatestでもRecommendedでもないバージョンの場合は、
上記の画像の下側に見える「+Show all Versions」をクリックすると出てきます。

「Src」をクリックすると若干怪しげなサイトに飛びますが大丈夫です。
右上のSkipをクリックするとダウンロードできます。

余談ですが、最近のMinecraftのバージョンでは「Src」ではなく「Mdk」だそうです。

ダウンロード完了後、zip形式になっているため解凍します。
解凍したフォルダの中にある「eclipse」フォルダが後にワークスペースとなるフォルダです。

ビルド

コマンドラインで解凍したフォルダまで行きます。
「forge-1.7.10〜src」のフォルダです。
Windowsの場合はエクスプローラーで解凍したフォルダを開き、ウインドウのアドレスバーに「cmd」を入力しENTER。
Macの場合はターミナルを開き「cd 」と入力後、解凍したフォルダをターミナルにドラッグ&ドロップでENTER。

コマンドラインで以下を入力しENTER。
Windowsの場合は「gradlew setupDecompWorkspace」。
Macの場合は「./gradlew setupDecompWorkspace」です。
5分ほどで終わります。

何をやってるのかというと、たぶんデコンパイルだと思います。
成功すれば「BUILD SUCCESSFUL」と表示されます。

もし「BUILD FAILURE」と表示され失敗した場合。
エラーの原因が「JAVA HOME~....」のようなキーワードだった場合はJDKの環境変数の設定の問題です。
手順2のJAVA_HOMEの設定の見直しをしてください。

次にもう一度ビルドを行います。
Eclipseのプロジェクトファイルを追加します。

コマンドラインで以下を入力しENTER。
Windowsの場合は「gradlew eclipse」。
Macの場合は「./gradlew eclipse」です。
こちらは数十秒で終わると思います。

先ほどと同じく「BUILD SUCCESSFUL」が表示されればOKです。

動作確認

Eclipseを起動しワークスペースにビルドしたフォルダ内にある「eclipse」フォルダを選択します。
ここ何気に注意です。
「forge-1.7.10〜...」のフォルダではなく「forge-1.7.10〜...」の中の「eclipse」フォルダです。

起動直後はこんな状態です。

f:id:chibiCat:20190411004023p:plain

Minecraftというプロジェクトがありますね。
特になんの設定もせず起動してみます。

「実行」から「実行の構成...」を開きます。

f:id:chibiCat:20190411004019p:plain

Javaアプリケーションの一番上にある「Client」を選択し「実行」。

f:id:chibiCat:20190411004016p:plain

無事にMinecraftが起動できればModの開発環境は無事に構築完了です。

f:id:chibiCat:20190411004012p:plain


今回は以上になります。