提供: Minecraft Modding Wiki
移動先: 案内検索
 
 
(3人の利用者による、間の5版が非表示)
1行目: 1行目:
 
{{前提MOD|reqmod="Minecraft Forge Universal 9.10.0.xxx~"}}
 
{{前提MOD|reqmod="Minecraft Forge Universal 9.10.0.xxx~"}}
 
+
{{チュートリアル難易度|difficulty=1|clear=none}}
 +
{{チュートリアルカテゴリー|difficulty=1|type=Item}}
 
==ツールの追加==
 
==ツールの追加==
<p>鉄の2倍の耐久度を持ち、ダイヤの2倍の速さでブロックを破壊できるツルハシ、およびそのレシピを追加します。<br>
+
<p>鉄の2倍の耐久度を持ち、ダイヤの2倍の速さでブロックを破壊できるツルハシを追加します。<br>
 
攻撃力、破壊できるブロックの種類はは鉄と同等です。
 
攻撃力、破壊できるブロックの種類はは鉄と同等です。
 
金床での修復には鉄ブロックを使用します。</p>
 
金床での修復には鉄ブロックを使用します。</p>
14行目: 15行目:
 
import net.minecraft.item.Item;
 
import net.minecraft.item.Item;
 
import net.minecraft.item.ItemStack;
 
import net.minecraft.item.ItemStack;
import net.minecraft.block;
+
import net.minecraft.block.Block;
 
import net.minecraft.item.ItemPickaxe;
 
import net.minecraft.item.ItemPickaxe;
  
40行目: 41行目:
 
LanguageRegistry.addName(samplePickaxe, "Sample Pickaxe");
 
LanguageRegistry.addName(samplePickaxe, "Sample Pickaxe");
 
LanguageRegistry.instance().addNameForObject(samplePickaxe, "ja_JP", "サンプルツルハシ");
 
LanguageRegistry.instance().addNameForObject(samplePickaxe, "ja_JP", "サンプルツルハシ");
 
/* レシピの登録 */
 
GameRegistry.addRecipe(new ItemStack(samplePickaxe, 1),
 
        new Object[] {"XYX", " Z ", " Z ", 'X', Item.ingotIron , 'Y', Block.blockIron, 'Z', Item.stick});
 
 
}
 
}
 
 
75行目: 72行目:
 
super(par1, par2EnumToolMaterial);
 
super(par1, par2EnumToolMaterial);
 
this.setUnlocalizedName("SamplePickaxe");  /* システム名の登録 */
 
this.setUnlocalizedName("SamplePickaxe");  /* システム名の登録 */
this.func_111206_d("sample:sample_pickaxe");   /* テクスチャの指定 */
+
this.setTextureName("sample:sample_pickaxe");   /* テクスチャの指定 */
 
}
 
}
 
}
 
}
90行目: 87行目:
 
2段目で、金床使用時に修復するアイテムを指定します。<br>
 
2段目で、金床使用時に修復するアイテムを指定します。<br>
 
今回の例のようにブロックを使用する場合は、このように記述します。(customCraftingMaterialはブロックを引数として取ることができないため)。
 
今回の例のようにブロックを使用する場合は、このように記述します。(customCraftingMaterialはブロックを引数として取ることができないため)。
<source lang = "java">
 
GameRegistry.addRecipe(new ItemStack(samplePickaxe, 1),
 
      new Object[] {"XYX", " Z ", " Z ", 'X', Item.ingotIron , 'Y', Block.blockIron, 'Z', Item.stick});
 
</source>
 
ツルハシの製作レシピを登録します。<br>
 
1段目の引数には'''制作するアイテム, 個数'''を指定します。<br>
 
2段目の引数で素材アイテムの置き方を指定します。<br><br>
 
まず最初の3つの引数がそれぞれ'''クラフティンググリッドの上段、中断、下段'''に対応します。<br>
 
まずグリッド上段、すなわち"XYX"の項目で上段左、上段右に'X'で指定するアイテムを、上段中央に'Y'で指定するアイテムを指定しています。<br>
 
次にグリッド中段、" Z "の項目でグリッドの中央に'Z'で指定するアイテムを指定しています。<br>
 
注意すべきは、'Z'の前後に'''スペースが入っている'''ことです。<br>
 
このスペースで空白を指定することができます。<br>
 
グリッド下段は中段と同じ配置なので省略します。<br><br>
 
2段目の引数では'''1段目の引数で置いた文字がどのアイテムに対応するか'''を指定します。<br>
 
'文字', アイテム, '文字', アイテム, ... という風に指定していきます。<br>
 
