Їжа є основним аспектом виживання Minecraft, тому, створюючи їстівні предмети, ви повинні враховувати використання їжі з іншими їстівними предметами.
Якщо ви не створюєте мод із надпотужними предметами, вам слід розглянути:
- Скільки голоду додає або усуває ваш їстівний продукт.
- Який ефект(и) зілля це надає?
- Чи доступний на ранній або кінцевий період гри?
Додання компоненту їжі
Щоб додати компонент їжі до предмета, ми можемо передати його екземпляру Item.Settings:
java
new Item.Settings().food(new FoodComponent.Builder().build())1
Наразі це просто робить предмет їстівним і нічого більше.
Клас FoodComponent.Builder має деякі методи, які дозволяють вам змінювати те, що відбувається, коли гравець їсть ваш предмет:
| Метод | Опис |
|---|---|
nutrition | Встановлює кількість очок голоду, які ваш продукт поповнить. |
saturationModifier | Встановлює кількість очок насичення, які додасть ваш предмет. |
alwaysEdible | Дозволяє їсти ваш предмет незалежно від рівня голоду. |
Коли ви зміните конструктор на свій смак, ви можете викликати метод build(), щоб отримати FoodComponent.
Якщо ви хочете додати ефекти для гравця, коли він їсть вашу їжу, вам потрібно буде використовувати ConsumableComponent разом з класом FoodComponent, як показано в наступному прикладі:
java
public static final ConsumableComponent POISON_FOOD_CONSUMABLE_COMPONENT = ConsumableComponents.food()
// The duration is in ticks, 20 ticks = 1 second
.consumeEffect(new ApplyEffectsConsumeEffect(new StatusEffectInstance(StatusEffects.POISON, 6 * 20, 1), 1.0f))
.build();
public static final FoodComponent POISON_FOOD_COMPONENT = new FoodComponent.Builder()
.alwaysEdible()
.build();1
2
3
4
5
6
7
2
3
4
5
6
7
Подібно до прикладу на сторінці створення вашого першого предмета, ви будете використовувати наведений нижче компонент:
java
public static final Item POISONOUS_APPLE = register(
"poisonous_apple",
Item::new,
new Item.Settings().food(POISON_FOOD_COMPONENT, POISON_FOOD_CONSUMABLE_COMPONENT)
);1
2
3
4
5
2
3
4
5
Це робить предмет:
- Завжди їстівним, його можна їсти незалежно від рівня голоду.
- Завжди дає ефект отруєння II протягом 6 секунд після поїдання.

