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

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
7行目: 7行目:
  
 
※前提としてModLodaerとMCPの利用が可能なこととします。<br />
 
※前提としてModLodaerとMCPの利用が可能なこととします。<br />
 
※1.2.3からは「元々ModLoaderMpを開発されていたSDK氏が復活しています。」<br />
 
 また、MinecraftForge側もSDK氏作成のModLoaderMPを参照しているため<br />
 
 1.2.3はSDK氏のModLoaderMPを推奨します。(以前のバージョンは除きます)<br />
 
 
 
<br />
 
<br />
=環境構築=
+
==環境構築==
==事前準備==
 
 
1.MCPフォルダの「Jar」フォルダにminecraft_sever.jarをコピーする。<br />
 
1.MCPフォルダの「Jar」フォルダにminecraft_sever.jarをコピーする。<br />
 
2.minecraft_server.jarにModLoaderMP(Server版)を導入する。<br />
 
2.minecraft_server.jarにModLoaderMP(Server版)を導入する。<br />
21行目: 15行目:
 
<br />
 
<br />
  
==エラーの修正==
+
==MCPでの操作==
MCPの「decompile.bat」を実行します。<br />
+
1.MCPの「decompile.bat」を動かす。<br />
エラーが発生しますが、Decompileには成功しています。<br/>
+
2.エラーがでますが気にしない。<br />
このままコンパイルするとエラーが発生しますので<br/>
+
3.エラーがでている部分を修正します。
MCPROOT/src/minecraft_server/net/minecraft/serverのMinecraftServer.javaを編集します。<br />
+
 ソースフォルダの/minecraft_server/net/minecraft/serverのMinecraftServer.javaを編集します。<br />
====SDK ModLoaderMP v3の場合====
+
Ver1.2.3の場合:515行目から551行目をコメントアウト<br />
517行目をコメントアウト<br />
+
Ver1.1の場合:400~431行目をコメントアウト<br />
534行目から553行目までをコメントアウト<br />
+
Ver1.01の場合:406~437行目をコメントアウト<br />
行数がずれている場合があるので、対象ソースの一部を記載しておきます。
 
run()メソッドの
 
<source lang="java">
 
            finally
 
            {
 
                System.exit(0);
 
            }/*
 
 
 
            break MISSING_BLOCK_LABEL_350;
 
        }
 
 
 
        try
 
        {
 
            stopServer();
 
            serverStopped = true;
 
        }
 
        catch (Throwable throwable)
 
        {
 
            throwable.printStackTrace();
 
        }
 
        finally
 
        {
 
            System.exit(0);
 
        }
 
 
 
        break MISSING_BLOCK_LABEL_350;
 
        Exception exception2;
 
        exception2;
 
 
 
        try
 
        {
 
            stopServer();
 
            serverStopped = true;
 
        }
 
        catch (Throwable throwable3)
 
        {
 
            throwable3.printStackTrace();
 
        }
 
        finally
 
        {
 
            System.exit(0);
 
        }
 
 
 
 
 
        throw exception2;
 
        */
 
        }
 
    }
 
</source>
 
コメントアウトしてある部分が対象です。
 
 
 
===Flan ModLoaderMPの場合===
 
'''Ver1.2.5の場合:519~555行目をコメントアウト'''<br />
 
Ver1.2.3の場合:515~551行目をコメントアウト<br />
 
Ver1.1.0の場合:400~431行目をコメントアウト<br />
 
Ver1.0.1の場合:406~437行目をコメントアウト<br />
 
 
Ver1.8.1の場合:344~375行目をコメントアウト<br />
 
Ver1.8.1の場合:344~375行目をコメントアウト<br />
<br />
 
 
末尾に
 
末尾に
 
<pre>
 
<pre>
93行目: 30行目:
 
を入れる。
 
を入れる。
  
=実際のソースの変更部分=
+
==実際のソースの変更部分==
  
==共通==
+
===共通===
 
1.worldObj使用時にMCPのMappingデータによります。<br />
 
1.worldObj使用時にMCPのMappingデータによります。<br />
 
 対象項目としては
 
 対象項目としては
110行目: 47行目:
 
2.ModLoaderを継承参照している定義ModLoaderMpに修正します。<br />
 
2.ModLoaderを継承参照している定義ModLoaderMpに修正します。<br />
  
<source lang="java">
+
<pre>
 
public class mod_*** extends BaseMod
 
public class mod_*** extends BaseMod
</source>
+
</pre>
  
 
これを<br/>
 
これを<br/>
  
<source lang="java">
+
<pre>
 
public class mod_*** extends BaseModMp
 
