How to reproduce:
Run command "/gamerule mobGriefing false"
Place Powder Snow
Obtain a Bow enchanted with Flame
Shoot the Powder Snow with the Bow
Expected result: the snow is broken.
Observed behavior: the snow is not broken, and the arrow passes right through.
I feel that this is unintentional because Player-shot arrows aren't created by mobs, and thus should not be affected by the game rule.
Code analysis (Mojang mappings, 23w05a):
PowderSnowBlock#entityInside(...)
checks if the intersecting entity is on fire and if mob griefing is enabled or the entity is a player. As arrows are not players, they cannot destroy the block:I imagine something like this could be used instead: