Hello, I was playing with the new Title feature in 1.8 and decided to make a method to generate the json. Example: You have a deathmatch minigame, and when someone kills another player you want to send the players a Title for that, this is what you have to do to get the Json (IMPORTANT: You still need a library to send the actual packet or you can write that yourself): Code: getJSON(ChatColor.GOLD.toString() + ChatColor.BOLD.toString() + killer.getName() + ChatColor.WHITE + " killed " + ChatColor.GOLD.toString() + ChatColor.BOLD.toString() + player.getName()); This is what you'll get: Code: {text:"Notch ",color:gold,bold:true,underlined:false,italic:false,strikethrough:false,obfuscated:false,extra:[{text:"killed ",color:white,bold:false,underlined:false,italic:false,strikethrough:false,obfuscated:false,extra:[{text:"Jeb",color:gold,bold:true,underlined:false,italic:false,strikethrough:false,obfuscated:false}]}]} So here is the method: Code:java /*** @author werter318* @param title* @return String*/public static String getJSON(String title) {char colorChar = ChatColor.COLOR_CHAR; String template = "{text:\"TEXT\",color:COLOR,bold:BOLD,underlined:UNDERLINED,italic:ITALIC,strikethrough:STRIKETHROUGH,obfuscated:OBFUSCATED,extra:[EXTRA]}";String json = ""; List<String> parts = new ArrayList<String>(); int first = 0;int last = 0; while ((first = title.indexOf(colorChar, last)) != -1) {int offset = 2;while ((last = title.indexOf(colorChar, first + offset)) - 2 == first) {offset += 2;} if (last == -1) {parts.add(title.substring(first));break;} else {parts.add(title.substring(first, last));}} if (parts.isEmpty()) {parts.add(title);} Pattern colorFinder = Pattern.compile("(" + colorChar + "([a-f0-9]))");for (String part : parts) {json = (json.isEmpty() ? template : json.replace("EXTRA", template)); Matcher matcher = colorFinder.matcher(part);ChatColor color = (matcher.find() ? ChatColor.getByChar(matcher.group().charAt(1)) : ChatColor.WHITE); json = json.replace("COLOR", color.name().toLowerCase());json = json.replace("BOLD", String.valueOf(part.contains(ChatColor.BOLD.toString())));json = json.replace("ITALIC", String.valueOf(part.contains(ChatColor.ITALIC.toString())));json = json.replace("UNDERLINED", String.valueOf(part.contains(ChatColor.UNDERLINE.toString())));json = json.replace("STRIKETHROUGH", String.valueOf(part.contains(ChatColor.STRIKETHROUGH.toString())));json = json.replace("OBFUSCATED", String.valueOf(part.contains(ChatColor.MAGIC.toString()))); json = json.replace("TEXT", part.replaceAll("(" + colorChar + "([a-z0-9]))", ""));} json = json.replace(",extra:[EXTRA]", ""); return json;} Thanks for reading/using! <3