public class mod_*** extends BaseModMp
</source>
+
</pre>
 
に修正する。<br />
 
に修正する。<br />
  
==Block,Itemを追加する場合==
+
===Block,Itemを追加する場合===
自作Entity.classを使用してBlock,Itemを追加している場合、
+
Block,Itemを追加している記述部分に以下を付け加えます。<br />
以下の記述部分を付け加えます。<br />
 
※既存EntityのClassファイルを参照する場合は必要ありません。<br />
 
 
Client側:<br />
 
Client側:<br />
<source lang="java">
+
<pre>
 
ModLoaderMp.registerNetClientHandlerEntity(Entity***.clas, netID);
 
ModLoaderMp.registerNetClientHandlerEntity(Entity***.clas, netID);
</source>
+
</pre>
  
 
Server側:<br />
 
Server側:<br />
  
<source lang="java">
+
<pre>
 
ModLoaderMp.registerEntityTrackerEntry(Entity***.class, netID);
 
ModLoaderMp.registerEntityTrackerEntry(Entity***.class, netID);
 
ModLoaderMp.registerEntityTracker(Entity***.class, 160, 5);
 
ModLoaderMp.registerEntityTracker(Entity***.class, 160, 5);
</source>
+
</pre>
  
 
※netIDは0~256の中で指定することとし、Client・Serverで共通であること。<br />
 
※netIDは0~256の中で指定することとし、Client・Serverで共通であること。<br />
141行目: 76行目:
 
 160は任意(だったはず。)5はticksを表しています。<br/>
 
 160は任意(だったはず。)5はticksを表しています。<br/>
  
==Guiを追加する場合==
+
===Guiを追加する場合===
 
※そこまで詳しくないので詳しい人お願いします。<br />
 
※そこまで詳しくないので詳しい人お願いします。<br />
 
SMPのGUIを作るためにはGUIを呼び出すコードをServerに設定し<br />
 
SMPのGUIを作るためにはGUIを呼び出すコードをServerに設定し<br />
149行目: 84行目:
 
大体の場合、Entity,TileEntity,BlockGUI設定場所に設定しているはず。
 
大体の場合、Entity,TileEntity,BlockGUI設定場所に設定しているはず。
  
<source lang="java">
+
<pre>
 
ModLoader.OpenGUI(player, guiID, inventory, container);
 
ModLoader.OpenGUI(player, guiID, inventory, container);
</source>
+
</pre>
  
 
player:GUIを開こうとしているPlayer<br />
 
player:GUIを開こうとしているPlayer<br />
160行目: 95行目:
 
2.Client側に設定処理を追加します。<br />
 
2.Client側に設定処理を追加します。<br />
 
大体の場合mod_***
 
大体の場合mod_***
<source lang="java">
+
<pre>
 
ModLoaderMp.registerGUI(this, guiID);
 
ModLoaderMp.registerGUI(this, guiID);
</source>
+
</pre>
 
また、メソッドを追加します。
 
また、メソッドを追加します。
<source lang="java">
+
<pre>
 
public GuiScreen HandleGUI(int inventoryType)
 
public GuiScreen HandleGUI(int inventoryType)
 
{
 
{
171行目: 106行目:
 
   else return null;
 
   else return null;
 
}
 
}
</source>
+
</pre>
 
Gui***には追加GuiのClass名を指定してください。<br />
 
Gui***には追加GuiのClass名を指定してください。<br />
 
argsはGUIの引数の場所<br />
 
argsはGUIの引数の場所<br />
 
ModLoader.getMinecraftinstance().thePlayer ←これ使うと楽かもしれない。<br />
 
ModLoader.getMinecraftinstance().thePlayer ←これ使うと楽かもしれない。<br />
  
==Mobを追加する場合==
+
===Mobを追加する場合===
 
※そこまで詳しくないので詳しい人お願いします。<br />
 
※そこまで詳しくないので詳しい人お願いします。<br />
 
以下1または2をClientとServer両方に追加します。(EntityIDは一緒にすること)<br />
 
以下1または2をClientとServer両方に追加します。(EntityIDは一緒にすること)<br />
  
 
1.以下行を追加します。
 
1.以下行を追加します。
<source lang="java">
+
<pre>
 
ModLoader.registerEntityID(Entity***.class, "EntityName", ModLoader.getUniqueEntiityID());
 
ModLoader.registerEntityID(Entity***.class, "EntityName", ModLoader.getUniqueEntiityID());
</source> 
+
</pre> 
 
Entity***:対象MobのEntityのclassファイルを指定<br />
 
Entity***:対象MobのEntityのclassファイルを指定<br />
 
"EntityName":対象Mobの名前<br />
 
