package me.lethunderhawk.minion.enchantedVariant.item.abstraction; import org.bukkit.NamespacedKey; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; import java.util.HashSet; import java.util.Set; public final class EnchantedItemRegistry { private EnchantedItemRegistry() {} // Items that are NOT allowed to be placed private static final Set NO_PLACE_ITEMS = new HashSet<>(); public static void registerNoPlaceItem(NamespacedKey key) { NO_PLACE_ITEMS.add(key); } public static boolean isNoPlaceItem(ItemStack item) { if (item == null || !item.hasItemMeta()) return false; ItemMeta meta = item.getItemMeta(); PersistentDataContainer pdc = meta.getPersistentDataContainer(); for (NamespacedKey key : NO_PLACE_ITEMS) { if (pdc.has(key, PersistentDataType.STRING)) { return true; } } return false; } }