Add methods to check conflicting enchantments. Adds BUKKIT-3830
Allow fishing success rate to be adjustable. Adds BUKKIT-3837
Call EntityChangeBlockEvent when boats destroy blocks. Fixes BUKKIT-3871
Allow plugins to enchant already enchanted items. Fixes BUKKIT-1956

This causes the server to generate PrepareItemEnchantEvent even in the
case that an item is already enchanted or otherwise would normally not
be enchantable.
Add missing semicolon

I should try to compile before I say "this change is okay".
I should try to compile before I say "this change is okay".
I should try to compile before I say "this change is okay".
I should try to compile before I say "this change is okay".
for i in range(100)
Improve calling of ProjectileHitEvent. Fixes BUKKIT-3872
POM Changes.
Spigot Changes

The set of changes which provide core Spigot functionality, which would otherwise be a mess to try and apply individually.
Merge tweaks and configuration

This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.
LongHash Tweaks.

This commit adds a flat array based cache to the LongHash(Set/Map) classes leading to excellent efficiency for servers where most activity is centered around the origin (0,0)
Async Operation Catching

Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.
View Distance

This commit allows the user to select per world view distances, and view distances below 3. Be wary of the issues selecting a view distance of 1 or 2 may cause!
Address BUKKIT-3286 by firing the inventory close event when a secondary container is closed due to the player entity being destroyed. This covers all edge cases such as server stop / player kick / player quit.
Include NibbleArray from mc-dev for diff visibility
Implement 'lightening' of NibbleArrays - only allocate buffers when non-trivial value Saving from 40-45% of memory use by chunk section data.

Finish up NibbleArray lightening work - use for Snapshots, reduce copies

Fix nibble handling with NBT - arrays aren't copied by NBTByteArray
Add OldChunkLoader from mc-dev for diff visibility
Fix mcRegion-to-Anvil conversion
Update versioning check to correctly resolve api version.
Optimize packet used to unload chunks for the client

At the moment telling a client to unload a chunk involves calling the entire chunk from memory, deflating it and then sending it through the pipes even though the client ignores it and based on the bitmap simply unloads the chunk, and to add the cherry on top, this is done on the main server thread.
Skip entity.move() if we are not moving anywhere.