|
|
1行目: |
1行目: |
− | | + | #REDIRECT [[飲食物を追加する]] |
− | {{前提MOD|reqmod="ModLoader"}}
| |
− | 作成するソース<br />
| |
− | mod_Tutorial.java<br />
| |
− | ItemTutorialDrink.java<br />
| |
− | ttritemDrink.png<br />
| |
− | | |
− | ==ソースの解説==
| |
− | | |
− | ===mod_Tutorialクラス作成===
| |
− | mod_***クラスを作成します
| |
− | | |
− | mod_Tutorialソース
| |
− | <source lang="java">
| |
− | package net.minecraft.src;
| |
− |
| |
− | public class mod_Tutorial extends BaseMod {
| |
− |
| |
− | public String getVersion() {
| |
− | return "1.0.0";
| |
− | }
| |
− |
| |
− | public static Item TutorialDrink;
| |
− |
| |
− | public void load() {
| |
− |
| |
− | /*
| |
− | (5000, 3, 1F , false)の所の5000がアイテムID 3が回復量 1F 不明 falseは犬に与えれるかです。
| |
− | */
| |
− | TutorialDrink = new ItemTutorialDrink(5000, 3, 1F , false).setItemName("TutorialDrink");
| |
− | TutorialDrink.iconIndex = ModLoader.addOverride("/gui/items.png", "/ttr/ttritemDrink.png");
| |
− | ModLoader.addName(TutorialDrink, "TutorialDrink Item");
| |
− | | |
− | /*
| |
− | レシピの作成。
| |
− | ここでは、空のボトル(glassBottle)と土(dirt)をクラフトして土ドリンク(TutorialDrink)を作っています。
| |
− | */
| |
− | ModLoader.addRecipe(new ItemStack(TutorialDrink, 1),
| |
− | new Object[]{ "X","Y",
| |
− | Character.valueOf('X'),Block.dirt, Character.valueOf('Y'), Item.glassBottle });
| |
− | | |
− | }
| |
− | }
| |
− | </source>
| |
− | | |
− | ===ItemTutorialDrinkクラス作成===
| |
− | | |
− | ItemTutorialDrinkクラスを作成します。
| |
− | ItemFoodクラスを継承して作成します。
| |
− | | |
− | <source lang="java">
| |
− | | |
− | package net.minecraft.src;
| |
− | | |
− | import java.util.Random;
| |
− | | |
− | public class ItemTutorialDrink extends ItemFood implements ITextureProvider
| |
− | {
| |
− | | |
− | | |
− | public ItemTutorialDrink(int i, int j , float par3, boolean flag)
| |
− | {
| |
− | super(i, j, par3 ,flag);
| |
− | }
| |
− | | |
− | /*
| |
− | アイテムを消費した後の処理を書いています。
| |
− | return par1ItemStack.stackSize <= 0 ? new ItemStack(Item.glassBottle) : par1ItemStack;
| |
− | の所の(Item.glassBottle)を違うアイテムに変更すれば戻ってくるアイテムも変わります。
| |
− | 例 空のバケツにするなら(Item.bucketEmpty)に変更してください。
| |
− | */
| |
− | 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;
| |
− | }
| |
− | | |
− | }
| |
− | | |
− | </source>
| |
− | 解説を追加。 <br />
| |
− | 他のチュートリアルに書いてあることは省いて、必要なところを書きました。誤字脱字や内容に誤りがありましたらコメントで教えてください。
| |
− | <comments />
| |