You can feed adult donkeys, horses, llamas or mules with maximum Temper value, and hand animation is not played
The bug
You can feed adult donkeys, horses or mules with maximum Temper value, and the hand animation is not played.
The distinction of this issue from MC-93825 is that it is NOT a desync, and it is not MC-236341 as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.
To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100} - Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played. - Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
You should not be able to feed said animal; as per MC-201599, it should show the hand animation but the animal should not consume the food (this was the behavior in 1.15.2).
Analysis (tentative)
Code analysis by BugCrusherszz can be found in this comment.
I think that this is the piece of code that causes the issue, but I might be wrong.
... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...
If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
Linked Issues
is duplicated by6
relates to5
- Fixed
[Mod] ampolive
[Mojang] elvendorke- 11
- 7
- Confirmed
- 1098630
- Mob behaviour Player Animation
- animation donkey feeding hand-animation horse llama mule sound temper
1.17.1 - 1.20.2
1.17.1 21w37a 21w38a 21w39a 21w40a 21w41a 21w42a 21w43a 21w44a 1.18-pre1 1.18-pre2 1.18-pre4 1.18-pre5 1.18-pre6 1.18-pre8 1.18-rc3 1.18 1.18.1-rc2 1.18.1 22w03a 22w06a 1.18.2-pre1 22w11a 22w17a 22w18a 1.19-pre1 1.19 1.19.1-pre5 1.19.2 22w42a 22w46a 23w06a 1.19.4 23w18a 1.20-rc1 1.20 1.20.1 1.20.2- 23w41a
Created Issue:
Hand animation is not played when feeding donkeys, horses or mules with hay bales
Hand animation is not played when feeding donkeys, horses or mules with hay bales.
Hand animationisnot played when feeding donkeys, horses or mules with hay balesHand animation and sounds are not played when feeding donkeys, horses or mules with hay bales
Hand animation
isnot played when feeding donkeys, horses or mules with hay bales.Hand animation and sounds are not played when feeding donkeys, horses or mules with hay bales.
Hand animation and animal eating animation/sounds are not played when feeding donkeys, horses or mules with hay bales
Hand animation and sounds are not played when feeding donkeys, horses or mules with hay bales. No visual feedback is played though the hay bales are actually consumed, and it is not a desync. This does not happen with golden carrots or apples, for example.
Hand animation and animal eating animation/sounds are not played when feeding donkeys, horses or mules with hay bales, but hay bales are consumed
Hand animation and animal animation/sounds are not played when feeding donkeys, horses or mules with hay bales. No visual feedback is played though the hay bales are actually consumed, and it is not a desync. This does not happen with golden carrots or apples, for example.
Hand animation and animal animation/sounds are not played when feeding donkeys, horses or mules with hay bales or sugar. No visual feedback is played though the hay bales/sugar are actually consumed, and it is not a desync. This does not happen with golden carrots or apples, for example.
Hand animation and animal eating animation/sounds are not played when feeding donkeys, horses or mules with hay bales, but hay balesare consumedHand animation and animal eating animation/sounds are not played when feeding donkeys, horses or mules with hay bales or sugar, but they are consumed
Hand animation and animal eating animation/sounds are not played when feeding adult donkeys, horses or mules with hay bales or sugar, but they are consumed
Hand animation and animal eating animation/sounds are not played when feedingadult donkeys, horses or mules with hay bales or sugar, but they are consumedYou can feed adult donkeys, horses or mules with hay bales or sugar with a high temper value, but hand animation and animal eating animation/sounds are not played
You can feed adult donkeys, horses or mules withhay bales or sugar witha high temper value, but hand animation and animal eating animation/sounds are not playedYou can feed hay bales and sugar to adult donkeys, horses or mules with a high temper value, but hand animation and animal eating animation/sounds are not played
Hand animation and animal animation/sounds are not played when feeding donkeys, horses or mules with hay bales or sugar. No visual feedback is played though the hay bales/sugar are actually consumed, and it is not a desync. This does not happen with golden carrots or apples, for example.You can feed hay bales and sugar to adult donkeys, horses or mules with a high temper value, but hand animation and animal eating animation/sounds are not played. No visual feedback is played though the hay bales/sugar are actually consumed, and it is not a desync. This does not happen with golden carrots or apples, for example.
You can feed hay bales and sugar to adult donkeys, horses or mules with a high temper value, but hand animation and animal eating animation/sounds are not played. No visual feedback is played though the hay bales/sugar are actually consumed, and it is not a desync. This does not happen with golden carrots or apples, for example.
You can feed hay bales and sugar to adult donkeys, horses or mules with a high temper value, but hand animation and animal eating animation/sounds are not played. No visual feedback is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825. This does not happen with golden carrots or apples, for example.
You can feed hay bales and sugar to adult donkeys, horses or mules with a high temper value
, buthand animation and animal eating animation/soundsare not played. No visual feedbackis played though the hay bales/sugar are actually consumed, and it is not a desync like inMC-93825. This does not happen with golden carrots or apples, for example.You can feed hay bales and sugar to adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825. This does not happen with golden carrots or apples, for example.
(Also only happens with hay bales, not with golden carrots).
You can feedhay bales and sugar toadult donkeys, horses or mules with a high temper value, but hand animation and animal eating animation/sounds are not played
You can feed
hay bales and sugar toadult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like inMC-93825. This does not happen with golden carrots or apples, for example.You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825.
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825.This does not happen with golden carrots on the first time.
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825.This does not happen with golden carrots on the first time.
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825.This does not happen with golden carrots on the first time. The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior.
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed, and it is not a desync like in
MC-93825.
This does not happen with golden carrots on the first time.The distinction of this issue fromMC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior.You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior.
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.
You can feed adult donkeys, horses, llamas or mules with a high temper value, but hand animation and animal eating animation/sounds are not played
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper vaule of 100.
2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper vaule of 100.
2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
relates to
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper va
ule of 100.
2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100.
2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100.
2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
I think that the cause of this bug is similar to
MC-236341. Please correct me if I'm wrong, I'm not a programmer.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
You can feed adult donkeys, horses, llamas or mules with a hightemper value, but hand animation and animal eating animation/sounds are not playedYou can feed adult donkeys, horses, llamas or mules with a high Temper value, but hand animation and animal eating animation/sounds are not played
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal.
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorse}}s with a high {{Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorse
}}s with a high {{Tempervalue, the item should not be consumed and removed from the player's inventory.)Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorses with a high Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
1. Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}2. Give the animal any food.
3.Very rarely, animations and sounds will be played one time.
4.No animations and sounds are played.
5. Notice how the food is actually consumed, i.e. it is not a desync.Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorses with a high Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorses with a high Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
relates to
You can feed adult donkeys, horses, llamas or mules with ahighTemper value, but hand animation and animal eating animation/sounds are not playedYou can feed adult donkeys, horses, llamas or mules with a maximum Temper value, but hand animation and animal eating animation/sounds are not played
The bug
You can feed adult donkeys, horses or mules with
a high temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorses with a high Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with maximum Temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorses with a high Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
You can feed adult donkeys, horses, llamas or mules withamaximum Temper value, but hand animation and animal eating animation/sounds are not played
The bug
You can feed adult donkeys, horses or mules with maximum Temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
Animations and sounds should be played, or you should not be able to feed said animal (if it is intended that you cannot feed AbstractHorses with a high Temper value, the item should not be consumed and removed from the player's inventory.)
Analysis (tentative)
Code analysis by BugCrusherszz can be found in this comment.
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with maximum Temper value. Furthermore, no visual feedback (hand animation and animal eating animation/sounds) is played though the hay bales/sugar are actually consumed.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
Animations and sounds should be played, or you should not be able to feed said animal(if it is intended that you cannot feedAbstractHorses with a high Tempervalue, the item should not be consumed and removed from the player's inventory.)Analysis (tentative)
Code analysis by BugCrusherszz can be found in this comment.
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with maximum Temper value.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
You should not be able to feed said animal; as per MC-201599, it should show the hand animation but the animal should not consume the food.
Analysis (tentative)
Code analysis by BugCrusherszz can be found in this comment.
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
You can feed adult donkeys, horses, llamas or mules with maximum Temper value,but hand animation and animal eating animation/sounds arenot playedYou can feed adult donkeys, horses, llamas or mules with maximum Temper value, and hand animation is not played
The bug
You can feed adult donkeys, horses or mules with maximum Temper value.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
You should not be able to feed said animal; as per MC-201599, it should show the hand animation but the animal should not consume the food.
Analysis (tentative)
Code analysis by BugCrusherszz can be found in this comment.
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
The bug
You can feed adult donkeys, horses or mules with maximum Temper value, and the hand animation is not played.
The distinction of this issue from
MC-93825is that it is NOT a desync, and it is notMC-236341as it happens only with a high temper value, and all food exhibits this behavior. However, sometimes golden carrots do play animation and sounds on the first time.To reproduce
- Summon a donkey, horse, llama or mule with a Temper value of 100, e.g.
/summon horse ~ ~ ~ {Temper:100}- Give the animal any food.
Very rarely, animations and sounds will be played one time.
No animations and sounds are played.
- Notice how the food is actually consumed, i.e. it is not a desync.
Expected result
You should not be able to feed said animal; as per MC-201599, it should show the hand animation but the animal should not consume the food (this was the behavior in 1.15.2).
Analysis (tentative)
Code analysis by BugCrusherszz can be found in this comment.
I think that this is the piece of code that causes the issue, but I might be wrong.
net.minecraft.world.entity.animal.horse.AbstractHorse.java (Mojang mappings, 1.18-pre1)... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); } ...If the animal's temper is equal or more than its max temper and it is not tamed, $$2 is not set to true, so the game event and animations will not play. At least, this is what I understood.
is duplicated by
is duplicated by
is duplicated by
is duplicated by
is duplicated by
relates to
relates to
is duplicated by
In 1.17.1, the items actually disappear and don't come back to the inventory (I think this is blocked by MC-233276).
The bug
You can feed hay bales to adult donkeys, horses or mules, but hand animation and animal eating animation/sounds are not played.
The distinction of this issue from MC-93825 is that it is NOT a desync, and it is not MC-233276 as it happens regardless of the animal's temper value, and no other food exhibits this behavior, only hay bales. Also unlike MC-233276, this does not affect llamas.
To reproduce
1. Summon a donkey, horse or mule.
2. Feed the animal hay bales.
3.
The hay bales will be consumed, but no animations or sounds are played.
Expected result
Animations and sounds should be played when you feed hay bales to adult donkeys, horses and mules, or adult donkeys, horses and mules should not consume hay bales to begin with, in line with how they used to behave in the past (see this comment).
Code analysis (tentative)
If adult donkeys, horses and mules should consume the hay bales:
There appears to be a missing line in AbstractHorse.java:
... protected boolean handleEating(Player $$0, ItemStack $$1) { boolean $$2 = false; float $$3 = 0.0f; int $$4 = 0; int $$5 = 0; if ($$1.is(Items.WHEAT)) { $$3 = 2.0f; $$4 = 20; $$5 = 3; } ... else if ($$1.is(Blocks.HAY_BLOCK.asItem())) { $$3 = 20.0f; $$4 = 180; /** There should be a $$5 here? */ } ... else if ($$1.is(Items.GOLDEN_CARROT)) { $$3 = 4.0f; $$4 = 60; $$5 = 5; ... } ... if ($$5 > 0 && ($$2 || !this.isTamed()) && this.getTemper() < this.getMaxTemper()) { $$2 = true; if (!this.level.isClientSide) { this.modifyTemper($$5); } } if ($$2) { this.eating(); this.gameEvent(GameEvent.EAT, this.eyeBlockPosition()); }
The variable $$5 appears to control the Temper and the eating event, and it is missing for the hay bale. Llamas override this method in their own class, which would explain why they are not affected.
If they should not consume the hay bales:
Code analysis by BugCrusherszz can be found in this comment.
I looked into this issue more, and it turns out the handleEating method returns correctly (it returns if the feeding action succeeded), so the error is caused by fedFood. See below how the ItemStack always decrements regardless if the feeding action succeeds or not. This affects all llamas, donkeys, mules, and horses, tamed or untamed.
BugCrusherszz I see, but that does not explain why only hay bales are affected in this case. Your analysis explains MC-201599 and MC-233276, but I'm quite confident that the root cause of this particular issue is the missing variable in handleEating.
Thank you for your report!
We're tracking this issue in MC-233276, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
You are actually feeding them, it's just that the hand animation and animal eating sounds are not played. Duplicate of MC-233276.
Thank you for your report!
We're tracking this issue in MC-233276 and MC-236341, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Thank you for your report!
We're actually already tracking this issue in MC-233276, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote or any additional information to the main ticket it would be appreciated.
Please be sure to use the search feature before creating a ticket to see if the issue has already been reported.
Quick Links:
📓 Bug Tracker Guidelines – 🛠 Community Support – 📧 Mojang Support – ✍️ Feedback and Suggestions – 💬 Mojira Discord
Thank you for your report!
We're actually already tracking this issue in MC-233276, so this ticket is being resolved and linked as a duplicate.
If you would like to add a vote or any additional information to the main ticket it would be appreciated.
Please be sure to use the search feature before creating a ticket to see if the issue has already been reported.
Quick Links:
📓 Bug Tracker Guidelines – 🛠 Community Support – 📧 Mojang Support – ✍️ Feedback and Suggestions – 💬 Mojira Discord
This has been fixed in 23w41a with the fix of MC-233276.
Fixed alongside MC-233276.
Duplicate of MC-233276 (now fixed).

Relates to
MC-187419.I don't think this is a duplicate of
MC-93825, because the items don't re-appear when the inventory is updated.Relates to
MC-93825andMC-236341.I think that the actual bug here could be that you are able to feed these animals with high Temper in the first place.