Bukkit/CraftBukkit — pull request #823 by khenriks (2012-07-26 16:43:07+00:00)
Title: Allow enchanting already enchanted items. Fixes BUKKIT-1956

The documentation for this event says "Called when an ItemStack is inserted in an enchantment table", but it is called only conditionally, when vanilla Minecraft rules would allow the item to be enchanted. It should be called in all cases to allow plugins to re-enchant items for example. If enchanting would not normally be allowed, the event can be set as cancelled before sending to plugins, to allow them to override it.

This would allow plugins like Superior Enchanting (http://www.planetminecraft.com/mod/superior-enchanting-system/) to be ported to Bukkit.

This should not change current behavior without plugins, but may cause strangeness with current plugins if they unconditionally set the event as not cancelled. However, this brings the behavior more in line with the documentation, which seems like a good thing.