What I expected to happen was
Mobs with CanPickUpLoot=1 would pick up dropped items.
Mob spawners with CanPickUpLoot=1 in the SpawnData would be able to spawn mobs with CanPickUpLoot=1.
What actually happened was
No mob could pick up items, regardless of the state of CanPickUpLoot.
Custom spawners could not even spawn mobs with CanPickUpLoot=1.
Steps to reproduce, without external editors:
1. Make sure you are in Hard mode and Creative mode, with the gamerule mobGriefing set to false.
2. Make a small pit, and spawn a massive number of zombies, skeletons, and/or pigmen in it.
3. Drop some items, weapons, and/or armor into the pit
4. Chances are you can't tell if anything's been picked up... Fly or teleport yourself about 200 blocks above the pit.
5. Fall back down to the pit.
6. Observe that all mobs have despawned, and all items remain where you dropped them.
Had any mob picked up an item, it would not have despawned, and the item would not remain on the ground.
Steps to reproduce, the faster and less ambiguous way:
1. Spawn a zombie, pigman, or skeleton.
2. Save and quit your world.
3. Open the world in MCedit.
4. Find the mob, select the area it is in, and export to a schematic.
5. With NBTedit, set its CanPickUpLoot to 1.
6. Import the schematic back with MCedit.
7. Save the world, and return to the world in Minecraft.
8. Observe that the mob does not pick up any items you throw at it.
I've attached a schematic of a CanPickUpLoot=1 zombie and a spawner which is meant to spawn such mobs (but for some reason, they still spawn with CanPickUpLoot=0, which is rather redundant considering CanPickUpLoot=1 doesn't make a difference). Make sure you have mobGriefing set to false before trying this.
Linked issues
is duplicated by 15
relates to 2
Attachments
Comments 3
On further analysis (including trying again in a new world), I figured out that the mobGriefing gamerule was causing all of these issues. If set to false, mobs cannot steal items, and mobs created by spawner always have CanPickUpLoot set to 0 (which is rather redundant in my opinion, but that's just me).
I'll update the issue; seeing as this is not documented anywhere it may still be a bug (considering mobs which steal items are now guaranteed to not despawn, it doesn't exactly qualify as 'griefing' on the same level that explosions do).
Cannot reproduce as per screenshots. Zombies picked up the swords given to them and remained after flying to altitude 250 while the others despawned as expected.