killistさんノート

killistさんの記録帖

RSS 2.0

MinecraftのMod開発環境構築

Minecraftは、簡素なポリゴンとテクスチャでできた世界で、採掘と建造を行うゲームです。
一人でローカルでプレイすることも、ワールドをサーバとして公開してマルチで遊ぶことも可能です。

動作プラットフォームとしては、Windows、Macintosh、Linux、XBOX、Playstationなど多様なものがあります。

さて、Minecraftでは、MODを使用したプレイも頻繁に行われており、またMODの開発が広く一般のユーザの間でも行われています。

今回はこのMinecraftのMOD製作に手を出してみようというわけです。

まず、開発環境の構築。

MinecraftはJavaによって書かれています。
MODの製作も基本的にはJavaによって行われることになります。

今回環境としてそろえるものは以下。

  1. Java
  2. Eclipse
  3. MCP
  4. Minecraft自体

じゃ、適当に順不同に。
平野レミじゃないですが、調理の手間をできるだけ簡単に済ませたい思いがあります。

今回使用する材料にEclipseがありますが、これは開発環境(あるいはIDE)と呼ばれるものです。
ざっくり言うと、メモ帳のすごい版です。ですが困った点があって、それは英語版しかないことです。
しかし、便利な世の中です。Eclipseを日本語に翻訳するプロジェクトがあり、日本語化されたEclipseがあります。
このプロジェクトはPleiadesといいます。
リンクされたURLを開くと、左カラムになんだか色々メニューがあって、画面上部にボタンがいろいろ並んでいます。
今回はこのボタンの、「Eclipse 4.4 Luna Pleiades All in One」というのを選びます。
「All in One」という響きがいいですね。「全部入り」です。
ただし、本当に全部入りのもの(UltimateのFull Edition)を選ぶと、ファイルサイズが半端無いので、適当に必要そうなものだけ入っているものにしましょう。
今回はJavaの64bitのFull Editionにしました。(マシンが64bitだからです。)
Pleiadesのすばらしいところは、日本語化されているだけでなく、該当言語の実行環境も入ってるところです。素敵です。
このため、Pleiadesをインストールすることにより、JDKの準備も(最低限は)できたことになります。

Pleiadesのインストール方法は詳細を省きます。
(zipでダウンロードして、Windowsのデフォルトアーカイバで解凍すると良いでしょう。
解凍元、解凍先のファイルパスは、日本語やスペースなどが混じらないようにするとトラブルを未然に防げるかもしれません)
インストール完了時点で、一回起動して、スプラッシュが表示されること、ワークスペースをどこにするか聞かれること(チェックボックスを弄らなければ起動のたびに聞かれますので、適当にOKボタン押して大丈夫です)、その後エディタ画面が表示されることを確認します。(Welcome的な画面とか、Aptanaのデフォルトページとかが表示されるかもしれませんが、それでも問題なし)

で、次。
Minecraft Japan Wiki – Moddingとか、Minecraft Modding Wikiとかを参考に、環境を作りますが、これらのページも「常に最新のバージョンに対応して完璧に記載されている」わけではありません。あたりまえですが。
でも手間はあんまりかけたくないので、できるだけ最新に近い感じのバージョンを適当に選んで環境をつくる、とします。
本記事執筆時点でのMinecraftバージョンは1.8.1ですが、「MinecraftをDecompileして、実行ファイルからソースに戻すソフト」であるMCPがサポートするバージョンとします。
いくつかな。
MCPのダウンロードファイルリストのページにいくと、MCP自体の最新バージョンは9.08、対応するMinecraftのバージョンは1.7.10でした。
このため、今回の開発環境の対象Minecraftバージョンは1.7.10となります。
このMCP 9.08をダウンロードします。

ダウンロードしたMCPを適当なところに解凍します。
(毎度ですが、日本語とか半角スペースを含まない場所。また、フルパスの文字数制限に引っかからないよう、あまり深くない場所に。)
今回のMOD対象Minecraftのバージョンは1.7.10であり、つまり1.6.x以上なので、mcp908\jarsフォルダに以下のようにフォルダをコピーして配置します。

  1. mcp908\jars\assets
  2. mcp908\jars\libraries
  3. mcp908\jars\versions

配置したら、decompile.batを実行。
(Modding Wikiによると、C++が入ってないとエラーが出るとか。今回はとくに出なかった。)
多少時間がかかるものの、無事にデコンパイルは完了しました。
ModLoaderを使うつもりはないので、Modding Wikiにある該当の手順(Step4の4と5)は省きます。
(Forgeは使うべきと思っているけど、またあとで考える。でもプレイ環境に既に入ってるから、対応できてそうな気もするけど。だめかなー?)

一応recompile.batを実行して、「問題なさそう」なことを確認。
(「!! Can not find server sources, try decompiling !!」などといやなメッセージが出るが、ググったらこれは問題ないとのこと。)
中身見ようと思ったけど、Pythonで書かれててよくわからなかった。

それから、最初にインストールしたPleiadesを起動する。
ワークスペースに、MCPを解凍したときにできているフォルダ「mcp908\eclipse」を指定する。
ワークスペースを設定して立ち上がると、Pleiadesは左ペインに該当のパッケージ構造を表示して起動する。
このとき、ぼくの環境ではエラー表示となっていた。
エラー内容を確認すると、プロジェクトに設定されたjarファイルが、一部指定どおりの場所に見つからないとのこと。
このプロジェクトの設定は、MCPに規定で設定されているものっぽいが、なんで見つからなかったりするのかはよくわからない。
実際指定のファイルパスを見ても該当のjarは無いので(authlibのjarと、realmsのjarだった。バージョンは両方失念。)同じディレクトリにある、もうちょい新しいバージョンのjarに設定変更(authlib-1.5.16.jarと、realms-1.6.1.jar)したところ、プロジェクトのエラーは無くなった。

Cliantプロジェクトを指定して、「Javaアプリケーションとして」「Mainクラスで」実行したところ、以下のエラーが表示された。
Exception in thread "main" joptsimple.MissingRequiredOptionException: Missing required option(s) ['userProperties', 'accessToken', 'version']
「Mainクラス」ではなくて「Start」を指定して再度実行して、Minecraftが起動すること、起動後ワールド選択して開始して、操作できることを確認!

さっくり流れで書いたけど、途中何度も躓いたね。バージョン関連とか。
構築方法がバージョンで変わってるとかもいやらしい……。
参考にさせていただいた各記事執筆者の方々、またMCPなどの開発用ツール開発者の方々に深く感謝。

–追記(2014/12/07)
mcp908\jarsにminecraft_server.1.7.10.jarを置くことで、Eclipseに表示されるServerプロジェクトのエラーも消えることを確認。
その後decompile.batを実行し、再度recompile.batすることで、さっきのエラー「!! Can not find server sources, try decompiling !!」が表示されなくなることを確認。

killist


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Category