Новые сообщения · Участники · Правила форума · Поиск · RSS
  • Страница 1 из 1
  • 1
Создание еды
Fyral Дата: Суббота, 08.10.2011, 16:01 | Сообщение # 1
Администраторы
Сообщений: 10
Репутация: 2
Offline
Добавляем к пабликам строку:
Code
public static final Item pighead = new ItemFood(3001, 10, false).setItemName("pighead");


Разберем.

Первое число - ID, второе - количество половинок сердца для восстановления (всего 20 половинок), а false можно ли использовать на волке для привлечения. Далее все по прежнему.
Code
new pigHead(3001, 20, false)


Запишем привычные строки.
Code
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

Туда кидаем:
Code
package net.minecraft.src;

public class pigHead extends ItemFood {
       
     public pigHead(int i, int j) {
        super(i, j, true);
     }
}


Запускаем и пробуем!

Для развития:

Если хотите чтобы после поедания вашей еды выпадал предмет (например, если это суп), вместо старого паблика впишите новый:
Code
public static final Item pighead = new Head(3001, 20, false, 16).setItemName("pighead");


Переименуйте pigHead.java в Head.java и весь код замените на:
Code
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
Code
entityplayer.dropPlayerItem(new ItemStack(mod_gcc.pighead.shiftedIndex, 1, 0))
  • Страница 1 из 1
  • 1
Поиск: