SPIGOT-3336: HideFlags will now serialize as a List rather than a Set.

HideFlags will be serialized as a list and deserialized as an Iterable.
This will allow maximum flexibility on both the formats it can be
serialized into and formats it can be deserialized from.

By: Jeremy Wood <farachan@gmail.com>
This commit is contained in:
CraftBukkit/Spigot 2017-06-14 09:17:14 -04:00
parent d3b6e87d27
commit c2453f20d4

View File

@ -384,7 +384,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
setRepairCost(repairCost);
}
Set hideFlags = SerializableMeta.getObject(Set.class, map, HIDEFLAGS.BUKKIT, true);
Iterable<?> hideFlags = SerializableMeta.getObject(Iterable.class, map, HIDEFLAGS.BUKKIT, true);
if (hideFlags != null) {
for (Object hideFlagObject : hideFlags) {
String hideFlagString = (String) hideFlagObject;
@ -777,7 +777,7 @@ class CraftMetaItem implements ItemMeta, Repairable {
builder.put(REPAIR.BUKKIT, repairCost);
}
Set<String> hideFlags = new HashSet<String>();
List<String> hideFlags = new ArrayList<String>();
for (ItemFlag hideFlagEnum : getItemFlags()) {
hideFlags.add(hideFlagEnum.name());
}