diff --git a/eco-api/src/main/java/com/willfp/eco/internal/items/AbstractItemStackBuilder.java b/eco-api/src/main/java/com/willfp/eco/internal/items/AbstractItemStackBuilder.java index 83662126..f10d20bd 100644 --- a/eco-api/src/main/java/com/willfp/eco/internal/items/AbstractItemStackBuilder.java +++ b/eco-api/src/main/java/com/willfp/eco/internal/items/AbstractItemStackBuilder.java @@ -5,10 +5,13 @@ import lombok.AccessLevel; import lombok.Getter; import org.apache.commons.lang.Validate; import org.bukkit.Material; +import org.bukkit.NamespacedKey; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.persistence.PersistentDataContainer; +import org.bukkit.persistence.PersistentDataType; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -140,6 +143,25 @@ public abstract class AbstractItemStackBuilder { return this; } + /** + * Set persistent meta key. + * + * @param key The key. + * @param type The type. + * @param obj The object. + * @param The type. + * @param The type. + * @return The persistent key. + */ + public AbstractItemStackBuilder setPersistentKey(@NotNull final NamespacedKey key, + @NotNull final PersistentDataType type, + @NotNull final B obj) { + PersistentDataContainer container = meta.getPersistentDataContainer(); + container.set(key, type, obj); + + return this; + } + /** * Build the item. *