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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
3行目: 3行目:
  
 
==はじめに==
 
==はじめに==
MinecraftのMOD作成チュートリアルにようこそ!私達ModderはMinecraftに対してたくさんの制御ができますが、それにはたくさんのコードに圧倒されます。しかし、新しいブロックや機能をMinecraftに追加するのは非常に自由な経験です。もし、あなたにとってゲームの一部分が不満であるとすれば、変えてしまえばいいのです!もし、もっとたくさんのコンテンツが欲しいなら、追加すればいいのです!これらのチュートリアルは簡単にMOD開発を始めるためにほとんどのmodderたちに便利であろう基本的なMODづくりの概念を教えるためのものです。
+
MinecraftのMOD作成にようこそ!私達ModderはMinecraftに対してたくさんの制御ができますが、それにはたくさんのコードに圧倒されます。しかし、新しいブロックや機能をMinecraftに追加するのは非常に自由な経験です。もし、ゲームの一部分があなたが嫌いであるとすれば、変えればいいのです!もし、もっとたくさんのコンテンツが欲しいなら、追加すればいいのです!これらのチュートリアルは簡単にMOD開発を始めるためにほとんどのmodderたちに便利であろう基本的なMODづくりの概念を教えるためのものです。
  
 
==終着点==
 
==終着点==
*どのようにマインクラフトのコードを編集すればいいのか理解する。
+
*どのようにMinecraftのコードを編集すればいいのか理解する。
 
*Eclipseでどのようにパッケージやクラスを作ればいいのか理解する。
 
*Eclipseでどのようにパッケージやクラスを作ればいいのか理解する。
 
*MinecraftのMODのために例文集として理解し使えるようにする。
 
*MinecraftのMODのために例文集として理解し使えるようにする。
24行目: 24行目:
  
 
===EclipseでForgeプロジェクトを開く===
 
===EclipseでForgeプロジェクトを開く===
このチュートリアルではあなたがEclipseを使っていることが前提です。Eclipse以外でも、NetBeansやEmacs,Vimなどでも行うことができます。しかし、MinecraftのMODプログラマーはEclipseで始めることによって、かなりの恩恵をうけることができます。
+
このチュートリアルではあなたがEclipseを使っているとして行います。Eclipse以外でも、NetBeansやEmacs,Vimなどでも行うことができます。しかし、MinecraftのMODプログラマーはEclipseで始めることによって、かなりの恩恵をうけることができます。
もし、まだ準備していないのならば、Eclipseをダウンロードして下さい。残念なことにも、たくさんのファイルを含みますので、多くのシステムメモリが要求されることをご了承ください。しかし、どれだけシステムリソースをくおうとも、Eclipseは素晴らしいJavaのツールを提供してくれます。あなたが最初にEclipseを開くときは、Eclipseはワークスペースを訪ねてくるでしょう。それを、'''/forge/mcp/eclipse'''にすることをご理解ください。
+
もしあなたが、準備していないのならば、Eclipseをダウンロードして下さい。不幸なことにも、たくさんのファイルを含みますので、多くのシステムメモリが要求されることにご了承ください。しかし、どれだけシステムリソースをくおうとも、Eclipseは素晴らしいJavaのツールを提供してくれます。あなたが、最初にEclipseを開くときは、Eclipseはワークスペースを訪ねてくるでしょう。それを、'''/forge/mcp/eclipse'''にすることをご理解ください。
  
 
''間違ったワークスペースを設定してしまった際、違うワークスペースをすでにEclipseで用いている場合、ファイル→ワークスペースの切り替え→その他から切り替えることが可能です。''
 
''間違ったワークスペースを設定してしまった際、違うワークスペースをすでにEclipseで用いている場合、ファイル→ワークスペースの切り替え→その他から切り替えることが可能です。''
101行目: 101行目:
  
 
ForgeにこのクラスがBaseModクラスであることを伝えます。3つのパラメータを持ちます。
 
ForgeにこのクラスがBaseModクラスであることを伝えます。3つのパラメータを持ちます。
 
 
 *modid
 
 *modid
  
