提供: Minecraft Modding Wiki
移動先: 案内検索
1行目: 1行目:
 
ModLoaderMPとは、マインクラフトのSMP(マルチのこと)に対応させるためのMOD作成・導入補助用のMODです。<br />
 
ModLoaderMPとは、マインクラフトのSMP(マルチのこと)に対応させるためのMOD作成・導入補助用のMODです。<br />
 
基本は、ModLoaderに付随して+α機能が付いていると認識されたほうがいいかもしれません。<br />
 
基本は、ModLoaderに付随して+α機能が付いていると認識されたほうがいいかもしれません。<br />
 
+
前提Modの導入方法は割愛します。<br/>
  
 
※前提としてModLodaerとMCPの利用が可能なこととします。<br />
 
※前提としてModLodaerとMCPの利用が可能なこととします。<br />
 
 
<br />
 
<br />
 
+
==環境構築==
Step1<br />
+
1.MCPフォルダの「Jar」フォルダにminecraft_sever.jarをコピーする。<br />
 MCPフォルダの「Jar」フォルダにminecraft_sever.jarをコピー<br />
+
2.minecraft_server.jarにModLoaderMP(Server版)を導入する。<br />
 minecraft_server.jarにModLoaderMP(Server版)を導入します。<br />
+
3.同「Jar」フォルダにクライアント側の「bin」「resources」フォルダをコピーする。<br />
 また、同「Jar」フォルダにクライアント側の「bin」「resources」フォルダをコピーしておきます。<br />
+
4.のクライアント側のminecraft.jarには必ずクライアント用ModLoader、ModLoaderMPを導入しておきます。<br />
 このクライアント側のminecraft.jarには必ずクライアント用ModLoader、ModLoaderMPを導入しておきます。<br />
 
 
<br />
 
<br />
  
Step2<br />
+
==MCPでの操作==
 ここまで出来たらMCPの「decompile.bat」を動かしましょう。<br />
+
1.MCPの「decompile.bat」を動かす。<br />
 エラーがでますが気にしない。<br />
+
2.エラーがでますが気にしない。<br />
 このままではリコンパイルする際にエラーを吐き出すので、以下/minecraft_server/net/minecraft/serverの<br />
+
3.エラーがでている部分を修正します。
 MinecraftServer.javaソースを編集します。<br />
+
 ソースフォルダの/minecraft_server/net/minecraft/serverのMinecraftServer.javaを編集します。<br />
 <br />
+
Ver1.2.3の場合:515行目から551行目をコメントアウト<br />
 
+
Ver1.1の場合:400~431行目をコメントアウト<br />
 Ver1.2.3<br />
+
Ver1.01の場合:406~437行目をコメントアウト<br />
 515行目から551行目までをコメントアウトの後<br />
+
Ver1.8.1の場合:344~375行目をコメントアウト<br />
 +
末尾に
 
<pre>
 
<pre>
 }
+
}
 
</pre>
 
</pre>
 を追加<br />
+
を入れる。
<br />
+
 
 Ver1.1の場合 400~431行目をコメントアウト<br />
+
==実際のソースの変更部分==
 Ver1.01の場合 406~437行目をコメントアウト<br />
+
 
 Ver1.8.1の場合 344~375行目をコメントアウト<br />
+
==共通==
 他バージョンでも<br />
+
1.worldObj使用時にMCPのMappingデータよります。<br />
<pre>
+
 対象項目としては
 }
 
</pre>
 
 を入れるのを忘れないように。<br />
 
<br />
 
Step3<br />
 
 ①共通<br />
 
  Entity系コンテンツで、worldObjを呼び出している場合<br />
 
  MCPのバージョンとか、CSVファイルによりますがエラーが出ている可能性があります。<br />
 
  対象項目としては<br />
 
 
<pre>
 
<pre>
 
   world.isRemote ←この部分(1.2.3時点では共通項目です)
 
   world.isRemote ←この部分(1.2.3時点では共通項目です)

2012年3月14日 (水) 13:13時点における版

ModLoaderMPとは、マインクラフトのSMP(マルチのこと)に対応させるためのMOD作成・導入補助用のMODです。
基本は、ModLoaderに付随して+α機能が付いていると認識されたほうがいいかもしれません。
前提Modの導入方法は割愛します。

※前提としてModLodaerとMCPの利用が可能なこととします。

環境構築

1.MCPフォルダの「Jar」フォルダにminecraft_sever.jarをコピーする。
2.minecraft_server.jarにModLoaderMP(Server版)を導入する。
3.同「Jar」フォルダにクライアント側の「bin」「resources」フォルダをコピーする。
4.のクライアント側のminecraft.jarには必ずクライアント用ModLoader、ModLoaderMPを導入しておきます。

MCPでの操作

1.MCPの「decompile.bat」を動かす。
2.エラーがでますが気にしない。
3.エラーがでている部分を修正します。  ソースフォルダの/minecraft_server/net/minecraft/serverのMinecraftServer.javaを編集します。
Ver1.2.3の場合:515行目から551行目をコメントアウト
Ver1.1の場合:400~431行目をコメントアウト
Ver1.01の場合:406~437行目をコメントアウト
Ver1.8.1の場合:344~375行目をコメントアウト
末尾に

}

を入れる。

実際のソースの変更部分

共通

1.worldObj使用時にMCPのMappingデータよります。
 対象項目としては

   world.isRemote ←この部分(1.2.3時点では共通項目です)

   古いデータの場合以下のように直します。 

   world.multiplayerWorld //ClientSide
   world.singleplayerWorld  //ServerSide


 また、ModLoaderを継承参照している定義ModLoaderMpに修正します。

   public class mod_*** extends BaseMod


 これを
   public class mod_*** extends BaseModMp


 に修正する。

 ②アイテムを追加する場合
  基本はmod_***に定義されているはずですが、loadメソッド内に以下も付け加えます。
  Client側:

   ModLoaderMp.registerNetClientHandlerEntity(Entity***.clas, netID);

  Server側:

   ModLoaderMp.registerEntityTrackerEntry(Entity***.class, netID);
      ModLoaderMp.registerEntityTracker(Entity***.class, 160, 5);

※netIDは0~256の中で指定すること。
  
 ②Guiを追加してる場合
 ③Modを追加する場合

Step4
 まず、Server側にModel,Render系のclassは必要ありません。
 描画するわけじゃないので
 また、ModLoader.addNameやAddRenderも必要ありません。表示させるわけじゃないですので。
 ここまで出来て文法エラーがない場合、リコンパイルして実行してみましょう。
 あとは調整するのみです。

 参考資料:http://www.minecraftforum.net/topic/352121-smp-mods-modloadermp-modding-310511/