Перейти к содержанию

Еда#

Для создания предмета еды необходимо наследоваться от ItemFood

package ru.mcmodding.tutorial.common.item;

import net.minecraft.item.ItemFood;

public class CherryItem extends ItemFood {
    public CherryItem() {
        super(2, 5F, false);
    }
}

Рассмотрим параметры переданные в супер-класс:

  1. healAmount - сколько будет восстановлено очков голода. Всего у игрока 20 очков голода(10 окороков). В нашем случае будет восстановлен 1 окорок.
  2. saturationModifier - модификатор насыщения. Данное значение используется для расчёта уровня насыщения игрока. Чем больше значение, тем дольше игрок не будет тратить очки голода.
  3. isWolfFood - определяет, может ли волк есть данную еду.

Подсказка

Если вы хотите, чтобы еду можно было есть всегда, вне зависимости от насыщенности игрока, то вызовете в конструкторе метод setAlwaysEdible

Эффект зелья при съедании#

Возможно при съедании плоти или отравленной картошки вы получали различные эффекты: тошнота, голод. Чтобы задать эффект зелья, необходимо в конструкторе вызвать метод setPotionEffect(Integer, Integer, Integer, Float).

Рассмотрим передаваемые параметры подробнее.

  1. potionId - идентификатор зелья. Все зелья самого Minecraft хранятся в классе Potion.
  2. potionDuration - длительность эффекта в секундах.
  3. potionAmplifier - уровень зелья, чем выше значение, тем сильнее эффект(скорость передвижения, наносимый урон и т.п.)
  4. potionEffectProbability - вероятность с которой появится данный эффект зелья. Указывать от 0 до 1!

Внимание!

Эффект зелья можно задать только один!

public class CherryItem extends ItemFood {
    public CherryItem() {
        super(2, 5F, false);
        setPotionEffect(Potion.moveSlowdown.id, 15, 2, 0.5F);
    }
}