111行目: 110行目:
  
 
 *version
 
 *version
 
 
  MODのバージョンを指します。好きなバージョンの書式を用いて構いません。
 
  MODのバージョンを指します。好きなバージョンの書式を用いて構いません。
  
133行目: 131行目:
  
 
  *clientSide
 
  *clientSide
 
 
クライアントの実装されている完全修飾名を含みます
 
クライアントの実装されている完全修飾名を含みます
 
 
  *serverSide
 
  *serverSide
 
 
サーバーの実装されている完全修飾名を含みます
 
サーバーの実装されている完全修飾名を含みます
  
151行目: 146行目:
  
 
他のMODと一緒に働くために提供されています。例えば、初期のブロックidを他のmodに使われていないidに変更したりします。
 
他のMODと一緒に働くために提供されています。例えば、初期のブロックidを他のmodに使われていないidに変更したりします。
 
==Proxyクラス==
 
 
===前置き===
 
 
Minecraftはシングルプレイモードであっても、クライアントとサーバーのセットアップを使います。クライアントがワールドをレンダリングする一方で、サーバーがワールドの状態をメンテナンスします。そのため、特別なことをしない限り、クライアントとサーバーが同時に動くこととなります。片方のサイドで動くコードのための2つのアノテーションが存在するのです。
 
 
@SidedProxyアノテーションは、サーバー側にクライアント側とは違うコンストラクタを呼ばせたいときに利用します。両方とも同じ型か、フィールドを継承している必要があります。また、それらのクラスの名前は、文字列として渡されます。baseModないでは、このアノテーションは以下のように利用されています。
 
<source lang="java">
 
@SidedProxy(clientSide="tutorial.generic.client.ClientProxy", serverSide="tutorial.generic.CommonProxy")
 
public static CommonProxy proxy;
 
</source>
 
 
いつ、どこでプロキシがインスタンス化されるかはわかりませんが、tutorial.generic.CommonProxyがサーバーサイドでは呼ばれ、tutorial.generic.ClientProxyがクライアントサイドでは呼ばれることになります。
 
 
==作り方==
 
 
最初に、サーバーサイドのプロキシを見てみましょう。上のコードを見る限り、このクラスはtutorial.generic.CommonProxyに見つかります。CommonProxyクラスをそのパッケージに作ってください。そして以下の例を書いて下さい。
 
 
<source lang="java">
 
package tutorial.generic;
 
 
public class CommonProxy {
 
        public static String ITEMS_PNG = "/tutorial/generic/items.png";
 
        public static String BLOCK_PNG = "/tutorial/generic/block.png";
 
       
 
        // Client stuff
 
        public void registerRenderers() {
 
                // Nothing here as the server doesn't render graphics!
 
        }
 
}
 
</source>
 
 
クライアントサイドのプロキシでは、tutorial.generic.client.ClientProxyにあります。同様にクラスを作ってください。また、以下のコードを利用してください。
 
<source lang="java">
 
package tutorial.generic.client;
 
 
import net.minecraftforge.client.MinecraftForgeClient;
 
import tutorial.generic.CommonProxy;
 
 
public class ClientProxy extends CommonProxy {
 
       
 
        @Override
 
        public void registerRenderers() {
 
                MinecraftForgeClient.preloadTexture(ITEMS_PNG);
 
                MinecraftForgeClient.preloadTexture(BLOCK_PNG);
 
        }
 
       
 
}
 
</source>
 
 
これらの中の、フィールドやregisterRenderメソッドの説明は、[[Icons and Textures]]で見つかります。今では、これらのイメージは存在しません。
 
 
==以上で終わりです==
 
 
以上のことをすれば、パッケージエクスプローラーは以下のようになっているはずです。
 
 
*Minecraft
 
**src
 
***tutorial.generic
 
****Generic
 
****CommonProxy
 
***tutorial.generic.client
 
****ClientProxy
 
 
以上で、あなたのコンテンツをForgeを用いて追加する準備が完了しました。
 
 
==次に何をしましょう?==
 
 
*[[Crafting and Smelting]] -新しいアイテムを使う最も優しい方法のチュートリアルです。
 
*[[Basic items]]-基本的なアイテム作成
 
*[[Basic blocks]]-基本的なブロックの作成
 

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

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

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