13
0
geforkt von Mirrors/Paper
Adds new flag in HIDE_STORED_ENCHANTS which was split
from HIDE_ADDITIONAL_INFO. Adds a migration to account for
this, adding the new flag if the itemstack is old and had the
old flag.
Dieser Commit ist enthalten in:
Jake Potrebic 2024-04-27 13:28:17 -07:00
Ursprung 6fedaecd54
Commit b0a676ba62
2 geänderte Dateien mit 18 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -2,6 +2,8 @@ package org.bukkit.inventory;
/** /**
* A ItemFlag can hide some Attributes from ItemStacks * A ItemFlag can hide some Attributes from ItemStacks
* @apiNote Setting these without also setting the data they are hiding
* may not result in the item flag being persisted in the ItemMeta/ItemStack.
*/ */
public enum ItemFlag { public enum ItemFlag {
@ -27,7 +29,8 @@ public enum ItemFlag {
HIDE_PLACED_ON, HIDE_PLACED_ON,
/** /**
* Setting to show/hide potion effects, book and firework information, map * Setting to show/hide potion effects, book and firework information, map
* tooltips, patterns of banners, and enchantments of enchanted books. * tooltips, patterns of banners.
* @see #HIDE_STORED_ENCHANTS HIDE_STORED_ENCHANTS for hiding stored enchants (like on enchanted books)
*/ */
HIDE_ADDITIONAL_TOOLTIP, HIDE_ADDITIONAL_TOOLTIP,
/** /**
@ -37,7 +40,13 @@ public enum ItemFlag {
/** /**
* Setting to show/hide armor trim from armor. * Setting to show/hide armor trim from armor.
*/ */
HIDE_ARMOR_TRIM; HIDE_ARMOR_TRIM,
/**
* Setting to show/hide stored enchants on an item, such as enchantments
* on an enchanted book.
*/
HIDE_STORED_ENCHANTS,
;
// Paper start // Paper start
/** /**
* Setting to show/hide item-specific information, including, but not limited to: * Setting to show/hide item-specific information, including, but not limited to:

Datei anzeigen

@ -588,6 +588,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
Object raw = args.get("meta"); Object raw = args.get("meta");
if (raw instanceof ItemMeta) { if (raw instanceof ItemMeta) {
((ItemMeta) raw).setVersion(version); ((ItemMeta) raw).setVersion(version);
// Paper start - for pre 1.20.5 itemstacks, add HIDE_STORED_ENCHANTS flag if HIDE_ADDITIONAL_TOOLTIP is set
if (version < 3837) { // 1.20.5
if (((ItemMeta) raw).hasItemFlag(ItemFlag.HIDE_ADDITIONAL_TOOLTIP)) {
((ItemMeta) raw).addItemFlags(ItemFlag.HIDE_STORED_ENCHANTS);
}
}
// Paper end
result.setItemMeta((ItemMeta) raw); result.setItemMeta((ItemMeta) raw);
} }
} }