Food is a core aspect of survival Minecraft, so when creating edible items you have to consider the food's usage with other edible items.
Unless you're making a mod with overpowered items, you should consider:
- How much hunger your edible item adds or removes.
- What potion effect(s) does it grant?
- Is it early-game or endgame accessible?
Adding the Food Component
To add a food component to an item, we can pass it to the Item.Properties instance:
java
new Item.Properties().food(new FoodProperties.Builder().build())1
Right now, this just makes the item edible and nothing more.
The FoodProperties.Builder class has many methods that allow you to modify what happens when a player eats your item:
| Method | Description |
|---|---|
nutrition | Sets the amount of hunger points your item will replenish. |
saturationModifier | Sets the amount of saturation points your item will add. |
alwaysEdible | Allows your item to be eaten regardless of hunger level. |
fast | Increases the speed your item is eaten. |
effect | Adds a status effect when you eat your item. Usually a status effect instance and chance is passed to this method, where chance is a decimal percentage (1f = 100%) |
When you've modified the builder to your liking, you can call the build() method to get the FoodProperties.
java
public static final FoodProperties POISON_FOOD_COMPONENT = new FoodProperties.Builder()
.alwaysEdible()
.fast()
// The duration is in ticks, 20 ticks = 1 second
.effect(new MobEffectInstance(MobEffects.POISON, 6 * 20, 1), 1.0f)
.build();1
2
3
4
5
6
2
3
4
5
6
Similar to the example in the Creating Your First Item page, this will use the above component:
java
public static final Item POISONOUS_APPLE = register(
new Item(new Item.Properties().food(POISON_FOOD_COMPONENT)),
"poisonous_apple"
);1
2
3
4
2
3
4
This makes the item:
- Always edible, it can be eaten regardless of hunger level.
- A "snack".
- Always give Poison II for 6 seconds when eaten.

