V1.6.2をMCP8.05でデコンパイルするとエラーが出るMinecraftのクライアントMODを作るには、まずMinecraftをデコンパイルし(ソースの形に戻し)、それを改造・コンパイルしなければならない。このデコンパイル・コンパイルの作業に使われるのがMCP。6にしか対応していないと某サイトに書いてあった。6は既に古いバージョンで、Oracleの公式サイトからダウンロードできない。6を配布すると書いてある。そんなサポートは購入していない。7でMCPを動かしてみると以下のとおりエラーが出た。警告:最終パラメータの不正確な引数型を持った可変引数メソッドの非可変引数呼出し。可変引数呼出しに関してはObjectにキャストします。Display注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。警告1個MCPのrecompile.batを実行してコンパイルしようとしても同様のエラーが出る。これではMODを作成できない。...と思ったのだが、自分はMOD製作にEclipseを使っていて、物は試しとEclipseの実行ボタンを押すと、なぜかコンパイルしてクライアントを実行できる。なんでだ?調査してみよう。先に、1個だけでている警告を片付けておく。コンパイラが「可変引数呼出しに関してはObjectにキャストします」と助言してくれているとおりキャストすれば問題は解決する。↓ここに(Object)を追加する。(Object)var13));次に、残る6件のエラーだが、recompile.batもEclipseもきっと同様にjavacを使ってコンパイルしているのだろう...とすると引数が違うのか?と思い、javacの-classpathを比較してみた。org.lwjgl.opengl.Display;」と書いてあったから、lwjglに関する部分に違いがあるに違いない。下は、recompile.batを実行したときに表示されるログのうち、javacの-classpath引数部分を見やすく改行したもの。"jars\versions\1.6.2\1.6.2.jar;lib;lib\*;lib;lib\*;jars\bin\minecraft.jar;jars\bin\jinput.jar;jars\bin\lwjgl.jar;jars\bin\lwjgl_util.jar;jars\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;jars\libraries\org\lwjgl\lwjgl\lwjgl-platform\2.9.0\lwjgl-platform-2.9.0-natives-windows.jar;jars\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;jars\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;jars\libraries\net\java\jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar;jars\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;jars\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;jars\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;jars\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;jars\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;jars\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;jars\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;jars\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;jars\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;jars\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;jars\libraries\com\google\guava\guava\14.0\guava-14.0.jar;jars\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;jars\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar"次の画像は、Eclipseでパッケージの「Client」を右クリックしてプロパティを表示し、コンパイル時に読み込まれるjarファイルの設定画面を撮ったもの。Eclipseでは、lwjglに関するファイルは画像で選択されている3件しかない。lwjgl-platform-2.9.0-natives-windows.jarlwjgl_util-2.9.0.jarlwjgl-2.9.0.jarである。recompile.batが読み込んでいるファイルのうちlwjglに関するものは、6件ある。lwjgl.jarlwjgl_util.jarlwjgl-platform-2.9.0-natives-windows.jarlwjgl_util-2.9.0.jarlwjgl-2.9.0.jarlibrarylwjglopenal-20100824.jarである。この違いが何なのかについて調べるには自分では知識が足らないがとりあえず環境をあわせれば上手くいくかもしれないという直感はあるのでmcp805\jars\のフォルダから、問題のlwjgl.jarとlwjgl_util.jarを消してrecompile.batしてみる。.コンパイルが通った。゚д゚)ポカーン起動も出来てしまった。これでいいのか?わからないけどいいことにしておこう。ついでに、問題の2ファイルを消してからデコンパイルすると、デコンパイル時にエラーが出なくなった。V1.6でランチャーが導入されてフォルダ構成も変わっているようだからひょっとして問題の2つのファイルはいらないファイルなのかもしれない。Minecraftをアンインストールして再インストールしたら綺麗に掃除できるだろうか。恐いからやらないけど。(※lwjgl.jarとlwjgl_util.jarのほかにlibrarylwjglopenal-20100824.jarは消さなくていいのか?と言われそうだが、librarylwjglopenal-20100824.jarの存在はこの記事を書いているときに画像を見直して気づいた。ようするに消さなくても動くようだ。消すのはデータというかファイルだね。MCPのインストールやデコンパイルまでは実行できてますか?MCPのインストールフォルダ(バージョンや設定によるがmcp805とかmc806とかいう名前のフォルダ)の下にjarsというフォルダがあり、その中からlwjgl.jarとlwjgl_util.jarを消せばいいと思いますよ。コンパイルできません。最低限エラーを貼って欲しい(勿論それでも答えられるとは限らない)。いうか、それ以前の問題としてこの記事はJava7でのコンパイルの話だよ。すみませんJava7でも行ったところ同じエラーだったので、Java7ということにしておきます。Forgeとか入れてない?バニラのマインクラフトをMCPに掛けてみたらどうかな。Forge入りならForgeのファイル追加してMCP動かさないとエラーになるとどっかで聞いた覚えがあるよ。うちはただのMCPだけでも専門外でForge入りとなると輪を掛けて専門外なんで、続きは適切なとこで質問してもらえるとよろしいかと。RSS2.0最近のコメントおー、お役に立てたようでなによりです。再起...[9/11]この記事が非常の役立ちました。おかげさまで...[9/9]1.14.2のAPIで試しましたが、MapInitializeEv...[9/9]天晴れ!押したらポーションのモヤモヤでまし...[5/26]習うより慣れろって感じで。記事へのリンクは大歓迎です。連絡不要でご自由に貼ってください。画像や添付ファイルへの直リンクはご遠慮願います。