Natural mob equipment is not randomly damaged when swapped with another item
The bug
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
How to reproduce
Simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command (turn mobGriefing on and drop a diamond chestplate at this zombie's feet):
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}
Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
Random Armchair
To fix, maybe random mob equipment can just be pre-damaged from the beginning? That way, you won't have to update the item every possible way it can drop, and also won't need a special case anymore for 2.0 drop chance to leave damage untouched.
- Unresolved
[Mod] tryashtar- 11
- 2
- Confirmed
- Items Mob behaviour
- armor doMobLoot equipment mob
1.11.2 - 24w45a
1.11.2 17w06a 17w13a 17w14a 17w15a 17w16a 17w16b 17w17a 17w17b 17w18a 17w18b 1.12-pre1 1.12-pre2 1.12-pre3 1.12-pre5 1.12-pre6 1.12-pre7 1.12 1.12.1 1.12.2 17w43a 17w45a 17w45b 17w46a 17w47a 17w48a 17w49a 17w49b 18w01a 18w02a 18w10a 18w16a 1.13-pre1 1.13-pre9 18w44a 19w04a 1.14.4 19w40a 19w46b 20w17a 1.16.3 20w49a 21w03a 1.16.5 21w05b 21w06a 21w07a 21w08b 1.17 1.17.1 22w13a 1.19.2 24w45a
Created Issue:
Mob equipment not randomly damaged when swapped with another item
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of diamond equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Why would you expect it to be randomly damaged if you gave the entity the item fully repaired?
Mob equipment not randomly damaged when swapped with another itemNatural mob equipment not randomly damaged when swapped with another item
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command: /summon zombie ~ ~ ~ {ArmorItems:[{},{},{},
{id:leather_helmet,Count:1b}],ArmorDropChances:[0f,0f,0f,.99f]}
Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command: /summon zombie ~ ~ ~ {ArmorItems:[{},{},
{id:leather_he{},lmet,Count:1b}],ArmorDropChances:[0f,0f,0
f,.99f]}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command: /summon zombie ~ ~ ~ {ArmorItems:[{},{},
{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}
Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command: /summon zombie ~ ~ ~ {ArmorItems:[{},{},
{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}
Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command:
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command:
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command:
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command (turn mobGriefing on and drop a diamond chestplate at this zombie's feet):
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
To reproduce, simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.Example command (turn mobGriefing on and drop a diamond chestplate at this zombie's feet):
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
—
I've also noticed that sometimes the original loot isn't dropped at all, but I can't find a way to reproduce that specifically.
The bug
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
How to reproduce
Simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command (turn mobGriefing on and drop a diamond chestplate at this zombie's feet):
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
The bug
When a mob wearing randomly-generated armor is killed and the armor drops, it is given a random damage value. However, when a mob chooses to swap its spawn armor for a better piece of dropped armor, the original piece is dropped fully repaired instead of getting randomly damaged.
How to reproduce
Simply drop a piece of better (e.g. diamond) equipment next to a mob that is both wearing natural equipment and can pick up loot. It will replace its item and drop it fully repaired. If the mob were to be killed instead, the damage value would be randomized.
Example command (turn mobGriefing on and drop a diamond chestplate at this zombie's feet):
/summon zombie ~ ~ ~ {ArmorItems:[{},{},{id:leather_chestplate,Count:1b},{}],ArmorDropChances:[0f,0f,0.99f,0f],CanPickUpLoot:1b}Note that the damage is not caused by damaging the mob. The random damage is applied on death and is not changed over the lifetime of the mob.
Random Armchair
To fix, maybe random mob equipment can just be pre-damaged from the beginning? That way, you won't have to update the item every possible way it can drop, and also won't need a special case anymore for 2.0 drop chance to leave damage untouched.
Natural mob equipment is not randomly damaged when swapped with another item
Structured the report a little bit and removed the part describing MC-112198.
Right-clicking onto an adult zombie variant with a spawn egg will always spawn baby zombie without equipment or items regardless of type of zombie it is.
Steps to Reproduce
- Set difficulty to Hard
- Spawn a zombie, husk, zombie villager, or drowned
- Use the respective spawn eggs on the spawned entities
Expected & Observed Behavior
→
All of the baby zombies do not randomly spawn with random loot (armor, swords, shovels or as a chicken jockey for all variants, and tridents, fishing rods or natilus shells for baby drowned).
→
Just as the adult variants of the mobs, the zombies would spawn with randomized loot occasionally.
Screenshot(s) / Video(s):
Notes:
Related to other zombie armor issues:
MC-189525 MC-182478 MC-112198




That happens because the armor / hand drop chances are used in this case as well, which is very likely intended.
Ah, that makes sense. For a while I've thought that wasn't the case, and was confused at the seeming "exploit" of throwing a mob a better item just so you can kill it and get both 100%.
Glad to see my anxious suspicion that I never tested was false, hahaha.
Can confirm that this is still an issue in 20w49a.
Can confirm in 21w03a.
Can confirm in 21w05a.
Can confirm in 21w06a.
Can confirm in 21w07a.
Can confirm in 1.16.5 and 21w08b.
Video attached.
Affects 1.17
Can confirm in 1.17.1.
Affects 22w13a
Can confirm in 1.19.2.