提供: Minecraft Modding Wiki
細 |
細 |
||
124行目: | 124行目: | ||
<comments /> | <comments /> | ||
− | [[Category:アイテムの追加]] | + | [[Category:アイテムの追加|いんしょく]] |
2012年3月29日 (木) 22:05時点における版
この記事は"ModLoader"を前提MODとしています。 |
ここでは、飲食物の作成方法を紹介します。
食べ物と飲み物の違いは、
アイテムが戻って来るor来ないと食べた(飲んだ)時の動作の違いだけですので不要な処理は削除してお使いください。
作成するソース
mod_Tutorial.java
ItemTutorialFoodOrDrink.java
ttritemDrink.png
ソースの解説
mod_Tutorialクラス作成
mod_***クラスを作成します
mod_Tutorialソース
package net.minecraft.src; public class mod_Tutorial extends BaseMod { public String getVersion() { return "1.0.0"; } public static Item TutorialFoodOrDrink; public void load() { /* !!食べ物と飲み物共通!! (5000, 3, 1F , false)の所の5000がアイテムID 3が回復量 1F 不明 falseは犬に与えれるかです。 */ TutorialDrink = new ItemTutorialFoodOrDrink(5000, 3, 1F , false).setItemName("TutorialDrink"); TutorialDrink.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttr/ttritemDrink.png"); ModLoader.addName(TutorialFoodOrDrink, "TutorialFoodOrDrink Item"); /* レシピの作成。 */ /* !!食べ物を作成する時にだけ必要。飲み物を追加するなら削除してください。!! ここでは、土(dirt)をクラフトして土フード(TutorialFoodOrDrink)を作っています。 */ ModLoader.addRecipe(new ItemStack(Item.TutorialFoodOrDrink, 4), new Object[]{ "X", Character.valueOf('X'),Block.dirt }); /* !!飲み物を作成する時にだけ必要。食べ物を追加するなら削除してください。!! ここでは、空のボトル(glassBottle)と土(dirt)をクラフトして土ドリンク(TutorialFoodOrDrink)を作っています。 */ ModLoader.addRecipe(new ItemStack(TutorialFoodOrDrink, 1), new Object[]{ "X","Y", Character.valueOf('X'),Block.dirt, Character.valueOf('Y'), Item.glassBottle }); } }
ItemTutorialFoodOrDrinkクラス作成
ItemTutorialFoodOrDrinkクラスを作成します。 ItemFoodクラスを継承して作成します。
package net.minecraft.src; import java.util.Random; public class ItemTutorialFoodOrDrink extends ItemFood { /* !!食べ物と飲み物共通!! */ public ItemTutorialFoodOrDrink(int i, int j , float par3, boolean flag) { super(i, j, par3 ,flag); } /* !!食べ物と飲み物共通 しかし、消費した時にアイテムを戻さないなら削除してください。!! アイテムを消費した後の処理を書いています。 return par1ItemStack.stackSize <= 0 ? new ItemStack(Item.glassBottle) : par1ItemStack; の所の(Item.glassBottle)を違うアイテムに変更すれば戻ってくるアイテムも変わります。 詳しくはIDlistを見てください。 例 空のバケツにするなら(Item.bucketEmpty)に変更してください。 例2 多分使う人いないけど、(Item.diamond)と書き換えればダイヤモンドが戻ってきます。 */ public ItemStack onFoodEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { --par1ItemStack.stackSize; if (!par2World.isRemote) { par3EntityPlayer.clearActivePotions(); } return par1ItemStack.stackSize <= 0 ? new ItemStack(Item.glassBottle) : par1ItemStack; } /* !!飲み物を作成する時にだけ必要。食べ物を追加するなら削除してください。!! 右クリック長押しをした時の動作を指定しています。 ここを削除すれば食べ物を食べる時と同じ動作になります。 */ public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.drink; } }
誤字脱字や内容に誤りがありましたらコメントで教えてください。
コメントの自動更新を有効化