"EntityName":対象Mobの名前<br />
189行目: 124行目:
  
 
2.上記よりこっちのがオススメかもしれません。
 
2.上記よりこっちのがオススメかもしれません。
<source lang="java">
+
<pre>
 
ModLoader.registerEntityID(Entity***.class, "EntityName", ID);
 
ModLoader.registerEntityID(Entity***.class, "EntityName", ID);
</source>
+
</pre>
 
ID部分はClient,Server共に同じEntityIDを指定して下さい。<br />
 
ID部分はClient,Server共に同じEntityIDを指定して下さい。<br />
 
※EntityIDは0~128までです。<br />
 
※EntityIDは0~128までです。<br />
203行目: 138行目:
  
 
 参考資料:http://www.minecraftforum.net/topic/352121-smp-mods-modloadermp-modding-310511/ <br />
 
 参考資料:http://www.minecraftforum.net/topic/352121-smp-mods-modloadermp-modding-310511/ <br />
 
<comments />
 
----
 
* Ver1.2.5のコメントアウト部分を追加、太字表示、以前のバージョンの表記にばらつきがあったのを編集しました --[[利用者:@空|@空]] 2012年6月1日 (金) 19:42 (JST)
 
----
 
* ↓ミス。末尾に「 &#x7d; 」を入れるようです --[[特別:投稿記録/114.158.39.109|114.158.39.109]] 2012年4月13日 (金) 00:18 (JST)
 
----
 
* 1.2.5 v1 でMinecraftServer.javaは520-555をコメントアウト、末尾に&#x7d;&#x5d; --[[特別:投稿記録/114.158.39.109|114.158.39.109]] 2012年4月13日 (金) 00:15 (JST)
 
----
 
* ↓修正ありがとうございました。 とても分かりやすくなりました! --[[特別:投稿記録/59.156.113.141|59.156.113.141]] 2012年3月22日 (木) 17:38 (JST)
 
----
 
* 一度decompileに失敗(厳密に言うとdecompileは成功している)してから~の部分、間違ってる文章に編集されていたので、修正しておきました。 --[[利用者:Nagisawa|Nagisawa]] 2012年3月22日 (木) 16:36 (JST)
 
----
 
* ↓親階層からに修正しておきますた。後コメントアウト対象がわかりやすいよう一応一部ソースをコピーしておきました。 --[[利用者:Nagisawa|Nagisawa]] 2012年3月22日 (木) 16:24 (JST)
 
----
 
* ↓誤爆。『また、/MCPフォルダ/serc/minecraft_server...と親階層を明記・・・』のsercはsrcです。 すみません。 --[[特別:投稿記録/59.156.113.141|59.156.113.141]] 2012年3月22日 (木) 16:12 (JST)
 
----
 
* エラー修正の項目に「/minecraft_server/net/minecraft/serverのMinecraftServer.java」とありますが、これは一度decompileに失敗(厳密に言うとdecompileは成功している)してからじゃないと出現しません。また、/MCPフォルダ/serc/minecraft_server...と親階層を明記したほうがわかりやすいと思います。 --[[特別:投稿記録/59.156.113.141|59.156.113.141]] 2012年3月22日 (木) 16:11 (JST)
 
----
 
* SDK ModLoaderMP v3 を導入したはずですが、コメントアウトした箇所が違います。それぞれの2行上(515, 523-551)をコメントアウトしました。 行がずれることがあるようですね --[[特別:投稿記録/59.156.113.141|59.156.113.141]] 2012年3月22日 (木) 16:09 (JST)
 
----
 
* Midoriliさん>SDK氏と言われるとGun'sMOD系と勘違いしました。すみません。 --[[利用者:Nagisawa|Nagisawa]] 2012年3月19日 (月) 11:14 (JST)
 
----
 
* Nagisawaさん>すみません。どのModLoaderMPでの話かわからない、という意味で書いたのですが・・・。とりあえず自分の環境でのSDK ModLoaderMPv3の導入方法を記述しました。 --[[利用者:Midorili|Midorili]] 2012年3月19日 (月) 06:20 (JST)
 
----
 
* Midoriliさん>えっと、勘違いされると困るのですが、最低限部分の変更なのでそのとおりにやってもエラーが出るものは出ます。 --[[利用者:Nagisawa|Nagisawa]] 2012年3月18日 (日) 23:49 (JST)
 
----
 
* ModLoaderMPのページの通りにエラーの修正を行いましたがエラーが修正されませんでした。導入したのはSDK氏作のv3です。 --[[利用者:Midorili|Midorili]] 2012年3月18日 (日) 23:38 (JST)
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)