提供: Minecraft Modding Wiki
移動先: 案内検索
(新規)
 
(汎用化)
 
1行目: 1行目:
{{前提MOD|reqmod="MinecraftForge3.3.7以降"}}
+
{{前提MOD|reqmod="ModLoader"}}
  
 
==解説==
 
==解説==
20行目: 20行目:
 
;必要ファイルのインポート
 
;必要ファイルのインポート
 
<source lang="java">import net.minecraft.client.Minecraft;
 
<source lang="java">import net.minecraft.client.Minecraft;
import cpw.mods.fml.common.FMLCommonHandler;
 
 
</source>
 
</source>
:クラス宣言の上部に上記の文を追加し、Minecraft.class と FMLCommonHandler.class をインポートします。
+
:クラス宣言の上部に上記の文を追加し、Minecraft.class をインポートします。
  
  
 
;インスタンスの取得
 
;インスタンスの取得
<source lang="java">Minecraft minecraft = (Minecraft)FMLCommonHandler.instance().getMinecraftInstance();
+
<source lang="java">Minecraft minecraft = ModLoader.getMinecraftInstance();
 
</source>
 
</source>
:メッセージを表示したいメソッドで、Minecraft型のメンバ minecraft を宣言し、Minecraft型にキャストしたインスタンス取得します。
+
:メッセージを表示したいメソッドで、Minecraft型のメンバ minecraft を宣言し、インスタンス取得します。
  
  
45行目: 44行目:
  
 
import net.minecraft.client.Minecraft;
 
import net.minecraft.client.Minecraft;
import cpw.mods.fml.common.FMLCommonHandler;
 
  
 
public class DebugLibrary
 
public class DebugLibrary
53行目: 51行目:
 
public DebugLibrary()
 
public DebugLibrary()
 
{
 
{
minecraft = (Minecraft)FMLCommonHandler.instance().getMinecraftInstance();
+
minecraft = ModLoader.getMinecraftInstance();
 
}
 
}
  

2012年12月5日 (水) 02:32時点における最新版

この記事は"ModLoader"を前提MODとしています。

解説[編集]

このチュートリアルは、各種デバッグ用のテキストを、チャット欄に表示する方法を解説します。


Minecraft型の引数をもつメソッドの場合[編集]

例)BaseMod.onTickInGame メソッド
public boolean onTickInGame(float f, Minecraft minecraft)
{
}

例の onTickInGame のように引数にMinecraft型が含まれているメソッドの場合は、Minecraft型の引数を参照してテキストを表示できます。

minecraft.ingameGUI.addChatMessage("表示したいテキスト");


Minecraft型の引数を持たないメソッドの場合[編集]

Minecraft型の引数を持たないメソッド内でテキストを表示するには、先にMinecraft型のインスタンスを取得する必要があります。

必要ファイルのインポート
import net.minecraft.client.Minecraft;
クラス宣言の上部に上記の文を追加し、Minecraft.class をインポートします。


インスタンスの取得
Minecraft minecraft = ModLoader.getMinecraftInstance();
メッセージを表示したいメソッドで、Minecraft型のメンバ minecraft を宣言し、インスタンス取得します。


テキストの表示
minecraft.ingameGUI.addChatMessage("表示したいテキスト");
あとは引数を持つメソッドと同じように、minecraft のメソッドからテキストを表示できます。


デバッグ用ライブラリ[編集]

デバッグ作業を楽にするライブラリを置いておきます。


ソース全文[編集]

DebugLibrary.java
package net.minecraft.src;

import net.minecraft.client.Minecraft;

public class DebugLibrary
{
	private static Minecraft minecraft;

	public DebugLibrary()
	{
		minecraft = ModLoader.getMinecraftInstance();
	}

	public static Minecraft getMinecraft()
	{
		return minecraft;
	}

	public static void addChatMessage(String text)
	{
		minecraft.ingameGUI.addChatMessage(text);
	}
}

使い方[編集]

開発中のMODと同じフォルダに置き、

DebugLibrary lib = new DebugLibrary();
で、クラスを生成します。
lib.addChatMessage("表示したいテキスト");
で、テキストを表示できます。
lib.getMinecraft();
で、Minecraftを取得できます。
メソッドの引数としてワールドなどが存在しない場合に、アクセスするために使えます。


デバッグ用の文を書く際のTips[編集]

通常、プログラムを組む際は、構造ごとに適切にインデントしていると思います。
しかし、デバッグ用の文までインデントしてしまうと、デバッグ終了時に見落としやすくなります。
そのため、デバッグ用の文だけは、あえてインデントせずに行頭から書くようにすると、見落としが少なくなります。