Update for SpoutAPI changes

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Implemented MonsterSpawnerController
Temporarily fixed BlockControllers
Signed-off-by: Windwaker <wjcrouse913@aim.com>
Add Enchantable interface for items that can be enchanted.

Signed-off-by: aPunch <theapunch@yahoo.com>
Merge pull request #184 from aPunch/master

Enchantables
Almost complete material drop system based on a concept I have. Completely
untested and needs review by my team. Also threw in BlockChangeEvent for
destroyed blocks.

A bit of explanation:
- Materials should override getDrops(Block block) to make rules.
- getDrops is called in onDestroy in VanillaBlockMaterial to get the
  drops. The engine then fires a BlockChangeEvent which allows a dev to
  potentially manipulate the block drops. After that we spawn drops. The
  drawback is that each destroy gets drops again but the benefit is true
  dynamic drops that accounts for block data.

What is needed:
- Go through and cleanup the materials. Each material needs to set
  properties in loadProperies within the material's class (remove from
  VanillaMaterials) as well as these properties need to be checked against
  the wiki again.
- Need the Vanilla testing servers to checkout each material and make sure
  their dropping rules are correct. If an incorrect one is found, report
  it on Vanilla-75.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Make toString() method of packets use ToStringBuilder, and override equals() too
Reduce code duplication in protocol tests and compare messages insteado of their toStrings()
Fix CompressedChunkCodec to correctly decode
Use Chunk size constants
Keep NetherRack (go to hell git).

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Cleanup drop rules, add SilverfishBlockController for silverfish stone.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Hopefully block drop rules are good now. As well as some cleanup.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Array index out of bounds...by 2048 LOL. Silly @zml2008.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Fix Vanilla-56: Tools have no durability. This was already implemented but
tools did not break at no durability. This fixes that mistake.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Shears should take away durability too.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Update penalty rules for Leaves, implement them as mineable.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Add InteractTool for hoes, flint and steel, etc. This is pretty much a
hack for PlayerBlockMessageHandler to get hoes to work. We definately need
a better system in place for interacting tools. Regardless, this addresses
Vanilla-89.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Update pull request guidelines link
Signed-off-by: Windwaker <wjcrouse913@aim.com>
Last cleanup of block rules to account for players that break a block with
their fist against something they shouldn't be doing so (also prevents
block drop calculation and spawning for Creative). Someone should be able
to easily come cleanup and organize patterns of block rules now.

Signed-off-by: Chris Sanders <NinjaZidane@hotmail.com>
Update for API changes

Signed-off-by: Windwaker <wjcrouse913@aim.com>