Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Format.java
- // Extented part
- public static String convertToJson(ChatMessage lastChatMessage) {
- MineverseChatPlayer icp = MineverseChatAPI.getMineverseChatPlayer(lastChatMessage.getSender());
- JsonFormat formatName = MineverseChat.jfInfo.getJsonFormatName(icp.getJsonFormatName());
- JsonFormat formatPrefix = MineverseChat.jfInfo.getJsonFormatPrefix(icp.getJsonFormatPrefix());
- JsonFormat formatSuffix = MineverseChat.jfInfo.getJsonFormatSuffix(icp.getJsonFormatSuffix());
- String f = lastChatMessage.getFormat().replace("\\", "\\\\").replace("\"", "\\\"");
- String c = lastChatMessage.getChat().replace("\\", "\\\\").replace("\"", "\\\"");
- String json = "[\"\",{\"text\":\"\",\"extra\":[";
- String prefix = "";
- String suffix = "";
- try {
- prefix = FormatStringAll(MineverseChat.chat.getPlayerPrefix(icp.getPlayer()));
- suffix = FormatStringAll(MineverseChat.chat.getPlayerSuffix(icp.getPlayer()));
- if (suffix.equals("")) {
- suffix = "venturechat_no_suffix_code";
- }
- if (prefix.equals(""))
- prefix = "venturechat_no_prefix_code";
- } catch (Exception e) {
- if (plugin.getConfig().getString("loglevel", "info").equals("debug")) {
- System.out.println("[" + plugin.getConfig().getString("pluginname", "MineverseChat")
- + "] Prefix and / or suffix don't exist, setting to nothing.");
- }
- }
- String nickname = "";
- if (icp.getPlayer() != null) {
- nickname = FormatStringAll(icp.getPlayer().getDisplayName());
- }
- json = json + convertPlaceholders(f, formatName, formatPrefix, formatSuffix, prefix, nickname, suffix, icp);
- json = json + "]}";
- json = json + "," + convertLinks(c);
- json = json + "]";
- if (plugin.getConfig().getString("loglevel", "info").equals("debug")) {
- System.out.println(json);
- }
- return json;
- }
- private static String convertPlaceholders(String s, JsonFormat formatName, JsonFormat formatPrefix,
- JsonFormat formatSuffix, String prefix, String nickname, String suffix, MineverseChatPlayer icp) {
- String remaining = s;
- String temp = "";
- int indexStart = -1;
- int indexEnd = -1;
- String placeholder = "";
- String lastCode = "§f";
- while (true) {
- Pattern pattern = Pattern.compile("("
- + prefix.replace("[", "\\[").replace("]", "\\]").replace("{", "\\{").replace("}", "\\}")
- .replace("(", "\\(").replace(")", "\\)")
- + "|"
- + nickname.replace("[", "\\[").replace("]", "\\]").replace("{", "\\{").replace("}", "\\}")
- .replace("(", "\\(").replace(")", "\\)")
- + "|" + suffix.replace("[", "\\[").replace("]", "\\]").replace("{", "\\{").replace("}", "\\}")
- .replace("(", "\\(").replace(")", "\\)")
- + ")");
- Matcher matcher = pattern.matcher(remaining);
- if (!matcher.find())
- break;
- indexStart = matcher.start();
- indexEnd = matcher.end();
- placeholder = remaining.substring(indexStart, indexEnd);
- temp = temp + convertToJsonColors(
- new StringBuilder(String.valueOf(lastCode)).append(remaining.substring(0, indexStart)).toString())
- + ",";
- lastCode = getLastCode(lastCode + remaining.substring(0, indexStart));
- String action = "";
- if (placeholder.contains(nickname))
- action = formatName.getClickName();
- if (placeholder.contains(prefix))
- action = formatPrefix.getClickPrefix();
- if (placeholder.contains(suffix))
- action = formatSuffix.getClickSuffix();
- String text = "";
- if (placeholder.contains(nickname))
- text = PlaceholderAPI.setBracketPlaceholders(icp.getPlayer(), formatName.getClickNameText());
- if (placeholder.contains(prefix))
- text = PlaceholderAPI.setBracketPlaceholders(icp.getPlayer(), formatPrefix.getClickPrefixText());
- if (placeholder.contains(suffix))
- text = PlaceholderAPI.setBracketPlaceholders(icp.getPlayer(), formatSuffix.getClickSuffixText());
- String hover = "";
- if (placeholder.contains(nickname)) {
- hover = "";
- for (String st : formatName.getHoverTextName()) {
- hover = hover + FormatStringAll(st) + "\n";
- }
- }
- if (placeholder.contains(prefix)) {
- hover = "";
- for (String st : formatPrefix.getHoverTextPrefix()) {
- hover = hover + FormatStringAll(st) + "\n";
- }
- }
- if (placeholder.contains(suffix)) {
- hover = "";
- for (String st : formatSuffix.getHoverTextSuffix()) {
- hover = hover + FormatStringAll(st) + "\n";
- }
- }
- hover = PlaceholderAPI.setBracketPlaceholders(icp.getPlayer(), hover.substring(0, hover.length() - 1));
- temp = temp
- + convertToJsonColors(new StringBuilder(String.valueOf(lastCode)).append(placeholder).toString(),
- new StringBuilder(",\"clickEvent\":{\"action\":\"").append(action).append("\",\"value\":\"")
- .append(text)
- .append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[")
- .append(convertToJsonColors(hover)).append("]}}").toString())
- + ",";
- lastCode = getLastCode(lastCode + placeholder);
- remaining = remaining.substring(indexEnd);
- }
- temp = temp + convertToJsonColors(new StringBuilder(String.valueOf(lastCode)).append(remaining).toString());
- return temp;
- }
- // Ended extented part
Advertisement
Add Comment
Please, Sign In to add comment