Disconnect for spam in the main thread
Fix Biome Decoration Crashes

We don't really know what affect this will have on the terrain generation, but its better than crashing and not having terrain generate at all!
Fix orebfuscator startup message showing hide blocks instead of replace blocks
Clear chunkTickList at the end of every tick.
Update Chest Animation when Cancelling Event

Update chest animation after cancelling InventoryOpenEvent. Fixes BUKKIT-1440

Currently if a plugin cancels an InventoryOpenEvent for vanilla chests,
the chest animation for clients is stuck in the open state since
IInventory's closeChest method is never called. To fix the issue, closeChest
is called before exiting the display GUI method.
More info can be found here
https://bukkit.atlassian.net/browse/BUKKIT-1440
Update Client's Hand when BlockPlaceEvent Cancelled

Send a Packet103SetSlot to client when a BlockPlaceEvent is cancelled.

Fixes BUKKIT-5284

Currently, whenever a player places a block in a protected area the
equipped itemstack size on client is never updated properly since the
client thinks the block was placed. The reason this happens is because
ItemStack.matches returns true since the server does not decrement stack
size if a BlockPlaceEvent is cancelled. This causes
PlayerConnection.a(handlePlace) not to send the appropriate packet to
client which causes the bug.
Allow statistics to be disabled/forced
Fix anvil collisions

This fixes the server incorrectly moving the player out of an anvil when touching it on the side. The server used the rotation of the last placed anvil instead the of the rotation of the anvil the player was touching.
Fix ItemStack Unbreakable Code.

This code needs brackets to be compiled correctly.
Take 2 at fixing unbreakable code
Add more code to try and Debug [Mojang] Crash Reports Crashing
Replace AutoSave Mechanism

The problem here is that MinecraftServer.save(..), will attempt to sleep whilst all pending chunks are written to disk, however due to various and complicated bugs, it will wait for an incorrect amount of chunks, which may cause it to sleep for an overly long amount of time. Instead we will mimic the save-all command in its behaviour, which is both safe and performant.
Remove accidentally added code
Tweak tab complete disabled to only disable completion of the /command section, and not any subsequent arguments to the command, such as player names or plugin provided completions.
Revert previous change to clear chunk list on the end of each tick, make it configurable instead.
Whilst the new behaviour was technically correct as it prevented the possibility of the chunk tick list actually increasing over time, it introduced a few issues, namely the fact that it slowed growth to unreasonable levels, and interfered with the values which server admins have finally tuned, and come to enjoy over the last few years.
If it is absolutely essential that growth be halted and ticking reduced as much as possible, the config option is there for power users.
If we wish to 'fix' this by default in the future, a new chunk ticking algorithm, which actually has meaningful config options should be designed.
Fix ConcurrentModificationException while being idle kicked in a vehicle
Move replace-commands to commands.replace-commands
Upstream merge
Block data values that crash the client
Add getRawAddress back