mojira.dev
MC-182897

Some passenger mobs don't count to the mob cap

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

  1. 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:".

  2. Spawn a husk
    ✔ The husk is counted for the "Monster" category

  3. Spawn a husk riding a minecart

    /summon minecart ~ ~ ~ {Passengers:[{id:husk}]}

    ❌ The husk is not counted

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

Attachments

Comments 2

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.

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.

Nick Gafurov

(Unassigned)

Confirmed

(Unassigned)

mojang_internal_1

20w19a

Retrieved