Mobs with a drop chance of 0 can still drop their item when they pick up a better item. With a drop chance of exactly 0 this happens in about 10% of the cases where a mob picks up an item.
- Summon multiple mobs with a drop chance of 0. Do this for example by using the following command multiple times
- Summon a better item for all mobs
- Wait until the mobs have picked up the sword
- List all items
→ You should see stone items being listed; if not repeat the steps again
Based on 1.11.2 decompiled using MCP 9.35 rc1
The method net.minecraft.entity.EntityLiving.updateEquipmentIfNeeded(EntityItem) uses the condition (double)(this.rand.nextFloat() - 0.1F) < dropChance to drop the current item. This creates problems like this because for example 0 - 0.1 < 0. Additionally this calculation breaks the concept of drop chances. For example a very unlikely dropped item with a chance of 0.0001% is suddenly dropped in 10.0001% of all cases where a mob picks up an item.
A better calculation could for example be