[SPIGOT-7812] Crafting colored shields broken Created: 03/Jul/24  Updated: 25/Dec/24  Resolved: 03/Jul/24

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Tal K Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: Crafting, ItemMeta, Shield

Issue Links:
Problem/Incident
is caused by SPIGOT-7809 Can't set shield base color Resolved
Version: CraftBukkit version 4251-Spigot-491f367-f672c35 (MC: 1.21) (Implementing API version 1.21-R0.1-SNAPSHOT)
Guidelines Read: Yes

 Description   

Recently reported the API for setting shield base color not working ([SPIGOT-7809] Can't set shield base color - SpigotMC JIRA), which was fixed, but it seems coloring shields via crafting is broken now, as combining a shield with any banner just makes a white shield.

Additionally it seems some extra data is added by Spigot there? a Shield crafted on vanilla is

{count: 1, Slot: 0b, components: {"minecraft:base_color": "red"}, id: "minecraft:shield"}

(just the base_color component)

But one crafted on a Spigot server is

{count: 1, Slot: 0b, components: {"minecraft:base_color": "white", "minecraft:banner_patterns": [], "minecraft:block_entity_data": {components:
{"minecraft:base_color": "red"}
, x: 0, y: 0, z: 0, id: "minecraft:banner"}}, id: "minecraft:shield"}

So would be nice if that could be fixed in the API & normal crafting (I assume you'd need to have some special case logic in BlockStateMeta for shields that applies the base_color component instead of the block_entity_data component? as changing the meta type would break API, unless there's some way to do it with commodore or something like that)



 Comments   
Comment by md_5 [ 03/Jul/24 ]

I've reverted the other commit for now and reopened that ticket as this is a bigger issue than the API function.

Generated at Sat Dec 13 13:36:23 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.