提供: Minecraft Modding Wiki
移動先: 案内検索
 
2行目: 2行目:
  
 
==ツールの追加==
 
==ツールの追加==
<p>鉄の2倍の耐久度を持ち、ダイヤの2倍の速さでブロックを破壊できるツルハシ、およびそのレシピを追加します。<br>
+
<p>鉄の2倍の耐久度を持ち、ダイヤの2倍の速さでブロックを破壊できるツルハシを追加します。<br>
 
攻撃力、破壊できるブロックの種類はは鉄と同等です。
 
攻撃力、破壊できるブロックの種類はは鉄と同等です。
 
金床での修復には鉄ブロックを使用します。</p>
 
金床での修復には鉄ブロックを使用します。</p>
40行目: 40行目:
 
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});
 
 
}
 
}
 
 
90行目: 86行目:
 
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===

2013年9月15日 (日) 02:22時点における版

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

ツールの追加

鉄の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;
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.func_111206_d("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.func_111206_d("sample_pickaxe");	   /* テクスチャの指定 */

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