diff --git a/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java b/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java index 8e76720a..6843fd81 100644 --- a/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java +++ b/src/main/java/net/Indyuce/mmocore/gui/api/item/Placeholders.java @@ -7,28 +7,25 @@ import java.util.HashMap; import java.util.Map; public class Placeholders { - private final Map placeholders = new HashMap<>(); + private final Map placeholders = new HashMap<>(); - public void register(String path, Object obj) { - placeholders.put(path, obj.toString()); - } + public void register(String path, Object obj) { + placeholders.put(path, obj.toString()); + } - public String apply(Player player, String str) { + public String apply(Player player, String str) { - /* - * Remove potential conditions, apply color codes - * and external placeholders if needed. - */ - str = MMOCore.plugin.placeholderParser.parse(player, removeCondition(str)); - - while (str.contains("{") && str.substring(str.indexOf("{")).contains("}")) { + // Internal placeholders + while (str.contains("{") && str.substring(str.indexOf("{")).contains("}")) { String holder = str.substring(str.indexOf("{") + 1, str.indexOf("}")); str = str.replace("{" + holder + "}", placeholders.getOrDefault(holder, "Error")); } - return str; - } - private String removeCondition(String str) { - return str.startsWith("{") && str.contains("}") ? str.substring(str.indexOf("}") + 1) : str; - } + // External placeholders + return MMOCore.plugin.placeholderParser.parse(player, removeCondition(str)); + } + + private String removeCondition(String str) { + return str.startsWith("{") && str.contains("}") ? str.substring(str.indexOf("}") + 1) : str; + } }