LiteLoader導入手順

提供:Minecraft Modding Wiki
移動: 案内, 検索

このページは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 から抜粋し翻訳しています。

  1. Eclipseのインストール
    • 省略します。
    • 以下、Eclipse/Lunaが日本語化されていることを前提として説明します。
  2. Subversive SVNのインストール
    • Eclipseを起動しメニューから「ヘルプ」→「新規ソフトウェアのインストール...」をクリック
    • 表示された画面の「作業対象」のコンボボックスで任意の項目を選択します。
    • フィルター入力の項目に「SVN」または「subversive」と入力します。
    • 「Subversive SVN チーム・プロバイダー」にチェックを入れて「次へ」をクリックします。
    • ライセンスの承諾の受け入れを行うと、ダウンロードとインストールが行われます。
    • しばらくすると、再起動の確認ダイアログが表示されます。「はい」を選ぶとEclipseが再起動します。
    • Eclipseが再起動したら、Subversive SVNのインストールは完了です。
  3. SVN Connectorのインストール
    • Eclipseのメニューから「ウィンドウ」→「設定」をクリック
    • 左側のツリーの「チーム」を選択しその中の「SVN」をクリックすると、Install Connectorダイアログが表示されます。
    • 表示中のリストから、「SVN Kit 1.7.x」を選択し「完了」を押します。
    • ライセンスの承諾の受け入れを行うと、設定画面が閉じ、ダウンロードとインストールが行われます。
    • しばらくすると、再起動の確認ダイアログが表示されます。「はい」を選ぶとまたEclipseが再起動します。
    • Eclipseが再起動したら、SVN Connectorのインストールは完了です。
  4. Minecraft Coder Pack(MCP)の設定
    • MCPをダウンロードし、任意のディレクトリへ展開します。
    • 展開が終わったら、フォルダ内の「decompile.bat」をダブルクリックし、デコンパイルを実行します。
    • 今度はEclipseのメニューから「ファイル」→「ワークスペースの切替」→「その他...」をクリックし
    • 「ワークスペース・ランチャー」ダイアログが表示されたら、「参照」ボタンを押して展開したMCPのディレクトリの「eclipse」フォルダを指定します。
      • このチュートリアルでは「C:\Modding\mcp910-pre1\eclipse」を指定。
    • 「OK」ボタンを押して、「ワークスペース・ランチャー」ダイアログを閉じると、Eclipseが再起動します。
    • 再起動が完了したら、MCPの設定は完了です。
    • もしプロジェクトの所に「!」等が出ている場合
      • LiteLoaderでは、基本的にClientだけなので、Serverはプロジェクトごと削除する
      • プロジェクトを右クリック>ビルド・パス>ビルド・パスの構成で、不足しているライブラリ等がないかチェックする。不足している場合は、自分のMinecraftのデータから持ってくる。
      • このときにMinecraftのクライアントが起動できるか確認しておく。起動できない場合はもう一度MCPをやり直してみると良い。
      • ※もし元のワークスペースを開きたい場合は、「ファイル」→「ワークスペースの切替」から切り替えて下さい。
  5. 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ソースの取得は完了です。
  6. 実行構成の追加
    • Eclipseのメニューから「実行」→「実行構成...」をクリック
    • 実行構成ダイアログの右側の「クラスパス」タブを選択
    • 下のツリーから「ユーザー・エントリー」を選択し、右の「プロジェクトの追加...」ボタンを押下
    • 「LiteLoader」にチェックを入れ、「選択されたプロジェクトの必須プロジェクトを追加」のチェックを外し「OK」
    • ダイアログに戻り「適用」ボタンを押して「閉じる」を押してダイアログを閉じます。
    • これで実行構成の追加は完了です。
    • もしLiteLoaderがエラーを出している場合(「!」等のアイコンがプロジェクトに出ている場合。)
      • 基本的にソースがMCPとのマッピングエラーが出ているので、エラー箇所を修正する必要があり。
      • LiteLoaderは親切にエラー箇所に、//TODOが付いている箇所があるので、そのTODO通りにソースを修正する
      • TODO等ついていない場所には、自前で修正する必要がある。
      • このページ下部にも説明有り。そちらも参照
  7. MODの追加方法
    • LiteLoader公式のサンプルModで説明する
    • 上記5の手順で、LiteLoader***のtrunkではなく、ExampleMod***のtrunkを入手する。
    • その後上記6の手順で、実行の構成に、入手したExampleModのプロジェクトを追加する。
  8. 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環境の設定は完了です。
  9. デコンパイルソースの除外設定(オプション)
    • EclipseのパッケージからMCPからインポートした「Client」プロジェクトを選択し右クリック
    • コンテキストメニューから「プロパティー」をクリック
    • 「Javaコンパイラー」→「エラー/警告」を選択、右上の「プロジェクト固有の設定を可能にする」にチェック→確認ダイアログが出たら「OK」
    • そして以下の手順を行う
      • 「潜在的なプログラミングの問題」
        • 「switch文のcaseのフォールスルー」→「警告」
      • 「使用するべきではない制限された API」
        • 「使用すべきではない API」→「警告」
      • 「不要なコード」
        • 「未使用のprivateメンバー」→「警告」
        • 「不要なキャストまやは'instanceof'操作」→「警告」
      • 「総称型」
        • 「未検査の総称型操作」→「警告」
        • 「raw型の使用」→「警告」
      • 「注釈」
        • 「'@Override'注釈の欠落」→「エラー」
        • 「'@Deprecated'注釈の欠落」→「警告」
    • これで除外設定の完了です。
  10. 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」をクリックし設定ウィンドウを閉じます。
  11. 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)
チュートリアル
個人用ツール