Minecraft Modding
Учебник по созданию Minecraft модов
mode_editРедактировать

Создание едыlink

Основаlink

В прошлом уроке вы научились создавать предмет, а теперь давайте создадим еду, чтобы наш персонаж был сыт и мог заморить червячка. Создадим класс для нашей еды, пусть будет кокос.

public class ItemCoconut extends ItemFood
{
    public ItemCoconut(String name, int amount, float saturation, boolean isWolfFood)
    {
        super(amount, saturation, isWolfFood);
        this.setRegistryName(name);
        this.setUnlocalizedName(name);
    }
}

Появились новые параметры, такие как amount, saturation, isWolfFood.

Для еды мы так же можем использовать такой метод: this.setAlwaysEdible() - позволяет есть предмет даже когда шкала голода заполнена.

Добавим переменную в ItemsRegister.

public static Item COCONUT = new ItemCoconut("coconut", 1, 0.5F, false);

и зарегистрируем нашу еду по прошлому уроку. Так же не забудьте добавить модель к вашему предмету(см. прошлый урок).

Добавление эффекта при съеданииlink

Вернёмся к нашему классу еды и добавим туда метод onFoodEaten.

@Override
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
    super.onFoodEaten(stack, worldIn, player);

    if(player.getFoodStats().getFoodLevel() > 2)
    {
        player.addPotionEffect(new PotionEffect(Potion.getPotionById(9), 100));
    }
}

Из кода видно, что если у игрока уровень голода больше 2, то мы добавляем игроку эффект зелья тошноты (id = 9), которое будет длится 5 секунд. 100 / 20 = 5. 20 это тики, в 1 секунде 20 тиков.

Перейдём в игру и попробуем съесть нашу еду.

Ivasik
Автор
mcmodding.ru v1.1.1