文字の前後の記号が '''"''' ''' ではなく '''''' ''であることに気をつけてください。<br><br>
 
なお、このツルハシのレシピは上段に(鉄インゴット, 鉄ブロック, 鉄インゴット)、中段・下段に(空白, 木の棒, 空白)を置くというものになります。
 
 
  
 
===ItemSamplePickaxe.java===
 
===ItemSamplePickaxe.java===
 
<source lang = "java">
 
<source lang = "java">
 
this.setUnlocalizedName("SamplePickaxe");  /* システム名の登録 */
 
this.setUnlocalizedName("SamplePickaxe");  /* システム名の登録 */
this.func_111206_d("sample_pickaxe");   /* テクスチャの指定 */
+
this.setTextureName("sample_pickaxe");   /* テクスチャの指定 */
 
</source>
 
</source>
 
アイテムのシステム名とテクスチャを登録します。<br>
 
アイテムのシステム名とテクスチャを登録します。<br>

2014年10月5日 (日) 14:29時点における最新版

この記事は"Minecraft Forge Universal 9.10.0.xxx~"を前提MODとしています。

Stone pickaxe.png
中級者向けのチュートリアルです。
C item.png
Itemに関係のあるチュートリアルです。

ツールの追加[編集]

鉄の2倍の耐久度を持ち、ダイヤの2倍の速さでブロックを破壊できるツルハシを追加します。
攻撃力、破壊できるブロックの種類はは鉄と同等です。 金床での修復には鉄ブロックを使用します。

ソースコード[編集]

  • SamplePickaxeCore.java
package mods.pickaxesample;

import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.block.Block;
import net.minecraft.item.ItemPickaxe;

import net.minecraftforge.common.EnumHelper;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid="SamplePickaxe", name="SamplePickaxe", version="1.0")
public class SamplePickaxeCore
{
	public static Item samplePickaxe;
	public static int samplePickaxeID = 28523;
	
	public static EnumToolMaterial samplePickaxeEnum;
	
	@EventHandler
	public void init(FMLInitializationEvent event)
	{
		/* 表示名の登録 */
		LanguageRegistry.addName(samplePickaxe, "Sample Pickaxe");
		LanguageRegistry.instance().addNameForObject(samplePickaxe, "ja_JP", "サンプルツルハシ");
	}
	
	@EventHandler
	public void preInit(FMLPreInitializationEvent event)
	{
		/* インスタンスの代入 */
		samplePickaxe= new ItemSamplePickaxe(samplePickaxeID, samplePickaxeEnum);
		GameRegistry.registerItem(samplePickaxe, "samplePickaxe");
	}
	
	static
	{
		/* 基本素材の設定 */
		samplePickaxeEnum = EnumHelper.addToolMaterial("SAMPLE_PICKAXE", 2, 500, 16.0F, 2.0F, 14);
		samplePickaxeEnum.customCraftingMaterial = new ItemStack(Block.blockIron).getItem();
	}
}
  • ItemSamplePickaxe.java
package mods.pickaxesample;

import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.ItemPickaxe;

public class ItemSamplePickaxe extends ItemPickaxe
{
	public ItemSamplePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) {
		super(par1, par2EnumToolMaterial);
		this.setUnlocalizedName("SamplePickaxe");  /* システム名の登録 */
		this.setTextureName("sample:sample_pickaxe");	   /* テクスチャの指定 */
	}
}

解説[編集]

SamplePickaxeCore.java[編集]

samplePickaxeEnum = EnumHelper.addToolMaterial("SAMPLE_PICKAXE", 2, 500, 16.0F, 2.0F, 14);
samplePickaxeEnum.customCraftingMaterial = new ItemStack(Block.blockIron).getItem();

ツルハシの素材を指定します。
1段目の設定の意味は剣のサンプルのページにあるので省略します。
2段目で、金床使用時に修復するアイテムを指定します。
今回の例のようにブロックを使用する場合は、このように記述します。(customCraftingMaterialはブロックを引数として取ることができないため)。

ItemSamplePickaxe.java[編集]

this.setUnlocalizedName("SamplePickaxe");  /* システム名の登録 */
this.setTextureName("sample_pickaxe");	   /* テクスチャの指定 */

アイテムのシステム名とテクスチャを登録します。
システム名は他のアイテムと被らないように設定しなければいけません
modとして配布する際には特に注意してください。
テクスチャは、"assets/ドメイン名/textures/items/登録名"に置いたものが表示されます。
今回の場合は、"assets/sample/textures/items/sample_pickaxe.png"です。