The bug
Starting with 20w18a some mobs do not count to the mob cap anymore if they are a passenger (e.g. riding a minecart).
The following mobs are not affected:
Mobs which can be part of a raid (e.g. witch)
Fish
Reproduction steps
Open the debug screen (
F3
)
The following steps refer to the "M:" ("Monster") mob category shown in the line starting with "SC:" on the left below "Local difficulty:" and above "Sounds:".Spawn a husk
✔ The husk is counted for the "Monster" categorySpawn a husk riding a minecart
/summon minecart ~ ~ ~ {Passengers:[{id:husk}]}
❌ The husk is not counted
Destroy the minecart
✔ Now the husk is counted
Code analysis
20w19a, Mojang names
In 20w18a net.minecraft.world.entity.Mob.requiresCustomPersistence()
was changed to return whether the mob is a passenger instead of always returning false
. This might have been done to fix MC-178013, since this method is also used to determine whether a mob can despawn, but has the probably unintended side-effect described in this bug report.
Additionally it is not consistent whether passenger mobs count to the mob cap, because the classes overriding requiresCustomPersistence()
do not consider the parent result.
Linked issues
is duplicated by 6
Attachments
Comments 2
Honestly, this cannot be "intended". The feature of mobs in carts counting in the mob cap exists since years and the mob switch were invented 4 years ago using this intended feature. I built mine 2 months ago spending 80 hours taking 290 shulkers from the End and now this machine is broken. Please revert this change or add a gamerule that allow us technical players to use mobswitchs, because this broken feature is stopping me from jumping to 1.16, like many other technical players.
Can confirm that shulkers in minecarts do not count toward the cap, but outside of minecarts they do. Can also confirm that witches in minecarts still count toward the cap.