食物是生存 Minecraft 的核心方面,所以创建可食用的物品时,需要考虑食物的用途以及其他可食用物品。
除非是在制作有过于强的物品的模型,否则应该考虑:
- 你的可食用物品会添加或减少多少饥饿值。
- 会给予什么药水效果?
- 是在游戏早期还是末期可用的?
添加食物组件
要为物品添加食物组件,可以先传递到 FabricItemSettings 实例:
java
new FabricItemSettings().food(new FoodComponent.Builder().build())1
现在,只要让物品可食用,没有别的。
FoodComponent 类有很多方法,允许你修改玩家吃你的物品时发生的事情:
| 方法 | 描述 |
|---|---|
hunger | 设置你的物品会补充的饥饿值的数量。 |
saturationModifier | 设置你的物品会增加的饱和度的数量。 |
meat | 将你的物品描述为肉。 食肉动物,例如狼,将能够吃。 |
alwaysEdible | 允许无论饥饿值均能吃你的物品。 |
snack | 将你的物品描述为零食。 |
statusEffect | 吃你的物品时添加状态效果。 通常传递到此方法的是一个状态效果实例和概率,其中概率是小数(1f = 100%) |
按照自己的喜欢修改了 builder 后,可以调用 build() 方法以获得 FoodComponent
使用创建你的第一个物品页面中创建的例子,并为 builder 使用以下选项:
java
public static final Consumable POISON_FOOD_CONSUMABLE_COMPONENT = Consumables.defaultFood()
// The duration is in ticks, 20 ticks = 1 second
.onConsume(new ApplyStatusEffectsConsumeEffect(new MobEffectInstance(MobEffects.POISON, 6 * 20, 1), 1.0f))
.build();
public static final FoodProperties POISON_FOOD_COMPONENT = new FoodProperties.Builder()
.alwaysEdible()
.build();1
2
3
4
5
6
7
2
3
4
5
6
7
这会让物品:
- 总是可食用,无论饥饿值均可以吃。
- 是"零食"。
- 吃完会总会给予 6 秒中毒 II。

