Hunger



Hunger is an aspect of Minecraft that governs several aspects of gameplay. Eating food fills up the food bar, which is constantly drained by the player's actions. The food bar is located on the HUD opposite to the player's health bar on the bottom of the screen and is represented by ten drumsticks, and each are equal to 2 half-units of food.

There is another aspect of hunger that is not visible to the player. This is called the food saturation level. The player's hunger will not decrease until their food saturation level reaches zero. When the saturation level is at zero, the food bar will shake or jitter periodically. The maximum value of the food saturation level is equal to the current value of your food level. This means that if, for example, your food level is 20/20 (All your drumsticks are full) then your maximum food saturation level is also 20.

While the player is sprinting, the food bar depletes very quickly. The player is not able to sprint if their food level is or less.

The food bar does not drain when playing on Peaceful difficulty. If it somehow gets depleted, such as by allowing it to deplete by switching to another difficulty and back again, it will quickly regenerate. Additionally, the food bar will not drain if the player remains completely stationary, or is simply walking.

Certain foods have a chance of inflicting Hunger status effect on the player upon consumption, which causes the player's food bar to deplete faster.

Effects

 * When the food bar is at or greater and saturation is non-empty, health regenerates at  health point each $1/2$-second, costing 1.5 food points (6 units of exhaustion) per point healed.
 * When the food bar is at points or above, the player's health will slowly regenerate at a rate of  every 4 seconds, costing 1.5 food points (6 units of exhaustion) per point healed.
 * When the food bar is at points or below, the player will not naturally regenerate health unless switching to Peaceful difficulty.
 * If the food bar is at points or below, then the player will not be able to sprint.
 * When the food bar is at, the player's health will deplete at a rate of every 4 seconds (this makes sleeping impossible). On Easy difficulty, the player's health stops dropping at , on Normal it stops at , and on Hard it keeps draining until either the player eats something or starves to death.

Food poisoning
Hunger, or food poisoning, is an effect induced by eating certain foods, which turns the food bar a sickly yellow-green and drains food more rapidly. The only foods, however, to inflict Hunger are rotten flesh, which can cause Hunger 80% of the time, raw Chicken, which causes Hunger only 30% of the time and Pufferfish, which will always cause Hunger (as well as Nausea and Poison). Eating a spider eye or poisonous potato actually deals the player Poison. The rest of the foods will not cause food poisoning. Hunger can also be caused when the player takes damage from a Husk.

Behavior
Hunger from food poisoning adds 15.0 to the player's exhaustion level over the course of 30 seconds, draining × 1⅞. In Peaceful difficulty, the food bar will change color, but will not drain out. Greenish swirls will also emit from the player, indicating that the player has food poisoning. When a pufferfish is eaten, it induces level III Hunger, but only for 15 seconds. In this time, 22.5 exhaustion points are added, draining × $2 13/16$.

The duration of Hunger does not stack. So, if the player eats many poisonous foods at once, they will only feel the negative effects of the most recent poisonous food, plus the consumption time of each other food. Also, drinking milk will negate the effect, allowing the player to potentially eat more poisonous food and constantly drink milk to fill the bar without being afflicted by Hunger.

Saturation

 * The player starts with 20 food points, i.e. a full hunger bar, and 5 saturation points. The starting exhaustion is 0.
 * Some actions increase the player's exhaustion (table see below). The exhaustion gets added up until it reaches 4. For example, sprinting generates 0.1 exhaustion points per meter, meaning that the full exhaustion is reached after 40 meters.
 * When the maximum exhaustion is reached, the saturation is decreased by one point, and the exhaustion is reset to 0. Therefore, after 200 meters of sprinting, the initial saturation is used up.
 * If the player's saturation is below 1 point, but not zero, it still resets the exhaustion to zero on consumption. This can be used to increase the efficiency by eating cookies, melons etc. one at a time.
 * As a visible sign that the saturation is used up, the hunger bar starts to shake or jitter periodically.
 * Once the saturation is empty, whenever the exhaustion reaches four, one visible point of hunger will disappear from the hunger bar. The player is now hungry.
 * Increasing hunger causes effects, culminating in the reduction of hitpoints.
 * When the player eats, they get back both hunger and saturation (table see below).
 * The total saturation never gets higher than the total number of hunger points. This means that, with a very low hunger bar, strongly saturating food will not give their full saturation. The best example is the golden carrot, giving 6 points of hunger plus 14.4 points of saturation. If the player is already very hungry, e.g. having only 2 points of hunger left over, the golden carrot would give the full 6 points of hunger but only 8 points of saturation, as the saturation is now 8. In order to provide the full 14.4 saturation, the hunger must already be 9, as 9 and 6 equals 15.
 * {| class="wikitable"

! Hunger bar ! + Hunger points ! = New hunger bar ! Saturation points
 * 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20
 * 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 20 || 20 || 20 || 20 || 20 || -
 * }
 * }

The hunger status of a player is saved in the player.dat format using the following parameters:
 * foodLevel: current state of the hunger bar.
 * foodSaturationLevel: current saturation level.
 * foodTickTimer: Increases on every tick, once the hunger bar is at least 18, or completely empty. Whenever it reaches 80, is added or deducted, depending on whether the player is saturated or starving.
 * foodExhaustionLevel: Sums up the exhaustion.

Exhaustion level increase
''Any action not listed here will not increase exhaustion level. For example, normal walking doesn't increase exhaustion, and therefore won't decrease saturation or the food bar.''