Corrected formatting on new resource pack methods.
Added simple achievement message and fire event.

Also some minor documentation fixes.
Fixed firework effects not storing fade colors correctly.
Changed signs to use TextMessage for storage (fixes #528).

Minecraft 1.8 now stores sign text in json form. When reading signs, lines are
interpreted as plaintext if they fail to parse as json. The API converts from
and to old-style text messages.
Updated readme with forums link.
Validate locations in teleport (fixes #475).
Added basic enchantment definitions (fixes #262).
Minor tidying in GlowEnchantment.
Fixed spectator mode noclip and added game mode event.

Thanks to @coelho for discovering the source of the noclip problem.
Added missing deprecated scheduler methods.
Check for and warn on lack of console (fixes #581).
Disabled console check for now (see #586).
Implemented sponge block functionality.

Dry sponges absorb water that can be found within a 7 block taxicab
distance. Due to the specific implementation, a taxicab block iterator has
been added to help assist in the more complex calculation of which blocks
to absorb. The iterator has been designed for reusability.
Implemented explosions and some flint & steel behavior.

This commit adds the basics for explosions as well as the ability to
ignite TNT through the use of flint and steel. Flint and steel
implementation has been kept to a minimum to keep this commit as related
to explosions as possible. Some flint and steel behaviour still needs to
be implemented, such as only igniting flammable blocks.
Keep track of entity IDs across worlds (fixes #486 and #447).

Keeping an entity ID registry globally rather than for each world allows
entities to retain their IDs when they teleport between worlds. Entities
now do not change their ID between being created and being removed.
Print and use correct port after binding (fixes #571).

Previously GlowServer#getPort() would return the wrong port if the server
was instructed to bind to port 0 (any available port). This commit
resolves that issue by storing the port that the server actually bound to
and returning that. The bound port is also printed to the log.
Add basic random blocks tick
Add BlockCocoa, move random as protected static field to BlockType
Add BlockCrops
Add BlockMushroom