diff --git a/src/main/java/net/knarcraft/knarlib/formatting/StringFormatter.java b/src/main/java/net/knarcraft/knarlib/formatting/StringFormatter.java index 692915d..4f36c06 100644 --- a/src/main/java/net/knarcraft/knarlib/formatting/StringFormatter.java +++ b/src/main/java/net/knarcraft/knarlib/formatting/StringFormatter.java @@ -1,6 +1,8 @@ package net.knarcraft.knarlib.formatting; import net.knarcraft.knarlib.KnarLib; +import net.knarcraft.knarlib.property.ColorConversion; +import net.knarcraft.knarlib.util.ColorHelper; import net.md_5.bungee.api.ChatColor; import org.bukkit.command.CommandSender; @@ -62,17 +64,7 @@ public final class StringFormatter { * @return
The formatted message
*/ private static String getFormattedMessage(String message) { - return "[" + pluginName + "] " + ChatColor.RESET + translateColors(message); - } - - /** - * Translates & color codes to proper colors - * - * @param inputThe input string to translate colors for
- * @returnThe input with color codes translated
- */ - private static String translateColors(String input) { - return ChatColor.translateAlternateColorCodes('&', input); + return "[" + pluginName + "] " + ChatColor.RESET + ColorHelper.translateColorCodes(message, ColorConversion.NORMAL); } /** diff --git a/src/main/java/net/knarcraft/knarlib/formatting/TimeFormatter.java b/src/main/java/net/knarcraft/knarlib/formatting/TimeFormatter.java index 7414f61..7e91049 100644 --- a/src/main/java/net/knarcraft/knarlib/formatting/TimeFormatter.java +++ b/src/main/java/net/knarcraft/knarlib/formatting/TimeFormatter.java @@ -32,7 +32,7 @@ public final class TimeFormatter { if (sortedUnits == null) { initializeUnits(); } - for (Double unit : sortedUnits) { + for (double unit : sortedUnits) { if (duration / unit >= 1) { double units = round(duration / unit); return formatDurationString(units, timeUnits.get(unit)[units == 1 ? 0 : 1], diff --git a/src/main/java/net/knarcraft/knarlib/formatting/Translator.java b/src/main/java/net/knarcraft/knarlib/formatting/Translator.java index 76a4c6f..9015e91 100644 --- a/src/main/java/net/knarcraft/knarlib/formatting/Translator.java +++ b/src/main/java/net/knarcraft/knarlib/formatting/Translator.java @@ -20,6 +20,11 @@ import java.util.logging.Level; /** * A tool to get strings translated to the correct language + * + *To add translatable messages, create a class extending TranslatableMessage, and register it by calling + * "registerMessageCategory" on one of its values. + * Add a file strings.yml in your resources directory with data: `en.ENUM: "Text"`. You must have a `en` language as + * it's used as the fallback, but you can additionally add any language code you want.
*/ public final class Translator { diff --git a/src/main/java/net/knarcraft/knarlib/util/ColorHelper.java b/src/main/java/net/knarcraft/knarlib/util/ColorHelper.java index edcc401..b1b747a 100644 --- a/src/main/java/net/knarcraft/knarlib/util/ColorHelper.java +++ b/src/main/java/net/knarcraft/knarlib/util/ColorHelper.java @@ -50,6 +50,17 @@ public final class ColorHelper { ColorHelper.requireAmpersandInHexColors = requireAmpersandInHexColors; } + /** + * Strips all color codes from the given message + * + * @param messageThe message to strip color codes from
+ * @param colorConversionThe type of color conversion to apply before stripping
+ * @returnThe message without color codes
+ */ + public static String stripColorCodes(String message, ColorConversion colorConversion) { + return ChatColor.stripColor(translateColorCodes(message, colorConversion)); + } + /** * Translates color codes according to the given color conversion setting * diff --git a/src/main/java/net/knarcraft/knarlib/util/FileHelper.java b/src/main/java/net/knarcraft/knarlib/util/FileHelper.java index fa6ed59..aabf3c7 100644 --- a/src/main/java/net/knarcraft/knarlib/util/FileHelper.java +++ b/src/main/java/net/knarcraft/knarlib/util/FileHelper.java @@ -1,6 +1,6 @@ package net.knarcraft.knarlib.util; -import net.md_5.bungee.api.ChatColor; +import net.knarcraft.knarlib.property.ColorConversion; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -90,11 +90,14 @@ public final class FileHelper { /** * Reads key/value pairs from an input stream * - * @param bufferedReaderThe buffered reader to read
+ * @param bufferedReaderThe buffered reader to read
+ * @param separatorThe separator separating a key from a value
+ * @param colorConversionThe color conversion to use for any color codes encountered
* @returnA map containing the read pairs
* @throws IOExceptionIf unable to read from the stream
*/ - public static Map