提供: Minecraft Modding Wiki
移動先: 案内検索
(SampleFoodCore.java)
 
(3人の利用者による、間の4版が非表示)
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>食べることのできる食料の追加<br>レシピの追加は行っていないので、自分で追加する必要がある</p>
 
<p>食べることのできる食料の追加<br>レシピの追加は行っていないので、自分で追加する必要がある</p>
55行目: 56行目:
 
super(par1, par2, par3);
 
super(par1, par2, par3);
 
this.setUnlocalizedName("SampleFood"); //システム名の登録
 
this.setUnlocalizedName("SampleFood"); //システム名の登録
this.func_111206_d("sample_food"); //テクスチャの指定
+
this.setTextureName("sample_food"); //テクスチャの指定
 
this.setMaxStackSize(64); //スタックできる量
 
this.setMaxStackSize(64); //スタックできる量
  
 
//以下不要なら消してください
 
//以下不要なら消してください
 
this.setAlwaysEdible(); //お腹すいてなくても食べれる。
 
this.setAlwaysEdible(); //お腹すいてなくても食べれる。
this.setPotionEffect(Potion.poison.id, 5, 0, 0.6F); //ポーション効果 ID, 時間, レベル, 確率
+
this.setPotionEffect(Potion.poison.id, 5, 0, 0.6F); //ポーション効果 ID, 時間(秒), レベル(書いた値+1になる), 確率(0.0~1.0F 1.0Fの時100%)
 
}
 
}
  
87行目: 88行目:
 
GameRegistry.registerItem(sampleFood, "sampleFood");
 
GameRegistry.registerItem(sampleFood, "sampleFood");
 
</source>
 
</source>
sampleFoo の変数にItemSampleFoodのインスタンスを代入。<br>
+
sampleFood の変数にItemSampleFoodのインスタンスを代入。<br>
 
一つ目の引数は、アイテムID、二つ目は回復量、三つ目は狼が食べられるか。食べられる=true
 
一つ目の引数は、アイテムID、二つ目は回復量、三つ目は狼が食べられるか。食べられる=true
  
98行目: 99行目:
 
//以下不要なら消してください
 
//以下不要なら消してください
 
this.setAlwaysEdible(); //お腹すいてなくても食べれる。
 
this.setAlwaysEdible(); //お腹すいてなくても食べれる。
this.setPotionEffect(Potion.poison.id, 5, 0, 0.6F); //ポーション効果 ID, 時間, レベル, 確率
+
this.setPotionEffect(Potion.poison.id, 5, 0, 0.6F); //ポーション効果 ID, 時間(秒), レベル(書いた値+1になる), 確率(0.0~1.0F 1.0Fの時100%)
 
</source>
 
</source>
 
システム名の登録をしないと、表示名の登録はできません。<br>
 
システム名の登録をしないと、表示名の登録はできません。<br>
 
テクスチャは、'''"assets/minecraft/textures/items/登録名"'''に置いたのが表示されます。<br>
 
テクスチャは、'''"assets/minecraft/textures/items/登録名"'''に置いたのが表示されます。<br>
 
今回の場合は、"assets/minecraft/textures/items/sample_food.png"です。<br>
 
今回の場合は、"assets/minecraft/textures/items/sample_food.png"です。<br>

2017年8月7日 (月) 11:57時点における最新版

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

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

食料の追加[編集]

食べることのできる食料の追加
レシピの追加は行っていないので、自分で追加する必要がある

ソースコード[編集]

  • SampleFoodCore.java
package mods.foodsample;

import net.minecraft.item.Item;
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="SampleFoodCore", name="SampleFoodCore", version="1.0")
public class SampleFoodCore
{
	public static Item sampleFood;
	public static int sampleFoodID = 28521;
	
	@EventHandler
	public void init(FMLInitializationEvent event)
	{
		//表示名の登録
		LanguageRegistry.addName(sampleFood, "Sample Food");
		LanguageRegistry.instance().addNameForObject(sampleFood, "ja_JP", "サンプル フード");
	}
	
	@EventHandler
	public void preInit(FMLPreInitializationEvent event)
	{
		//インスタンスの代入。引数はID, 回復量, 狼が食べれるか
		sampleFood = new ItemSampleFood(sampleFoodID, 5, false);
		GameRegistry.registerItem(sampleFood, "sampleFood");
	}
}
  • ItemSampleFood.java
package mods.foodsample;

import net.minecraft.item.ItemFood;
import net.minecraft.potion.Potion;

public class ItemSampleFood extends ItemFood
{

	public ItemSampleFood(int par1, int par2, boolean par3)
	{
		super(par1, par2, par3);
		this.setUnlocalizedName("SampleFood");	//システム名の登録
		this.setTextureName("sample_food");	//テクスチャの指定
		this.setMaxStackSize(64);	//スタックできる量

		//以下不要なら消してください
		this.setAlwaysEdible();	//お腹すいてなくても食べれる。
		this.setPotionEffect(Potion.poison.id, 5, 0, 0.6F);	//ポーション効果 ID, 時間(秒), レベル(書いた値+1になる), 確率(0.0~1.0F 1.0Fの時100%)
	}


}

解説[編集]

SampleFoodCore.java[編集]

public static Item sampleFood;
public static int sampleFoodID = 28521;

追加する食料を保持しておく変数と、IDを保持しておく変数を宣言。

LanguageRegistry.addName(sampleFood, "Sample Food");
LanguageRegistry.instance().addNameForObject(sampleFood, "ja_JP", "サンプル フード");

ゲーム中に表示される名前の登録。
2段目の2つめの引数に"ja_JP"を指定することで日本語名称の登録

//インスタンスの代入。引数はID, 回復量, 狼が食べれるか
sampleFood = new ItemSampleFood(sampleFoodID, 5, false);
GameRegistry.registerItem(sampleFood, "sampleFood");

sampleFood の変数にItemSampleFoodのインスタンスを代入。
一つ目の引数は、アイテムID、二つ目は回復量、三つ目は狼が食べられるか。食べられる=true

ItemSampleFood.java[編集]

this.setUnlocalizedName("SampleFood");	//システム名の登録
this.func_111206_d("sample_food");	//テクスチャの指定
this.setMaxStackSize(64);	//スタックできる量

//以下不要なら消してください
this.setAlwaysEdible();	//お腹すいてなくても食べれる。
this.setPotionEffect(Potion.poison.id, 5, 0, 0.6F);	//ポーション効果 ID, 時間(秒), レベル(書いた値+1になる), 確率(0.0~1.0F 1.0Fの時100%)

システム名の登録をしないと、表示名の登録はできません。
テクスチャは、"assets/minecraft/textures/items/登録名"に置いたのが表示されます。
今回の場合は、"assets/minecraft/textures/items/sample_food.png"です。