From 735baac9013f172703216570ed6fb7cabb24c812 Mon Sep 17 00:00:00 2001 From: Indyuce Date: Sun, 20 Mar 2022 14:41:53 +0100 Subject: [PATCH] Changed the way placeholders are parsed in the GUI --- .../mmocore/gui/api/item/Placeholders.java | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) 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; + } }