Feed System
Description: Horses require adequate daily nutrition and consistent meals to remain happy and healthy. This system works cooperatively with the Thirst System.
Basics & Finding Food
Food search radius is a configurable value - default is 15 but can be set from 5-40. Increasing this value can cause lag.
Horses will become hungry once per day, and will need approximately 1 (Quality) Bale or 112 grass blocks between 7AM-8PM, though there are many different combinations that a horse can be fed to meet their nutritional requirements. When food is available, horses can eat:
- From placed grain feeders and hay feeders in a 15 block search radius
- From placed bales or natural food (ie grass) in a 15 block search radius
- Items dropped onto the ground by a player in a 15 block search radius
- Items hand-fed by a player
Food Bar
This bar is NOT an indicator of daily hunger or food intake, but the Horse's overall food status. It decreases from full to empty as the horse fails to consume enough food on a single day or continuously over several days. Each level decrease indicates a different stage of hunger, from fully fed (full) to starving (empty). Giving your horse extra food on a single day will not increase the value immediately, but will gradually over a day or more. See below for an explanation of how meals and missed meals work.
Meals
Horse hunger is a configurable value - if it is disabled none of your horses will experience hunger.
Horses have a meal time at 7AM every day after the horse wakes up.
- The hunger level is decreased by dropping the meal points to 0 so they can eat again.
- Meal times will be skipped if the player sleeps through a storm
- Meal times will be skipped if the horse is not rendered/loaded (so you can go explore or play elsewhere in SP)
Meals will be totaled up at 8PM every night before the horse sleeps.
- The meal for that day will be logged as either met or missed.
Missed Meals
Horse will satisfy a meal requirement if they consume 224+ points of food per day. When satisfied, they can progress between status' of hunger depending on whether they have missed any meals previously. A horse that is missing 0 meals will be considered fed, or fully fed if grain is provided daily.
If a horse fails to consume 224+ points of food in a day, that 'meal' will be missed. Missing meals will deteriorate the hunger status and slowly accumulate debuffs. Health can also be affected. Missed meals must be recovered; each meal your horse satisfies will decrease the missed meals value by 1 meal. Craft and use the Vet Bag to view the status of any missed meals.
Food Level (GUI) | Status | Missed Meals | Gaits | Speed | Obedience |
5 | Fully Fed | 0 | --- | --- | +10% |
4 | Fed | 0 | --- | --- | --- |
3 | Hungry | 1 | -2s Stamina | -10% | -10% |
2 | Malnourished | 3 | Max. Canter | -20% | -20% |
1 | Starving | 7 | Max. Walk | -- | -30% |
Points
Point values for food varies - some foods are more nutritious than others, requiring fewer items/servings to meet the meal points. Each food has a maximum that can be fed before a horse becomes unhappy, and a maximum that can count towards their meal points - feeding in excess of this will not be counted as nutrition and will make your horse angry!
Saturation
To prevent them from consuming all their daily food in high-point items immediately on wake up, horses have a simple 'saturation' system. Each point they eat gets converted into a time before they can eat again - this also gives horses some time to just wander around, play idles etc.
Saturation (Calculation)
Each point consumed satisfies the horse for 40 ticks (2 seconds).
Pts x 40ticks = # tick delay
Delay / 20 = seconds delay
Seconds / 60 = minutes delay (if necessary)
One minecraft hour is 1000 ticks, so each 1000pt delay will be one hour wait to eat again in game time.
Quality Bale (Example)
Bales give 112pts per slab = 4,480 ticks (3.7 minutes)
A horse that eats a bale at 7AM (1000 ticks) would not want to consume more food until 11:30AM (5480 ticks)
Grass (Example)
Grass gives 2pts per block or item consumed = 80 ticks (4 seconds).
Horses can near continuously eat grass with a few seconds delay until their points are satisfied if they are not saturated from any other food type.
Points (All Food)
Contribution |
The maximum number of points that can be put towards meals each day. Restricts low-value or unhealthy foods (treats) meeting 100% of the horses's daily nutritional needs. |
Food |
The specific food item |
Points |
How many points one single serving of that food gives towards a meal |
Minimum |
The minimum servings to meet or max the points towards daily point requirements |
Maximum |
The maximum servings before a horse becomes angry (displays red particles) |
Other |
Any buffs or debuffs |
Contribution (1D) | Food | Points | Minimum | Maximum | Other |
Treats | |||||
13pts | Bamboo | 3 | 3 | 7 | 1pts affinity |
Beets | 3 | 3 | 7 | 1pts affinity | |
Carrot | 5 | 4 | 5 | 2pts affinity | |
Sugar Cube | 5 | 1 | 5 | 2pts affinity | |
Watermelon Slice | 5 | 4 | 5 | 2pts affinity | |
Sweetberries | 7 | 1 | 3 | 3pts affinity | |
Honey | 7 | 1 | 3 | 3pts affinity | |
Apple | 7 | 2 | 3 | 3pts affinity | |
Honeycomb | 11 | 1 | 2 | 5pts affinity | |
Pumpkin | 11 | 1 | 2 | 5pts affinity | |
Melon | 11 | 1 | 2 | 5pts affinity | |
Grass Feeds | |||||
224pts | Grass/Shrooms | 2 | 112 | none | --- |
Oat Bushel | 10 | 4 | 5 | --- | |
Timothy Bushel | 14 | 4 | 5 | --- | |
Alfalfa Bushel | 14 | 4 | 5 | --- | |
Timothy Bale | 56 | 2 | 3 | --- | |
Timothy Slab | 28 | 4 | --- | ||
Alfalfa Bale | 56 | 2 | 3 | --- | |
Alfalfa Slab | 28 | 4 | --- | ||
Quality Bale | 224 | 1 | 2 | --- | |
Quality Slab | 112 | 2 | 3 | --- | |
Grains | |||||
112pts | Sweet Feed | 112 | 1 | 2 | --- |
Rose Feed | 112 | 1 | 2 | --- | |
One-Off Treats | |||||
0pts |
Golden Apple | 0 | --- | --- | 2kpts affinity |
GAP | 0 | --- | --- | 5kpts affinity | |
Golden Carrot | 0 | --- | --- | 1kpts affinity | |
Glistering Melon | 0 | --- | --- | 1kpts affinity |
One-off treats heal the horse 100% of all ailments and health but can only be give ONCE to get the perks.
Health
Horses meal points contribute points (XP) towards their health stat. Horses that are fed their maximum points daily will progress faster through the levels, by virtue of eating more, than those who miss meals.
If a horse is not fed, it does not lose XP from the health stat.
Negative Debuffs
When a horse is starving, their maximum health value will decrease at 0.5 hearts (1HP) per day they are starving.
- Maximum HP will keep decreasing until a horse is missing 0 meals (fed)
- Maximum HP will be capped at 3 hearts (6HP) at the lowest
- Actual HP will not decrease unless a horse takes physical damage
- Maximum HP will recover gradually each day the horse is not missing any meals and drinks
Additional
Tack & Leading
Horses will not eat if they are wearing a bridle or on a lead (including if hitched). This is intentional to reduce the horse going into an eating animation while being ridden, or pathing to food while being led by a player. Leaving a horse tacked or hitched will restrict their ability to satisfy hunger.
Priority
Horses will always prioritize water over food if both are available, within their search radius and the horse is hungry/thirsty. After water is satisfied, the horse will prioritize food in the order of treats > grain > bales > grass.
Starvation
Critically starving horses will not poop as they are not taking in adequate nutrition to digest or excrete.
Fatality
Horses will not die directly from critical hunger and fatality will not be implemented as a feature. However, horses can die from taking damage and are much more likely to do so with a decreased max health stat. The implemented system of missed meals encourages players to keep their horses well fed and rehabilitate their horses back to full health with regular care to provide a non-fatal consequence to neglect.
Xaero's Minimap has a useful feature to display the in-game time so you never have to miss your mealtimes again!
Troubleshooting
[Read More] My horse is not eating!
The most likely reason for a horse not eating is:
- Horses are not loaded during meal times (7:00AM) so their needs were not set to decrease
- The world has /gamerule doDaylightCycle set to false so time does not pass to allow meal times to take effect
- The world has /gamerule mobGriefing set to false so horses cannot eat grass (should not effect feeders/bales)
- Horses cannot eat food - wearing a bridle, attached to a leadrope or hitched.
- Horses cannot access food - obstructed by something else (ie shavings around a slow feeder)
- Horses cannot find food in their search radius - about 15B in any direction to reduce lag for multiple searching horses.
- Horses have already eaten enough to satisfy their meal points and do not need to eat any more
If your horse seems to be hanging around their feeder/trough, try giving them a nudge away incase they are 'stuck'.
[Read More] My horse is missing meals even though I provided food!
The most likely reason for a horse missing meals is your horses has not loaded for long enough to meet their points requirement. This is most often the case with grazing in which a horse needs to consume 112 blocks per day (which takes time) and if they are not rendered for long enough to do so, or cannot satisfy their dinner meal before they sleep, they will have missed a meal. Try supplementing your horse with bales, or checking on them ahead of the food check at 8PM to make sure they don't need any extra food.
[Read More] The mealtimes are just too much work, but I still want hunger!
Unfortunately we can only offer immersive realism, or disabling needs entirely at this point. If you are finding the feeding system to occupy too much of your MC day (and you don't like that), you can do one of the following:
- Pause the time for a while if you have access to commands
- Avoid rendering them around hungry time on days you just want to chill
- (MP) Board your horse out to another player to take care of (or who won't render them) for a while.
- Turn off one or the other (hunger or thirst) to reduce your daily tasks. Disabling hunger will impact your ability to level health, whereas disabling thirst will have less significance on gameplay.
[Read More] How to set hunger related stats or needs?
Players must have sufficient permissions (OP or ranks on MP servers) or cheats enabled (SP) to use commands.
/time set 999
Change the time to ~7:00 AM - just before the morning meal time
/swem set allNeeds [1-5]
Set a horse's needs (health, hunger, thirst) to the specified value or level.
/swem set health [1-5]
Set a horse's health value to the specified value (HP: 6 / 10 / 20 / 30 / 40)
Note: Will be capped by the maximum value allowed with the health skill.
/swem set hunger [1-5]
Set a horse's hunger status to the specified level (1 - Starving / 5 - Fully Fed)
/swem set thirst [1-5]
Set a horse's thirst status to the specified level (1 - Exsiccosis / 5 - Quenched)
Known Issues
If you find an issue, please report it to our bugs channel on Discord. We ask that you look to see if your issue was reported first!
- [-] Horses will lean in to eat 1B high foods (half height), but snap out afterwards (missing transition animation)
Trivia
Meal times are fondly referred to as 'hungy' times - which is not a typo. These have been referred to as that ever since the initial concept for a meal and time based food system, and that phrase is accurate even down to the code level.
Changelog
View Changes
This is not a complete list of version changes / fixes. It is a changelog of relevant wiki-related version information.
MC Version | Release | Notes |
1.18.2 |
1.18.2-1.3.0 [Beta] | [Bug Fix] Should have resolved uncommon issue of needs not resetting at 999. |
1.18.2-1.2.8 | [Bug Fix] Wild horses no longer eat constantly (use saturation/point limits) | |
1.18.2-1.2.7 | Implemented new feed system with 'hungy times', meals, points and health. |
|
1.16.5 | 1.16.5-0.5.3.20 |
Feed system is broken in 1.16.5 release and will not be updated.
|