I want to prevent applying Mending to certain items with certain NBT tag. Let's just say that the NBT tag is 'NoMending: 1b'. If any item has 'NoMending: 1b' NBT tag, it should not be applied with Mending. AFAIK, there are only two ways to apply enchantments to item. Enchanting Table and Anvil. For Enchanting Table part, I've found 'EnchantItemEvent' which is cancellable. But I'm not sure if this will prevent enchanting the item in Enchanting Table. What I want is, when player puts the item in Enchanting Table, it should not display 'enchant preview'-like thing in right side. It should be displayed as if we put stick(which is not enchantable item) in Enchanting Table. Right side should not be 'activated'. And for Anvil part, I've found 'PrepareAnvilEvent' (this isn't cancellable though). I'm not sure if I set the result via 'setResult' to AIR, will it be displayed as 'Not Appliable' with red X mark. In conclusion, I want them to be displayed as 'You cannot do this' as if we try to enchant stick(or any other non-enchantable item). For Anvil, it should display big red X mark, and for Enchanting Table, it should not 'activate' right side of the GUI. Are these possible? And if there any other way to apply enchantment to item other than Enchanting Table and Anvil, I want to prevent them too.