The direct impact damage from Wither skulls is not reduced by the Projectile Protection enchantment, unlike damage from Ghast/Blaze fireballs. This may be intentional, but it's inconsistent with ghast fireballs at least.
To reproduce
This is most easily reproduced in a world with no nearby mobs and mob spawning disabled.
Give yourself two leather helmets, leggings and boots; enchant one set with Projectile Protection IV and leave the other unenchanted
Set a repeating command block that clears the Wither effect from the player
Set
/gamerule naturalRegeneration false
and change to Hard difficulty and Survival modeSummon a wither with the following command:
/summon wither ~ ~ ~ {Attributes:[{Name:generic.follow_range,Base:0}]}
The wither still attacks, but will stay in place and not chase you, making it easier to get away from it.
Approach the wither and get hit by one of its skulls while wearing the unenchanted armor, heal yourself to full health and repeat the same with the enchanted armor.
Spawn a ghast and repeat the same.
Notice how the Projectile Protection armor significantly reduces damage from the ghast, but not the wither.
Code analysis
This is likely because in net.minecraft.world.entity.projectile.WitherSkull.onHitEntity()
, the damage source passed to the target entity doesn't call setProjectile()
(like ghast/blaze fireballs and arrows do).
Linked issues
relates to
Comments

Appears to have been fixed in 20w22a, likely as a side effect of fixing MC-178441.
Cannot reproduce in 1.16.2 Pre-release 1.