src/main/java/com/davidcubesvk/repairItem/utils/BlockedItem.java
/**
     * Compares the given item and returns whether it should (is) be blocked (it's properties are equal to the blocked
     * item's) <code>true</code>, otherwise <code>false</code>.
     *
     * @param itemStack the item to compare
     * @return whether the given item should (is) blocked
     */
Compares the given item and returns whether it should (is) be blocked (it's properties are equal to the blocked
item's) true, otherwise false.

@param itemStack the item to compare
@return whether the given item should (is) blocked
Compares the given item and returns whether it should ( is ) be blocked ( it ' s properties are equal to the blocked item ' s ) true otherwise false . @param itemStack the item to compare @return whether the given item should ( is ) blocked
public boolean compare(ItemStack itemStack) {
        if (metaDependent && !itemStack.hasItemMeta())
            return false;
        if (typeSet && type != itemStack.getType())
            return false;
        if (metaDependent) {
            ItemMeta itemMeta = itemStack.getItemMeta();
            if (nameSet && (!itemMeta.hasDisplayName() || !name.equals(itemMeta.getDisplayName())))
                return false;
            else if (loreSet && (!itemMeta.hasLore() || !lore.equals(itemMeta.getLore())))
                return false;
            else if (enchantmentsSet && (!itemMeta.hasEnchants() || !enchantments.equals(itemMeta.getEnchants())))
                return false;
            else if (flagsSet && !flags.equals(itemMeta.getItemFlags()))
                return false;
            else if (unbreakableSet && unbreakable != itemMeta.isUnbreakable())
                return false;
        }
        return true;
    }
public boolean compare ( ItemStack itemStack ) { if ( metaDependent && ! itemStack . hasItemMeta ( ) ) return false ; if ( typeSet && type != itemStack . getType ( ) ) return false ; if ( metaDependent ) { ItemMeta itemMeta = itemStack . getItemMeta ( ) ; if ( nameSet && ( ! itemMeta . hasDisplayName ( ) || ! name . equals ( itemMeta . getDisplayName ( ) ) ) ) return false ; else if ( loreSet && ( ! itemMeta . hasLore ( ) || ! lore . equals ( itemMeta . getLore ( ) ) ) ) return false ; else if ( enchantmentsSet && ( ! itemMeta . hasEnchants ( ) || ! enchantments . equals ( itemMeta . getEnchants ( ) ) ) ) return false ; else if ( flagsSet && ! flags . equals ( itemMeta . getItemFlags ( ) ) ) return false ; else if ( unbreakableSet && unbreakable != itemMeta . isUnbreakable ( ) ) return false ; } return true ; }
Compares the given item and returns whether it should (is) be blocked (it's properties are equal to the blocked
 item's) <code>true</code>, otherwise <code>false</code>.
Compares the given item and returns whether it should ( is ) be blocked ( it ' s properties are equal to the blocked item ' s ) <code > true< / code > otherwise <code > false< / code > .
//If the comparing is meta-dependent and item meta is not present //If type is set and they do not equal //If comparing item metas //The item meta //If the name is set and they do not equal //If the lore is set and they do not equal //If the enchantments are set and they do not equal //If the flags are set and they do not equal //If the unbreakable is set and they do not equal //Block the item