Relates to MC-312596.
Much like with banners, there exist no checks to tell if an inline banner pattern is valid for a shield to display. This means that executing a command with an invalid shield pattern gives an item which has no texture to display, resulting in the error fallback texture being used, which is something that should never happen if the active resource packs are all correctly configured.
To reproduce, run this command: /give @s minecraft:shield[minecraft:banner_patterns=[{pattern:{asset_id:"minecraft:some_nonexistent_pattern_type",translation_key:""},color:"white"}]]
Expected results: either the game would catch that the banner pattern ID is invalid and block the command, or the invalid banner pattern would be deleted from the item as it is given.
Actual results: we get a shield which looks completely broken and should not exist.
Thank you for helping us improve Minecraft! We saved your files: