Replacing a banner with patterns in the tick immediately following it being destroyed leads to the client not seeing any banner patterns until they relog.
Steps to Reproduce:
Open a world with command blocks enabled
Place a repeating command block, set it to Always Active, and paste this command into it:
execute positioned ~ ~1 ~ unless block ~ ~ ~ minecraft:yellow_banner run setblock ~ ~ ~ minecraft:yellow_banner[rotation=12]{patterns:[{pattern:"minecraft:stripe_middle",color:"orange"},{pattern:"minecraft:stripe_left",color:"orange"},{pattern:"minecraft:stripe_right",color:"orange"},{pattern:"minecraft:stripe_top",color:"orange"},{pattern:"minecraft:border",color:"yellow"}]}
✅ Observe that it places a yellow banner which has patterns on it resembling the letter “A”.
Destroy the banner.
❌ Observe that the command block replaces the banner with a blank yellow banner with no patterns on it.
Observed Result:
The banner is replaced but none of its patterns appear. The player can middile-click the banner to see that the patterns do in fact exist on the banner server-side. And relogging or moving far enough away and coming back now shows the patterns.
Expected Result:
The banner is replaced with the correct patterns on it.
true