Shulkers have an attribute modifier that increases their minecraft:generic.armor attribute by 20 when they are closed, but not if they have NoAI set to true.
How to reproduce:
Summon a shulker.
While the shulker is closed, execute the following command:
/attribute @n[type=minecraft:shulker] minecraft:armor modifier value get minecraft:covered/attribute @n[type=minecraft:shulker] minecraft:armor modifier value get minecraft:covered→ ✔ The shulker has 20 armor points (unless you did it before the shulker opened for the first time, which is tracked at MC-272922).
Summon a shulker with no AI with the following command:
/summon minecraft:shulker ~ ~ ~ {NoAI:1b}/summon minecraft:shulker ~ ~ ~ {NoAI:1b}Run the command from step 2 again (make sure to be closer to the new shulker).
→ ❌ The attribute modifier doesn't exist.
Expected result:
The closed shulker with no AI would have 20 armor points.
Observed result:
The closed shulker with no AI has no armor points.
This can also be noticed when killing a shulker with NoAI vs killing a normal one (only dealing hits when it is closed). The one with NoAI takes only 2 critical hits from a Sharpness V Netherite sword to kill, while the normal closed one takes 4.