MinecraftのModding環境の構築手順についてのメモ。
前編的なやつで、主にEclipseについていろいろ。
もとは1記事で書いてたんですが、Eclipseについて長く書きすぎたので分割しました。
Forgeのインストール以降については次の記事になります。
対象
- Javaで開発ができる
- IDE(Eclipse)が使える
- Google先生と仲がいい
準備するもの
- Java SE Development Kit(JDK) (Pleiadesのjava版のfullを使うならなくてもOK)
- Eclipse (最低限JDTが入っていればOK)
JDKの準備
- Oracleから任意のJDKをダウンロードする。
- インストールする。
- 環境変数
JAVA_HOME
に、JDKへのパスを設定する。
どれをダウンロードすればいいの?
この記事を書いている時点での最新はJava7のupdate45です。上記サイトからOracleの英語サイトに行き、JDKのダウンロードを選び、「Java SE Development Kit 7u45」の一番上のライセンスを確認したのち同意し、自分の環境用のJDKを選べばOK。Windowsの32bit版であればWindows x86、64Bit版であればx64を選びます。
ダウンロードが完了したら、実行してインストールします。環境設定を行う必要があるので、インストール先が何処になるかはちゃんと覚えて起きましょう。
注意するべき点は、JREではなくJDKをダウンロードする、ということくらいです。
ちなみに、JDKのインストーラーで追加されるJREは、インストールしなくても問題ないです。おそらく、自動更新で最新版になってるはずなので。
Eclipse付属のを使うのでJDKインストールしないで進めたい。
特に試してないので、動確はとってませんが、多分pleiades付属のJRE(JDKとかも同梱)を環境変数JAVA_HOMEに設定しておけば問題無いです。うろ覚えですが、たしかpleiades/java/jre7とかだった気がします。そのあたりのフォルダーのパスをJAVA_HOMEに設定すれば、多分いけます。
環境変数の設定について
のちの記事にでてくる、Gradleコマンドを実行するにあたり、環境変数にJDKへのパス設定が必要となります。環境変数の設定方法などは、この先生が詳しいので、どうしてもわからなければ聞いてください。
自分は、JAVA_HOMEにJDKを足して、パスに%JAVA_HOME%/binを足しています。ですが、JDKを頻繁に更新しなさそうであれば、パスへの追加はしないほうがいいかもしれません。(JDKはJREみたいな自動更新がないので、最新JREが参照されなくなるかもしれない)
なお、Gradleへのパス設定は、ForgeにGradleラッパーが付属しているので、特に行う必要はありません。そのため、事前にGradleのインストールも不要です。
Eclipseの準備
統合開発環境(IDE)にはEclipseを使用します。
Pleiades Java版 を使うケースと、Pleiades Platform版 を使うか、公式のEclipseを使う(日本語化しない)ケースについて、説明します。
そもそもなぜPleiades?
Eclipseは、日本語環境を用意するならPleiadesが手っ取り早いです。必要なプラグイン(や不要なプラグイン)を予め導入したうえに、初期設定を一部変更したオールインワンパッケージで配布されているため、とっかかりやすいです。
Pleiades、沢山あるけどどれを選べばいいの?
Java開発用か、Platformを選んでください。
Java開発用の場合は、Mod開発に不要なプラグインも多数導入されており、多機能すぎて意味不明なものがいっぱいあり、初心者は混乱しそうな感じだったりします。しかし、Platformの場合は、殆どプラグインが導入されていない状態なので、Java開発ツール(JDT)から全て自分で用意していく必要があり、やっぱり難易度は高いです。
(JavaSE用のPleiadesもあっていいと思うんだけどナァ…)
PleiadesのJavaであっても、TomcatLauncherを始め、いくつかの必要ないプラグインは削除が可能なので、Mod開発に不要なものを削除してから使えば、不要な設定やボタンがいくらか消せます。なので、こだわりがなければ、Java版を導入するほうがいいと思います。
また、さくっと消せないようになってるビルドインプラグインも、手動で頑張れば消せなくはないです。ですが、そこまでやるくらいなら、Platformに自分でJDTや必要なプラグインを導入した方が捗ると思うので、きっちりかっちり開発環境を整えたいのであれば、Platform版をおすすめしておきます。
もちろん、不要なプラグインが入っていて、いらないツールバーや設定があっても気にしないのであれば、Java版をそのまま使うこともできます。多くの人は、多分そうしている気がします。
もしあなたのコンピューターがロースペックであれば、Pleiades無しのEclipseを、選択肢に含めてもいいかもしれません。
Pleiadesは、比較的重たい処理を挟む(動的に日本語翻訳を行う)プラグインなので、ロースペック環境では、パフォーマンスに影響してくるかもしれません(比べた事はないです)。Pleiadesを使わない場合、日本語化されなくなり、JavaDocの日本語化などもなくなりますが、英語に抵抗がなければ、ありかも?
(静的ファイルによる部分的な日本語化方法もあるらしいですが、詳しく知らないので省略します)
日本語化しない場合について補足
Pleiadesの場合でも、dropinsフォルダーからPleiadesプラグイン本体を削除しちゃえば、日本語化されなくなります。また、eclipse.iniを編集し、一時的に無効化することもできるみたいです。公式のEclipseを落としてくる場合は、そこから英語と戦うことになるので、それが辛い場合はPleiadesを落としてきて、Pleiadesを削除して使う手もあります。やったことないですが。
Pleiades Java版の導入手順
- Pleiadesの4.3のJava版をダウンロード。
- 不要なdropinのプラグインを削除
2はお好みで。
Pleiadesダウンロード
mergedocからダウンロードしてきます。
32Bit版か64Bit版かは、自分のOSに合わせてください。Window環境であれば、ショートカット「win
+page break
(右上の方のキー)」か、コンピューター(もしくはマイコンピュータ)を右クリックし、プロパティを選び、「システムの種類」を確認すればわかります。
FullEditionとStandardEditionの違いは、いろいろおまけがついてくるかの違いです。差がわからない人はFullを選んで、いらないものは(Tomcatなど)削除しちゃえばOKです。
削除してもよさそうなdropinプラグイン
参考までに、私見と偏見だけで、Java版のプラグインのうち、Mod開発には要らなさそうなものをピックアップしていきます。
削除方法については、pleiadesのサイトのダウンロードのページの下のほうなんかを見てください。つっても、基本的にdropinsフォルダーから削除するだけですが。
MergeDoc(pleiades)だけは、eclipse.iniの修正も必要だと思うので、削除する場合は気を付けてください。
AmaterasERD / AmaterasUML
ER図作ったりUMLの図をGuiで作成する、設計関連のプラグイン。不要なら削除してOK。UMLツールとしては、できることが少なすぎて見た目もしょっぱい感じなので、おしごとでもこいつの出番はそんなに多くなかったりする。
CheckStyle / FindBugs
好ましくないコーディングスタイルや、バグの要因になりやすいコードをチェックし、指摘してくれる。おしごとコーダーにはほぼ必須プラグインだけれど、個人開発ならなくても問題はない。ただし、有効にすることで、勉強になる指摘を得れるかも知れない。不要であれば削除OK。
DBViewer
データベースビューワー。一般的なModdingには不要だと思うので削除してOK。
EclipseRCP
リッチクライアント(GUIでグイグイやる感じのアプリケーションとか)の開発用。ModはMinecraftの上で動くものが殆どなので、まず使わない。削除してダイジョブ。
Limy
特定パラメーターなどへのJavaDocの自動生成や、ヘッダーコメントの一括追加などができる。あってもなくてもって感じなのでお好みで。
NTail
ログファイルビューワー。tail
コマンドっぽく巨大ファイルの末尾側だけ読んだりできる…んだと思う。Mod開発で巨大なログファイルを参照することはそうないので、削除OK。
QuickJUnit
単体テストツール(JUnit)を便利に使えるようにするプラグイン。テストクラス作成や、テストクラスと、テスト対象クラスの移動が簡単にでき、めっちゃ捗る神プラグイン。テストコードを書くことがあれば残しておくべきだけど、テストコードを書くことがないのなら、なくてもOK。
Subversive / SubversiveJDT
Subversion(バージョン管理システムの一種、通称SVN)用のプラグインの一つ。他のプラグインもあるので、入れ替える人もそこそこ居る。必要でなければ削除でOK
そもそも、昨今のバージョン管理の主流はGitになりつつある(偏見補正あり)ので、SVN自体おすすめはしないです。バージョン管理なんてよくわからないって人は、SVNも使わないだろうから、削除してOK。
TomcatLauncher
JavaでWebアプリケーションを作る場合によく利用される、Javaが動くWebサーバー「Tomcat」との連携をしやすくするプラグイン。Moddingでは間違いなく必要ないので削除でOK。
Pleiades Platform版、または素のEclipseの導入
PleiadesのPlatformは、PleiadesのJavaと同じ方法で入手できるので端折ります。
素のEclipseは、公式サイトからダウンロードしてきます。この選択をする人なら自己解決できそうなので詳細は端折ります。
おわったおわった!
JDTとマーケットプレイス・クライアントの導入
そのままではJava開発ができないので、Java開発ツールプラグイン(JDT)を導入します。
また、プラグインを追加するなら、マーケットプレイスが使えないと始まらないです。最近のEclipseはデフォルトでクライアントが付属しなくなっているので、自分で導入します。ただし、Pleiadesならインストール済みだったと思います。
手順
英語でやる人ならわかると思うので、日本語で書きます。英語のままな場合は適せん読み替えてください。
- Eclipseを起動して、メニューからヘルプを選択。
- 新規ソフトウェアのインストール。
- 更新サイトでKeplerを選ぶ。※Eclipseのバージョンにあわせる
- “java”でフィルターし、プログラミング言語グループの「Eclipse Java 開発ツール」を選択。
- “market”でフィルターし、一般用ツールグループの「マーケットプレイス・クライアント」を選択。
- 次へを押して同意してインストール。
終わったらEclipseを再起動、もしくは一旦終了してcleanを指定してから起動すれば、完了です。
入れておいたほうがいいEclipseプラグインとかある?
自分が導入してるやつから適当にピックアップしてみます。名前だけです。マーケットプレイスで検索すれば大抵はヒットするかと思います。
Eclipse Color Theme
テーマを選んで文字色や背景色を一括変更するプラグイン。プラグインで追加された専用エディタなんかだとテーマ変更だけじゃ変わらない場合もあるけど、黒背景勢には割と必須プラグイン。
EGit
GitのGUIクライアント。別のGitのGUIツールを使ってる場合でも、ソース管理にGitを使っているなら入れておいて損はないはず。Eclipse上から編集有無の確認をしたり、差分を確認したりできます。Pullのデフォルト動作の変更(rebaseにする)や、ローカル変更が有る際のpullが簡単で、一括Pushが使いやすいので、通常使いとしても割りとオススメです。(ただnon-ff margeができなかった気がします)
Gradle Integration for Eclipse (GradleIDE)
Forgeも対応したビルドツールGradleを、Eclipse上から便利に使えるようにするプラグイン。プロジェクト構成をGradleプロジェクトに変更し、ちゃんとプラグイン設定をしておけば、build.gradleを編集するだけで最新のForgeに更新したりできるのでおすすめ。
GitHub Flavored Markdown viewer plugin
GitHubで使うREADME.md用のGitHub風ビューワー。GitHubを使うならあって損はしないはず。GitHub風というかHTTP経由でスタイルシートとかもってきて表示してるみたい。使い方は、markdownファイルを開いた状態で、このプラグインで追加されたビューを開くだけ。ただし、関係ないときにビュー開くと、Eclipse側にエラーが出るのがちょっとうざい。
Markdown Text Editor
markdownエディタ。上と合わせてGitHubのREADME.mdを編集する用。
YEdit
YAMLエディタ。ちょいちょい出てくる設定ファイルなどで使えるので、いれといた。
Eclipse Json Editor
JSONエディタ。同上。
プロパティエディタ
日本語使う事考えるとやっぱ入れておいたほうがいいのかなと思って追加。プロパティファイル自体、最近のModdingじゃあまり使わないようになるかもしれないけれど。
Groovy Eclipse Plugin
build.gradle編集用に、Groovyに対応したエディターが欲しかったので追加。マーケットプレイスにEclipse4.3用が見当たらなかったので、手動で更新サイトを追加してインストールしました。
Any Edit Tools
キャメルケースとスネークケースの変換や、大文字小文字変換、改行コードの一括変換など、リファクタリング時や、コード整理などで便利な機能が用意されてるので、地味に有用。前は入れてあるだけって感じだったけど、最近機能に気づいてよく使うようになった。
Quick JUnit
JUnitを便利に使えるようにするプラグイン。Ctrl+9でテストターゲットクラスとテストクラスの移動が便利。Mod作成でテスト書くかはわからないけれど、後学のためって感じで。
JMockit Eclipse Plug-in
テスト用のモックツールJMockitを使いやすくするプラグイン。JMockit使う場合の起動構成の引数を書かなくてもよくなるので、Mockテストを書く機会があればかなり有用。テストコード自体を書くかは不明だけど、勉強のために少しやるかもなので、とりあえず入れといたって感じ。
CheckStyle / FindBugs
後学のためには、あっても損しないと思います。ニアミス回避にもなるかも。
Eclipseの使い方わかんないよ!
ぐぐって、どうぞ。
左側のパッケージエクスプローラーが、ファイルの一覧みたいなものです。ドットファイルなどは自動的にフィルターされ、ソースフォルダーなど、特別なフォルダーの表示方法が変わったりします。また、Eclipse内だけで有効な、シンボリックリンク(リンクフォルダー)を作成したりもできます。
プロジェクトエクスプローラーの場合も大体同じですが、表示内容が多少違います(違いは自分で感じて)。個人的にはパッケージエクスプローラーのほうが使いやすいと思うので、プロジェクトエクスプローラーは殆ど使ってないです。このビューが表示されていなければ、ウィンドウ→ビューの表示から追加してください。(その他のビューもここから追加が出来ます)
右上の方にあるのが、パースペクティブの切り替えボタンです。Java開発用、デバッグ用、リポジトリ管理用などがあり、切り替えて使います。パースペクティブを切り替えることで、ツールバーやビューを一括で変更できるので、シーンに合わせて使い分けをして行く感じです。プラグインや開発ツールが、デフォ設定としてパースペクティブを何パターンか用意してくれるので、自分で0から作ることはあんまりなく、元からあるのを自分の使いやすいようにカスタマイズして、使っていきます。
ツールバーの、緑色の三角ボタンと、緑色の虫のボタンが、実行とデバッグ実行のボタンです。作ったModを動作させる場合、ここから起動してあげます。起動構成を編集することで、複数のModを同時に動かしたりも出来ます。
デバッグ実行は、デバッガーを接続した状態で実行してくれます。デバッガーってのは、任意のコードがよばれた際に、処理を中断できる「ブレークポイント」を設定したり、ブレーク中に変数の値を直接書き換えたりすることができる、動作確認やテストを行うためのツールで、ぶっちゃけコレがないと開発なんぞやってられない、って代物です。
ものすごくさわりだけ説明すると、こんな感じです。あとは触りながら調べていってください。
IDEはできることが多いので、何ができるか覚えるまでが遠いですが、手作業でやるのは面倒だなって思うことの大半は、どうにかすればIDEで簡単に出来ます。例えば、クラス名の一括変更とか、参照元検索とか、親クラスや子クラスの一覧を表示したりとかは、簡単に行えます。また、そのままでは出来なくても、誰かが作ったプラグインがあったりもします。手探りしつつがんばってください。
Eclipseプラグインはまだいろいろ試してないので、今後も追加や削除などをしていきながら検討していこうかと思ってます。
っていうかいい加減環境おちつけて開発にシフトしてかないと冬休み終わっちゃうネ。ヤバーイ。