From 6bfd5bd15372e0de06cc86b2c9f4431538c19999 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 17 Jun 2021 10:36:38 +0100 Subject: [PATCH] Added TranslateList and JSON parity --- .../config/json/JSONConfigWrapper.java | 3 ++- .../java/com/willfp/eco/util/StringUtils.java | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/eco-api/src/main/java/com/willfp/eco/internal/config/json/JSONConfigWrapper.java b/eco-api/src/main/java/com/willfp/eco/internal/config/json/JSONConfigWrapper.java index 5b4fd11b..a5201672 100644 --- a/eco-api/src/main/java/com/willfp/eco/internal/config/json/JSONConfigWrapper.java +++ b/eco-api/src/main/java/com/willfp/eco/internal/config/json/JSONConfigWrapper.java @@ -4,6 +4,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.willfp.eco.core.config.Config; import com.willfp.eco.core.config.JSONConfig; +import com.willfp.eco.util.StringUtils; import lombok.Getter; import org.apache.commons.lang.Validate; import org.bukkit.configuration.ConfigurationSection; @@ -272,7 +273,7 @@ public abstract class JSONConfigWrapper implements JSONConfig, Cloneable { @Override @NotNull public String getString(@NotNull final String path) { - return Objects.requireNonNullElse(getOfKnownType(path, String.class), ""); + return StringUtils.translate(Objects.requireNonNullElse(getOfKnownType(path, String.class), "")); } @Override diff --git a/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java b/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java index aa625f04..e476fd22 100644 --- a/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java +++ b/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java @@ -39,6 +39,32 @@ public class StringUtils { .add(Pattern.compile("<#" + "([A-Fa-f0-9]{6})" + ">")) .build(); + /** + * Translate a list of strings - converts Placeholders and Color codes. + * + * @param list The messages to translate. + * @param player The player to translate placeholders with respect to. + * @return The message, translated. + */ + public List translateList(@NotNull final List list, + @Nullable final Player player) { + list.replaceAll(s -> translate(s, player)); + + return list; + } + + /** + * Translate a list of strings - converts Placeholders and Color codes. + * + * @param list The messages to translate. + * @return The message, translated. + */ + public List translateList(@NotNull final List list) { + list.replaceAll(s -> translate(s, null)); + + return list; + } + /** * Translate a string - converts Placeholders and Color codes. *