Chat

From wiki.vg
Revision as of 19:35, 27 January 2011 by 14mRh4X0r (talk | contribs) (→‎Colors: added hex values)
Jump to navigation Jump to search

Chat strings are subject to myriad limitations imposed by defects in the Notchian server and client, and also have special meanings for certain characters.

Character Set

The following list of characters is known to be supported by the Notchian server:

"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_'abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»"

Characters not in this list will cause Notchian servers to kick clients, and Notchian clients to choke and die horribly.

Colors

The Notchian client has support for colorized text. To select a color, a color escape code, similar to an ANSI color escape code, is inserted to change the color of the following characters.

Sample Code Common Name Foreground Color Background Color Hexadecimal
R G B R G B
&0 Black 0 0 0 0 0 0 #000000
&1 Dark blue 0 0 170 0 0 42 #0000aa
&2 Dark green 0 170 0 0 42 0 #00aa00
&3 Dark cyan 0 170 170 0 42 42 #00aaaa
&4 Dark red 170 0 0 42 0 0 #aa0000
&5 Purple 170 0 170 42 0 42 #aa00aa
&6 Gold 255 170 0 42 42 0 #ffaa00
&7 Gray 170 170 170 42 42 42 #aaaaaa
&8 Dark gray 85 85 85 21 21 21 #555555
&9 Blue 85 85 255 21 21 63 #5555ff
&a Bright green 85 255 85 21 63 21 #55ff55
&b Cyan 85 255 255 21 63 63 #55ffff
&c Red 255 85 85 63 21 21 #ff5555
&d Pink 255 85 255 63 21 63 #ff55ff
&e Yellow 255 255 85 63 63 21 #ff5555
&f White 255 255 255 63 63 63 #ffffff

These correspond very roughly to the colors available in ANSI terminals.

A color escape code is created by combining the control character § (U+00A7) with the character specifying the color; thus, "§4" selects dark red as the color for the following text.

Bugs

The Notchian client expects that a color escape code in a chat message will be followed by at least one character, and will otherwise crash with a StringIndexOutOfBoundsException. The workaround for servers is to never end a message with a color control character.