[SPIGOT-7555] ItemMeta: HideFlags truncated to byte range Created: 26/Dec/23  Updated: 25/Dec/24  Resolved: 27/Dec/23

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

Type: Bug Priority: Minor
Reporter: blablubbabc Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: HideFlags, ItemMeta, item, serialization

Version: This server is running CraftBukkit version dev-Spigot-86b5dd6-752aac6 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT)
Guidelines Read: Yes

 Description   

The HideFlags got extended in 1.20.0 (https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/3a54fb167d6354b6e39f5027bcde56641f487b8f#src/main/java/org/bukkit/inventory/ItemFlag.java), but CraftMetaItem still casts the flag values from int to signed byte (max value 127) (https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java#880).

One effect of this is that for example during item deserialization, ItemFlags with 255 as value will get converted to ItemFlags with 127 as value.

I will prepare a PR to fix this.


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