Hunger



Hunger is a player-specific feature of Minecraft that regulates player's certain abilities (health regeneration and the ability to sprint) the value of which is managed by the player's activity.

Description
The player's hunger value is shown on the heads-up display in the form of a hunger bar (also called food bar), which is similar to health bar (located above the hotbar), located opposite to it and represented by ten drumsticks. One half of a drumstick represents one hunger point or half-unit of hunger, thus the full bar consists of twenty hunger points. It is replenished by eating food, and decreased by player's actions such as walking, sprinting, digging or attacking.

Various levels of player's hunger control health regeneration (or depletion) and the ability to sprint. When hunger is at a high enough value, the player's health will regenerate. If it falls below a specific threshold, the player loses ability to sprint. If the hunger bar is at zero, the player's health will deplete. The specific effects are described in the Effects of hunger section. The hunger value does not drain on Peaceful difficulty, and will regenerate if it is not at the maximum value.

An important aspect of hunger, which is not shown on the hunger bar, is called food saturation and controls decreasing of the hunger value. It depends on what the player has eaten last time. There is also a food exhaustion value, which controls decreasing of the food saturation level. How exactly they control the overall hunger value is described in more depth in the Mechanics section.

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. See also Food poisoning.

Mechanics
The hunger system utilizes four variables to control players' abilities, the values of which are stored in the player.dat format:
 * foodLevel: The player's current hunger level, which is shown on the hunger bar. Its initial value on world creation is 20 (full bar).
 * foodSaturationLevel: The player's current saturation level, which specifies how fast the hunger level depletes and is controlled by the kinds of food the player has eaten. Its maximum value always equals foodLevel's value and decreases with the hunger level. Its initial value on world creation is 5.
 * foodTickTimer: This variable is used when the hunger value either exceeds, or is at zero. It increases on every tick, and whenever it reaches 80 (4 seconds), it resets to zero and is added or deducted, depending on whether the player is saturated or starving. If the player has a full , $1/6$ of  times the player's saturation level is restored, up to a maximum of , when foodTickTimer reaches 10 ($1/2$ second), and foodTickTimer is reset to zero.
 * foodExhaustionLevel: The player's current exhaustion level, which specifies how fast the saturation level depletes. Its value is increased by player's actions (see Exhaustion level increase for specific values). Initial value is zero. When it reaches the maximum value of 4, it resets to zero and one point is subtracted from foodSaturationLevel.

As a visible sign that the saturation is used up, the hunger bar starts to shake or jitter periodically. When the saturation level is at zero, once the exhaustion value reaches 4, the total hunger value is decreased by one hunger point. Eating food replenishes both hunger and saturation levels (see Food level and saturation level restoration for specific values), with the hunger level being replenished first, which also increases the maximum allowed saturation level. For example, if a golden carrot (which gives and 14.4 saturation points) is eaten by a player whose hunger bar is at  and saturation is below 1, its value will increase to, and the golden carrot's saturation potential will be fully used. However, if the hunger level is lower than, the specific foodstuff's saturation points will be wasted.

Effects of hunger
Various hunger levels lead to various effects on the player:
 * When the hunger bar is at 20 and there is still some saturation left, health regenerates at up to  health point each $1/2$-second, costing 1.5 food points (6 units of exhaustion) per point healed.
 * When the hunger bar is at 18 or more with no saturation remaining, 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 hunger bar is at 17 points or below, the player will not naturally regenerate health unless difficulty is switched to Peaceful.
 * If the hunger bar is at points or below, then the player will not be able to sprint unless difficulty is switched to Peaceful.
 * When the hunger bar is at 0, 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.

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.''

Food poisoning
A status effect called Hunger (also known as food poisoning) directly affects the hunger bar, causing it to drain more rapidly. Visually, it shows itself by making the hunger bar a sickly yellow-green, and by generating greenish swirls around the affected player (as with other status effects). Food poisoning can be caused by eating three specific foodstuffs and taking damage from a husk. The foodstuffs are, which can cause Hunger with a chance of 80 %; , which causes Hunger with a chance of 30 % (both deal Hunger I for 30 seconds); and , which always causes Hunger III for 15 seconds (as well as poison and nausea).

The status effect does not decrease hunger level on Peaceful mode, although it does re-color the hunger bar. Like with other status effects, the Hunger duration does not stack (i. e. eating multiple Hunger-inflicting foods does not increase its duration), and it can be cured by drinking milk.

Hunger inflicted by eating rotten flesh, raw chicken or by accepting husk attacks adds 15.0 to the player's exhaustion level over the course of 30 seconds, draining × 1⅞. When a pufferfish is eaten, 22.5 exhaustion points are added over the course of 15 seconds, draining × $2 13/16$.

The food poisoning should not be confused with effects of eating a spider eye or a poisonous potato. They deal the Poison status effect, which decreases the health value, not the hunger value.