Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Saturation is a hidden value that is like a second hunger bar.

Most foods that you'll be eating constanly (meat, bread etc, but not watermelon) give you more saturation than hunger, but saturation can never be higher than your current food level.

This means that if I have 10 food, and 0 saturation, and I eat something that gives me 0 food and 20 saturation (doesn't actually exist) I'll only end up with 10 food and 10 saturation.

When I eat a food that gives me both, will I gain the food first, and then saturation, or the saturation first and then the food? That is, if I have 10 hunger and 0 saturation and eat something worth 10 and 20, will I end up with 20/10 or 20/20?

If I gain the saturation first, it makes it more important to constantly top off my hunger, if I want to use it most effectively, instead of waiting until I'm really low and then refilling with a couple of pieces of food.

share|improve this question
Not entirely sure, but I think saturation is just how much you eat "above" the hunger bar - i.e., if you have 9/10, and you eat something that gives 4 points, then you end up with 13/10. It won't let you eat at or above 10, and, obviously with melons, giving only 1 point, you can't get much saturation. – Unionhawk May 4 '12 at 13:39
@Unionhawk Actually saturation is an entirely different value that food gives:… – Mr Smooth May 4 '12 at 13:42
Okay, then I'd be interested to see what the answer to this is as well - I'm tired of melons. – Unionhawk May 4 '12 at 15:46
up vote 1 down vote accepted

The food level increases first. That's all there is to it. Here's a piece of code from, courtesy of the Minecraft Coder Pack:

public void addFoodStats(int foodIncrease, float saturationIncrease)
    foodLevel = Math.min(foodIncrease + foodLevel, 20);
    foodSaturationLevel = Math.min(foodSaturationLevel + (float)foodIncrease * saturationIncrease * 2.0F, foodLevel);

As you can see, the food level is increased first. Then, the saturation level is added based on the new food level value.

Therefore, waiting vs constant top-offs will probably have little effect on your food's efficiency.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.