SpongePowered/SpongeAPI — pull request #47 by ST-DDT (2014-09-09 20:37:34+00:00)
Title: Added ChatAPI

Suggestion for a chat API supporting all features introduced in 1.7:
https://github.com/Bukkit/Bukkit/pull/1111
This PR can also be used for the features introduces in 1.8 (signs and books) as well.
(I should work with the title screen as well.)

All authors gave permission to relicence it under MIT.

Due to a lack of matching classes i copy/pasted it just yet.
Any suggestions for improvements?

**PR Breakdown:**

This PR adds a builder interface based on a ````Message```` to which you append ````Part````s to build a rich chat message containing (or not):

* a ````ChatColor```` compatible text, a localized text, an ````ItemStack```` name or an ````Achievement```` name ;
* an optional ````Hover```` text (showing a multi-color multi-line text, an ````ItemStack```` description or an ````Achievement```` description) ;
* an optional ````Click```` action (executing commands / sending chat message, proposing commands / proposing chat message, or opening urls (actually opens the prompt)).

These messages handle colors and formatting using ````ChatColor```` just like standard messages.

Many (many) shortcuts have been added to ````Message```` to make it easier to append specific elements, see ````Message```` static constructors, append methods and insert methods.

````Message```` and ````Part```` will be ````ConfigurationSerializable```` making it easy to save and load them from a config file.

**Previous authors:**
* @bendem did a lot of things
* @Ribesg did a lot of things
* @ST-DDT did a lot of things