EnchantedItemRegistry.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package me.lethunderhawk.minion.enchantedVariant.item.abstraction;
  2. import org.bukkit.NamespacedKey;
  3. import org.bukkit.inventory.ItemStack;
  4. import org.bukkit.inventory.meta.ItemMeta;
  5. import org.bukkit.persistence.PersistentDataContainer;
  6. import org.bukkit.persistence.PersistentDataType;
  7. import java.util.HashSet;
  8. import java.util.Set;
  9. public final class EnchantedItemRegistry {
  10. private EnchantedItemRegistry() {}
  11. // Items that are NOT allowed to be placed
  12. private static final Set<NamespacedKey> NO_PLACE_ITEMS = new HashSet<>();
  13. public static void registerNoPlaceItem(NamespacedKey key) {
  14. NO_PLACE_ITEMS.add(key);
  15. }
  16. public static boolean isNoPlaceItem(ItemStack item) {
  17. if (item == null || !item.hasItemMeta()) return false;
  18. ItemMeta meta = item.getItemMeta();
  19. PersistentDataContainer pdc = meta.getPersistentDataContainer();
  20. for (NamespacedKey key : NO_PLACE_ITEMS) {
  21. if (pdc.has(key, PersistentDataType.STRING)) {
  22. return true;
  23. }
  24. }
  25. return false;
  26. }
  27. }