[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: |
|
||||||||
| 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. |