SLU писал(а):
public static final Item pighead = new ItemFood(2001, 10, false).setItemName("pighead");Разберем.
Первое число - ID, второе - количество половинок сердца для восстановления (всего 20 половинок), а false можно ли использовать на волке для привлечения. Далее все по прежнему.
SLU писал(а):
new Head(2001, 20, false)Запишем привычные строки.
SLU писал(а):
pighead.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/pighead.png");
ModLoader.AddName(pighead, "Pig Head");
ModLoader.AddRecipe(new ItemStack(pighead, 1), new Object[]{ "XX", "X#", Character.valueOf('X'), Block.dirt});
Закинем текстуру в minecraft.jar/textures.
(размеры не изменять!)
Создаем файлик pigHead.java.
Туда кидаем:
SLU писал(а):
package net.minecraft.src;
public class pigHead extends ItemFood {
public pigHead(int i, int j) {
super(i, j, true);
}
}
Запускаем и пробуем!
Для развития:
Если хотите чтобы после поедания вашей еды выпадал предмет (например, если это суп), вместо старого паблика впишите новый:
SLU писал(а):
public static final Item pighead = new Head(2001, 20, false, 16).setItemName("pighead");Переименуйте pigHead.java в Head.java и весь код замените на:
SLU писал(а):
package net.minecraft.src;
public class Head extends ItemFood
{
public Head(int i, int j, boolean flag, int k)
{
super(i, j, flag);
healAmount = j;
maxStackSize = k;
}
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
{
itemstack.stackSize--;
entityplayer.heal(healAmount);
entityplayer.dropPlayerItem(new ItemStack(mod_gcc.pighead.shiftedIndex, 1, 0));
return itemstack;
}
public int getHealAmount()
{
return healAmount;
}
protected int healAmount;
}
Единственное что вам тут понадобится - эта строка. После поедания еды выпадает она же в количестве 1. Можете экспериментировать. Для дропа других итемов, пишите Item.название.shiftedIndex.
SLU писал(а):
entityplayer.dropPlayerItem(new ItemStack(mod_gcc.pighead.shiftedIndex, 1, 0))