package com.redstoner.modules.logs; public class LogEntry { public final int line; public final int global_line; public final String filename; public final String raw; public LogEntry(String raw, int line, int global_line) { this("Unkown", raw, line, global_line); } public LogEntry(String filename, String raw, int line, int global_line) { this.raw = resolveColors(raw); this.line = line; this.global_line = global_line; this.filename = filename; } public String applyFormat(String format, boolean colors) { // Replace escaped % with placeholder format = format.replace("%%", "§§"); // Line numbers format = format.replace("%l", "" + line); format = format.replace("%L", "" + global_line); // Filename format = format.replace("%f", filename); // Strip colors if (!colors) format = format.replace("%r", raw.replaceAll("$.", "")); else format = format.replace("%r", raw); // Convert placeholder back format = format.replace("§§", "%"); return format; } private String resolveColors(String message) { message = message.replace("", "§0"); message = message.replace("", "§1"); message = message.replace("", "§2"); message = message.replace("", "§3"); message = message.replace("", "§4"); message = message.replace("", "§5"); message = message.replace("", "§6"); message = message.replace("", "§7"); message = message.replace("", "§8"); message = message.replace("", "§9"); message = message.replace("", "§a"); message = message.replace("", "§b"); message = message.replace("", "§c"); message = message.replace("", "§d"); message = message.replace("", "§e"); message = message.replace("", "§f"); message = message.replace("", "§k"); message = message.replace("", "§l"); message = message.replace("", "§m"); message = message.replace("", "§n"); message = message.replace("", "§o"); message = message.replace("", "§r"); return message; } }