From 26159e3a102e594301cb11a1cfd3b27c31c74e3e Mon Sep 17 00:00:00 2001 From: ASangarin Date: Sat, 13 Jun 2020 21:31:47 +0200 Subject: [PATCH] Allow the use of placeholders in config messages --- .../mmocore/manager/ConfigManager.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java b/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java index 76197ce5..6eb042bd 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java +++ b/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java @@ -160,23 +160,27 @@ public class ConfigManager { public class SimpleMessage { private final String message; + private final boolean actionbar; + private final boolean hasPlaceholders; public SimpleMessage(String message) { - this.message = message; + this.actionbar = message.startsWith("%"); + this.message = actionbar ? message.substring(1) : message; + this.hasPlaceholders = this.message.contains("%"); } public String message() { - return message.startsWith("%") ? message.substring(1) : message; + return message; } public boolean send(Player player) { - if (!message.isEmpty()) { - if (message.startsWith("%")) - PlayerData.get(player.getUniqueId()).displayActionBar(message.substring(1)); - else - player.sendMessage(message); + String msg = hasPlaceholders ? MMOCore.plugin.placeholderParser.parse(player, message) : message; + + if (!msg.isEmpty()) { + if (actionbar) PlayerData.get(player.getUniqueId()).displayActionBar(msg); + else player.sendMessage(msg); } - return !message.isEmpty(); + return !msg.isEmpty(); } } }