(一行コメント) |
細 (書く場所を誤りを修正) |
||
(3人の利用者による、間の3版が非表示) | |||
6行目: | 6行目: | ||
クライアント側の処理に特化しており、HUDやGUIなどに有用なイベントをフックするListenerクラスが多数用意されています。<br> | クライアント側の処理に特化しており、HUDやGUIなどに有用なイベントをフックするListenerクラスが多数用意されています。<br> | ||
また、クライアント側の処理ならば、任意のメソッドをフックし独自のイベントを作ることもできます。<br> | また、クライアント側の処理ならば、任意のメソッドをフックし独自のイベントを作ることもできます。<br> | ||
+ | ※ユーザーイベントの挿入はForgeかFMLがインストールされた環境に限ります。<br> | ||
<br> | <br> | ||
以下の特性を理解して制作して下さい。<br> | 以下の特性を理解して制作して下さい。<br> | ||
19行目: | 20行目: | ||
<br> | <br> | ||
==開発環境の導入== | ==開発環境の導入== | ||
+ | ===通常の方法=== | ||
公式ホームページのhttps://www.assembla.com/spaces/liteloader/wiki/Tutorial から抜粋し翻訳しています。<br> | 公式ホームページのhttps://www.assembla.com/spaces/liteloader/wiki/Tutorial から抜粋し翻訳しています。<br> | ||
#'''Eclipseのインストール''' | #'''Eclipseのインストール''' | ||
50行目: | 52行目: | ||
#*「OK」ボタンを押して、「ワークスペース・ランチャー」ダイアログを閉じると、Eclipseが再起動します。 | #*「OK」ボタンを押して、「ワークスペース・ランチャー」ダイアログを閉じると、Eclipseが再起動します。 | ||
#*再起動が完了したら、MCPの設定は完了です。 | #*再起動が完了したら、MCPの設定は完了です。 | ||
+ | #*もしプロジェクトの所に「!」等が出ている場合 | ||
+ | #**LiteLoaderでは、基本的にClientだけなので、Serverはプロジェクトごと削除する | ||
+ | #**プロジェクトを右クリック>ビルド・パス>ビルド・パスの構成で、不足しているライブラリ等がないかチェックする。不足している場合は、自分のMinecraftのデータから持ってくる。 | ||
+ | #**このときにMinecraftのクライアントが起動できるか確認しておく。起動できない場合はもう一度MCPをやり直してみると良い。 | ||
#**※もし元のワークスペースを開きたい場合は、「ファイル」→「ワークスペースの切替」から切り替えて下さい。 | #**※もし元のワークスペースを開きたい場合は、「ファイル」→「ワークスペースの切替」から切り替えて下さい。 | ||
#'''LiteLoaderソースの取得''' | #'''LiteLoaderソースの取得''' | ||
58行目: | 64行目: | ||
#*「ラベル」→「カスタム・ラベルを使用する」にチェック、テキストボックスに「LiteLoader」と入力し「次へ」をクリック | #*「ラベル」→「カスタム・ラベルを使用する」にチェック、テキストボックスに「LiteLoader」と入力し「次へ」をクリック | ||
#*「リソースの選択」画面で「参照...」ボタンを押して任意のリビジョンを選択します。 | #*「リソースの選択」画面で「参照...」ボタンを押して任意のリビジョンを選択します。 | ||
− | #**このチュートリアルではMinecraft1. | + | #**このチュートリアルではMinecraft1.8の「LiteLoader330」を選択します。(LiteLoader***の子の「trunk ***」を選択してOKを押せば良い) |
#**Minecraft1.7.10の場合は「branches xxx」の中の「1.7.10 xxx」を選択 | #**Minecraft1.7.10の場合は「branches xxx」の中の「1.7.10 xxx」を選択 | ||
#**それ以前の場合は「tags xxx」の中の任意のリビジョンを選択して下さい。 | #**それ以前の場合は「tags xxx」の中の任意のリビジョンを選択して下さい。 | ||
70行目: | 76行目: | ||
#*ダイアログに戻り「適用」ボタンを押して「閉じる」を押してダイアログを閉じます。 | #*ダイアログに戻り「適用」ボタンを押して「閉じる」を押してダイアログを閉じます。 | ||
#*これで実行構成の追加は完了です。 | #*これで実行構成の追加は完了です。 | ||
− | #'''JDK環境の設定''' | + | #*もしLiteLoaderがエラーを出している場合(「!」等のアイコンがプロジェクトに出ている場合。) |
+ | #**基本的にソースがMCPとのマッピングエラーが出ているので、エラー箇所を修正する必要があり。 | ||
+ | #**LiteLoaderは親切にエラー箇所に、//TODOが付いている箇所があるので、そのTODO通りにソースを修正する | ||
+ | #**TODO等ついていない場所には、自前で修正する必要がある。 | ||
+ | #**このページ下部にも説明有り。そちらも参照 | ||
+ | #'''MODの追加方法''' | ||
+ | #*LiteLoader公式のサンプルModで説明する | ||
+ | #*上記5の手順で、LiteLoader***のtrunkではなく、ExampleMod***のtrunkを入手する。 | ||
+ | #*その後上記6の手順で、実行の構成に、入手したExampleModのプロジェクトを追加する。 | ||
+ | #* | ||
+ | #'''JDK環境の設定'''(オプション) | ||
#*※ほとんどの方はJava7を利用していると思いますが、開発環境としてはベストな環境ではありません。 | #*※ほとんどの方はJava7を利用していると思いますが、開発環境としてはベストな環境ではありません。 | ||
#*※まだJava7が安定していない事と、いまだにJava7に対応していない環境(MacOSなど)が多く存在する為、デベロッパはJava6を使用するべきです。 | #*※まだJava7が安定していない事と、いまだにJava7に対応していない環境(MacOSなど)が多く存在する為、デベロッパはJava6を使用するべきです。 | ||
87行目: | 103行目: | ||
#**スプレッドシートに追加された「jre6」にチェックを入れ「OK」 | #**スプレッドシートに追加された「jre6」にチェックを入れ「OK」 | ||
#*これで JDK環境の設定は完了です。 | #*これで JDK環境の設定は完了です。 | ||
− | #'''デコンパイルソースの除外設定''' | + | #'''デコンパイルソースの除外設定'''(オプション) |
#*EclipseのパッケージからMCPからインポートした「Client」プロジェクトを選択し右クリック | #*EclipseのパッケージからMCPからインポートした「Client」プロジェクトを選択し右クリック | ||
#*コンテキストメニューから「プロパティー」をクリック | #*コンテキストメニューから「プロパティー」をクリック | ||
106行目: | 122行目: | ||
#***「'@Deprecated'注釈の欠落」→「警告」 | #***「'@Deprecated'注釈の欠落」→「警告」 | ||
#*これで除外設定の完了です。 | #*これで除外設定の完了です。 | ||
− | #'''EclipseへのOpenGLの静的参照の設定''' | + | #'''EclipseへのOpenGLの静的参照の設定'''(オプション) |
#*Eclipseのメニューから「ウィンドウ」→「設定」をクリック | #*Eclipseのメニューから「ウィンドウ」→「設定」をクリック | ||
#*左側のツリーから「Java」→「エディター」→「コンテンツ・アシスト」→「お気に入り」を選択 | #*左側のツリーから「Java」→「エディター」→「コンテンツ・アシスト」→「お気に入り」を選択 | ||
120行目: | 136行目: | ||
#*「.*に必要な静的インポート数」に「1」を記入 | #*「.*に必要な静的インポート数」に「1」を記入 | ||
#*「OK」をクリックし設定ウィンドウを閉じます。 | #*「OK」をクリックし設定ウィンドウを閉じます。 | ||
− | #'''EclipseがSVNからプレーンテキストとしてJavaファイルをコミットするのを禁止させる''' | + | #'''EclipseがSVNからプレーンテキストとしてJavaファイルをコミットするのを禁止させる'''(オプション) |
#*Eclipseのメニューから「ウィンドウ」→「設定」をクリック | #*Eclipseのメニューから「ウィンドウ」→「設定」をクリック | ||
#*左側のツリーから「チーム」→「SVN」→「プロパティ構成」を選択 | #*左側のツリーから「チーム」→「SVN」→「プロパティ構成」を選択 | ||
134行目: | 150行目: | ||
この場合は手作業で修正するか、数が多い場合はMCPのconfigフォルダ内の methods.csv fields.csv へ追記を行い、<br> | この場合は手作業で修正するか、数が多い場合はMCPのconfigフォルダ内の methods.csv fields.csv へ追記を行い、<br> | ||
再度 cleanup.bat → decompile.bat を行って下さい。<br> | 再度 cleanup.bat → decompile.bat を行って下さい。<br> | ||
+ | |||
+ | ===ForgeGradleを使った方法=== | ||
+ | [[MinecraftForge導入手順]]を読んでいることを前提とします。また、Minecraftのバージョンは1.7.10を想定しています。 | ||
+ | ====LiteLoaderPlugin==== | ||
+ | ForgeGradleは[https://github.com/MinecraftForge/ForgeGradle/issues/71 LiteLoaderをサポートしている。] | ||
+ | LiteLoaderPluginを使うにはbuild.gradleに以下の追記をする。 | ||
+ | <source lang="groovy"> | ||
+ | apply plugin: 'liteloader' | ||
+ | </source> | ||
+ | LiteLoaderのみを使う場合には以下の様にする。 | ||
+ | <source lang="groovy"> | ||
+ | //apply plugin: 'forge' | ||
+ | apply plugin: 'liteloader' | ||
+ | |||
+ | minecraft { | ||
+ | version = "1.7.10"//Minecraftのバージョンを記入 | ||
+ | </source> | ||
+ | ====LiteLoaderのバージョン==== | ||
+ | ForgeGradleはLiteLoaderのバージョンチェックにhttp://dl.liteloader.com/versions/versions.json を使っている。詳しくは[https://github.com/MinecraftForge/ForgeGradle/blob/1f891fb6e48c1eb86da74bd0c0b2ec789e30a866/src/main/java/net/minecraftforge/gradle/user/lib/LiteLoaderPlugin.java#L53 ここ]とか[https://github.com/MinecraftForge/ForgeGradle/blob/1f891fb6e48c1eb86da74bd0c0b2ec789e30a866/src/main/java/net/minecraftforge/gradle/json/LiteLoaderJson.java ここ]ら辺を参照。 | ||
+ | *build.gradle の minecraft.version に対応したlatestが使われる。 | ||
+ | *LiteLoaderの新しいバージョンがリリースされても、versions.jsonがすぐに更新されるとは限らない。 | ||
+ | **versions.jsonが更新されない限り新しいバージョンでの開発はできない。 | ||
+ | ====新しく追加されるタスク==== | ||
+ | *jarLiteloader | ||
+ | **jarタスクのそれと同じように、出力されるlitemodファイルについての処理を行う。 | ||
+ | <source lang="groovy"> | ||
+ | jarLiteloader { | ||
+ | classifier = ''//classifierを付けない | ||
+ | exclude 'mcmod.info'//mcmod.infoを取り除く | ||
+ | } | ||
+ | </source> | ||
----- | ----- | ||
<comments /> | <comments /> | ||
---- | ---- | ||
* とりあえず、導入手順をまとめました。 --[[利用者:Pneuma|Pneuma]] 2014年11月11日 (火) 11:40 (JST) | * とりあえず、導入手順をまとめました。 --[[利用者:Pneuma|Pneuma]] 2014年11月11日 (火) 11:40 (JST) |
2014年11月16日 (日) 21:11時点における最新版
このページはLiteLoader( https://www.assembla.com/spaces/liteloader/ )の導入方法について記載します。
目次
LiteLoaderについて[編集]
LiteLoaderはForgeと同じようにModファイルの読込み機能を搭載した前提Modです。
クライアント側の処理に特化しており、HUDやGUIなどに有用なイベントをフックするListenerクラスが多数用意されています。
また、クライアント側の処理ならば、任意のメソッドをフックし独自のイベントを作ることもできます。
※ユーザーイベントの挿入はForgeかFMLがインストールされた環境に限ります。
以下の特性を理解して制作して下さい。
LiteLoaderにできること
- 画面に関するイベントのフック
- チャット受信時のフック
- クライアント側で取得できる情報の処理
LiteLoaderにできないこと
- 新規にブロックを追加するなどのサーバー側の処理の追加や変更
- ASMを利用した既存クラスの任意の書き換え
開発環境の導入[編集]
通常の方法[編集]
公式ホームページのhttps://www.assembla.com/spaces/liteloader/wiki/Tutorial から抜粋し翻訳しています。
- Eclipseのインストール
- 省略します。
- 以下、Eclipse/Lunaが日本語化されていることを前提として説明します。
- Subversive SVNのインストール
- Eclipseを起動しメニューから「ヘルプ」→「新規ソフトウェアのインストール...」をクリック
- 表示された画面の「作業対象」のコンボボックスで任意の項目を選択します。
- もしEclipseのバージョンが「Luna」なら「 Luna - http://download.eclipse.org/releases/Luna 」を選択します。
- フィルター入力の項目に「SVN」または「subversive」と入力します。
- 「Subversive SVN チーム・プロバイダー」にチェックを入れて「次へ」をクリックします。
- ライセンスの承諾の受け入れを行うと、ダウンロードとインストールが行われます。
- しばらくすると、再起動の確認ダイアログが表示されます。「はい」を選ぶとEclipseが再起動します。
- Eclipseが再起動したら、Subversive SVNのインストールは完了です。
- SVN Connectorのインストール
- Eclipseのメニューから「ウィンドウ」→「設定」をクリック
- 左側のツリーの「チーム」を選択しその中の「SVN」をクリックすると、Install Connectorダイアログが表示されます。
- 表示中のリストから、「SVN Kit 1.7.x」を選択し「完了」を押します。
- ライセンスの承諾の受け入れを行うと、設定画面が閉じ、ダウンロードとインストールが行われます。
- しばらくすると、再起動の確認ダイアログが表示されます。「はい」を選ぶとまたEclipseが再起動します。
- Eclipseが再起動したら、SVN Connectorのインストールは完了です。
- Minecraft Coder Pack(MCP)の設定
- MCPをダウンロードし、任意のディレクトリへ展開します。
- ダウンロードサイトhttp://mcp.ocean-labs.de/download.php からMinecraftのバージョンに対応したファイルをダウンロードできます。
- このチュートリアルではMinecraft1.8用MCPv9.10-pre1( https://twitter.com/SeargeDP/status/517027419103186944 )を使用
- このチュートリアルでは「C:\Modding\mcp910-pre1」に展開
- ダウンロードサイトhttp://mcp.ocean-labs.de/download.php からMinecraftのバージョンに対応したファイルをダウンロードできます。
- 展開が終わったら、フォルダ内の「decompile.bat」をダブルクリックし、デコンパイルを実行します。
- 今度はEclipseのメニューから「ファイル」→「ワークスペースの切替」→「その他...」をクリックし
- 「ワークスペース・ランチャー」ダイアログが表示されたら、「参照」ボタンを押して展開したMCPのディレクトリの「eclipse」フォルダを指定します。
- このチュートリアルでは「C:\Modding\mcp910-pre1\eclipse」を指定。
- 「OK」ボタンを押して、「ワークスペース・ランチャー」ダイアログを閉じると、Eclipseが再起動します。
- 再起動が完了したら、MCPの設定は完了です。
- もしプロジェクトの所に「!」等が出ている場合
- LiteLoaderでは、基本的にClientだけなので、Serverはプロジェクトごと削除する
- プロジェクトを右クリック>ビルド・パス>ビルド・パスの構成で、不足しているライブラリ等がないかチェックする。不足している場合は、自分のMinecraftのデータから持ってくる。
- このときにMinecraftのクライアントが起動できるか確認しておく。起動できない場合はもう一度MCPをやり直してみると良い。
- ※もし元のワークスペースを開きたい場合は、「ファイル」→「ワークスペースの切替」から切り替えて下さい。
- MCPをダウンロードし、任意のディレクトリへ展開します。
- LiteLoaderソースの取得
- Eclipseのメニューから「ファイル」→「インポート...」をクリック
- ツリーの中から「SVN」→「SVNからプロジェクト」を選択し「次へ」をクリック
- 「SVNリポジトリからプロジェクトをチェックアウト」画面で「新しいリポジトリー・ロケーションを作成」をチェックし「次へ」をクリック
- 「リポジトリー・ロケーション情報の入力」画面で「一般」タブのURLへ「 https://subversion.assembla.com/svn/liteloader/ 」を入力します。
- 「ラベル」→「カスタム・ラベルを使用する」にチェック、テキストボックスに「LiteLoader」と入力し「次へ」をクリック
- 「リソースの選択」画面で「参照...」ボタンを押して任意のリビジョンを選択します。
- このチュートリアルではMinecraft1.8の「LiteLoader330」を選択します。(LiteLoader***の子の「trunk ***」を選択してOKを押せば良い)
- Minecraft1.7.10の場合は「branches xxx」の中の「1.7.10 xxx」を選択
- それ以前の場合は「tags xxx」の中の任意のリビジョンを選択して下さい。
- 「完了」ボタンを押し、しばらくすると「別名チェックアウト」ダイアログが表示されますので、もう一度「完了」を押します。
- チェックアウト処理が終わったら、LiteLoaderソースの取得は完了です。
- 実行構成の追加
- Eclipseのメニューから「実行」→「実行構成...」をクリック
- 実行構成ダイアログの右側の「クラスパス」タブを選択
- 下のツリーから「ユーザー・エントリー」を選択し、右の「プロジェクトの追加...」ボタンを押下
- 「LiteLoader」にチェックを入れ、「選択されたプロジェクトの必須プロジェクトを追加」のチェックを外し「OK」
- ダイアログに戻り「適用」ボタンを押して「閉じる」を押してダイアログを閉じます。
- これで実行構成の追加は完了です。
- もしLiteLoaderがエラーを出している場合(「!」等のアイコンがプロジェクトに出ている場合。)
- 基本的にソースがMCPとのマッピングエラーが出ているので、エラー箇所を修正する必要があり。
- LiteLoaderは親切にエラー箇所に、//TODOが付いている箇所があるので、そのTODO通りにソースを修正する
- TODO等ついていない場所には、自前で修正する必要がある。
- このページ下部にも説明有り。そちらも参照
- MODの追加方法
- LiteLoader公式のサンプルModで説明する
- 上記5の手順で、LiteLoader***のtrunkではなく、ExampleMod***のtrunkを入手する。
- その後上記6の手順で、実行の構成に、入手したExampleModのプロジェクトを追加する。
- JDK環境の設定(オプション)
- ※ほとんどの方はJava7を利用していると思いますが、開発環境としてはベストな環境ではありません。
- ※まだJava7が安定していない事と、いまだにJava7に対応していない環境(MacOSなど)が多く存在する為、デベロッパはJava6を使用するべきです。
- 上記とおり、作者が推奨しているのはJDK 6ですが、どうしても嫌ならばJDK 7でも制作は可能です。
- JDK 6 のダウンロードとインストール
- EclipseにJDK 6 を設定する
- JDK 6のインストールが完了したら、Eclipseのメニューから「ウィンドウ」→「設定」をクリック
- ツリーで「Java」→「インストール済みのJRE」を選択
- 右の「追加」ボタンを押し「JREの追加」ダイアログを開く
- 「標準 VM」を選択し「次へ」
- 「JREホーム」の右の「ディレクトリー」ボタンを押して「JDK 6」のインストールパスを指定します。(JRE 6ではないので注意)
- チュートリアルでは「C:\Program Files\Java\jdk1.6.0_45」を指定します。
- 「JRE名」のテキストボックスに「jre6」と書いて「完了」
- スプレッドシートに追加された「jre6」にチェックを入れ「OK」
- これで JDK環境の設定は完了です。
- デコンパイルソースの除外設定(オプション)
- EclipseのパッケージからMCPからインポートした「Client」プロジェクトを選択し右クリック
- コンテキストメニューから「プロパティー」をクリック
- 「Javaコンパイラー」→「エラー/警告」を選択、右上の「プロジェクト固有の設定を可能にする」にチェック→確認ダイアログが出たら「OK」
- そして以下の手順を行う
- 「潜在的なプログラミングの問題」
- 「switch文のcaseのフォールスルー」→「警告」
- 「使用するべきではない制限された API」
- 「使用すべきではない API」→「警告」
- 「不要なコード」
- 「未使用のprivateメンバー」→「警告」
- 「不要なキャストまやは'instanceof'操作」→「警告」
- 「総称型」
- 「未検査の総称型操作」→「警告」
- 「raw型の使用」→「警告」
- 「注釈」
- 「'@Override'注釈の欠落」→「エラー」
- 「'@Deprecated'注釈の欠落」→「警告」
- 「潜在的なプログラミングの問題」
- これで除外設定の完了です。
- EclipseへのOpenGLの静的参照の設定(オプション)
- Eclipseのメニューから「ウィンドウ」→「設定」をクリック
- 左側のツリーから「Java」→「エディター」→「コンテンツ・アシスト」→「お気に入り」を選択
- 右の「新規タイプ」ボタンを押下
- 以下のテキストをすべて追加します。「org.lwjgl.opengl.GL11.*」と表示されればOK」
- 「org.lwjgl.opengl.GL11」
- 「org.lwjgl.opengl.GL12」
- 「org.lwjgl.opengl.GL13」
- 「org.lwjgl.opengl.GL14」
- 「org.lwjgl.opengl.GL15」
- 「org.lwjgl.util.glu.GLU」
- 次に、左側のメニューから「コード・スタイル」→「インポートの編成」を選択
- 「.*に必要な静的インポート数」に「1」を記入
- 「OK」をクリックし設定ウィンドウを閉じます。
- EclipseがSVNからプレーンテキストとしてJavaファイルをコミットするのを禁止させる(オプション)
- Eclipseのメニューから「ウィンドウ」→「設定」をクリック
- 左側のツリーから「チーム」→「SVN」→「プロパティ構成」を選択
- 右の「追加」ボタンを押下
- 「ファイル名テンプレート」に「*.java」を記入
- 「プロパティ」に「svn:mime-type=text/x-java」を記入
- 「OK」ボタン押下
- 「OK」ボタンで設定ウィンドウを閉じます。
以上でチュートリアルは終わりです。
しかし、このままではコンパイルが通らない場合があります。
原因として、MCPのリビジョンが違っており、デコンパイルソースへの易読化が 進んでいる or なされていない。などの理由がありますので
この場合は手作業で修正するか、数が多い場合はMCPのconfigフォルダ内の methods.csv fields.csv へ追記を行い、
再度 cleanup.bat → decompile.bat を行って下さい。
ForgeGradleを使った方法[編集]
MinecraftForge導入手順を読んでいることを前提とします。また、Minecraftのバージョンは1.7.10を想定しています。
LiteLoaderPlugin[編集]
ForgeGradleはLiteLoaderをサポートしている。 LiteLoaderPluginを使うにはbuild.gradleに以下の追記をする。
apply plugin: 'liteloader'
LiteLoaderのみを使う場合には以下の様にする。
//apply plugin: 'forge' apply plugin: 'liteloader' minecraft { version = "1.7.10"//Minecraftのバージョンを記入
LiteLoaderのバージョン[編集]
ForgeGradleはLiteLoaderのバージョンチェックにhttp://dl.liteloader.com/versions/versions.json を使っている。詳しくはこことかここら辺を参照。
- build.gradle の minecraft.version に対応したlatestが使われる。
- LiteLoaderの新しいバージョンがリリースされても、versions.jsonがすぐに更新されるとは限らない。
- versions.jsonが更新されない限り新しいバージョンでの開発はできない。
新しく追加されるタスク[編集]
- jarLiteloader
- jarタスクのそれと同じように、出力されるlitemodファイルについての処理を行う。
jarLiteloader { classifier = ''//classifierを付けない exclude 'mcmod.info'//mcmod.infoを取り除く }
- とりあえず、導入手順をまとめました。 --Pneuma 2014年11月11日 (火) 11:40 (JST)
コメントの自動更新を有効化