From 5b9b41624d0da5f389a3a47e8b413c5e069184fe Mon Sep 17 00:00:00 2001 From: TreemanKing <67459602+TreemanKing@users.noreply.github.com> Date: Thu, 25 Jul 2024 08:26:55 +1000 Subject: [PATCH] feat: add custom warp message config (messages.yml) --- .../bukkit/AdvancedPortalsPlugin.java | 4 ++ .../bukkit/PluginMessages.java | 40 +++++++++++++++---- .../bukkit/destinations/Destination.java | 6 ++- .../bukkit/listeners/Listeners.java | 1 - .../bukkit/listeners/PortalProtect.java | 14 +++---- .../bukkit/portals/Portal.java | 9 ++--- src/main/resources/config.yml | 40 ++++++------------- src/main/resources/messages.yml | 29 ++++++++++++++ 8 files changed, 92 insertions(+), 51 deletions(-) create mode 100644 src/main/resources/messages.yml diff --git a/src/main/java/com/sekwah/advancedportals/bukkit/AdvancedPortalsPlugin.java b/src/main/java/com/sekwah/advancedportals/bukkit/AdvancedPortalsPlugin.java index 30051c2d..9295c757 100644 --- a/src/main/java/com/sekwah/advancedportals/bukkit/AdvancedPortalsPlugin.java +++ b/src/main/java/com/sekwah/advancedportals/bukkit/AdvancedPortalsPlugin.java @@ -61,6 +61,10 @@ public class AdvancedPortalsPlugin extends JavaPlugin { ConfigAccessor destinationConfig = new ConfigAccessor(this, "destinations.yml"); destinationConfig.saveDefaultConfig(); + + ConfigAccessor messagesConfig = new ConfigAccessor(this, "messages.yml"); + messagesConfig.saveDefaultConfig();; + this.settings = new Settings(this); // Loads the portal and destination editors diff --git a/src/main/java/com/sekwah/advancedportals/bukkit/PluginMessages.java b/src/main/java/com/sekwah/advancedportals/bukkit/PluginMessages.java index eca6448e..fe47df23 100644 --- a/src/main/java/com/sekwah/advancedportals/bukkit/PluginMessages.java +++ b/src/main/java/com/sekwah/advancedportals/bukkit/PluginMessages.java @@ -3,22 +3,35 @@ package com.sekwah.advancedportals.bukkit; import com.sekwah.advancedportals.bukkit.config.ConfigAccessor; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; +import org.checkerframework.checker.regex.qual.Regex; public class PluginMessages { private static String WARP_MESSAGE; + private static String COOLDOWN_PROTECTION_MESSAGE; + private static String PORTAL_COOLDOWN_MESSAGE; + private static String NO_PERMISSION_PORTAL; + private static String NO_BUILD_PERMISSION; public boolean useCustomPrefix = false; - public static String customPrefix = "\u00A7a[\u00A7eAdvancedPortals\u00A7a]"; - public static String customPrefixFail = "\u00A7c[\u00A77AdvancedPortals\u00A7c]"; + public static String customPrefix = "§a[§eAdvancedPortals§a]"; + public static String customPrefixFail = "§c[§7AdvancedPortals§c]"; + // TODO: Create function for replacing all '&' public PluginMessages (AdvancedPortalsPlugin plugin) { - ConfigAccessor config = new ConfigAccessor(plugin, "config.yml"); + ConfigAccessor config = new ConfigAccessor(plugin, "messages.yml"); + this.useCustomPrefix = config.getConfig().getBoolean("UseCustomPrefix"); + String regexColorConverter = "&(?=[0-9a-fk-orx])"; + if (useCustomPrefix) { - PluginMessages.customPrefix = config.getConfig().getString("CustomPrefix").replaceAll("&(?=[0-9a-fk-or])", "\u00A7"); - PluginMessages.customPrefixFail = config.getConfig().getString("CustomPrefixFail").replaceAll("&(?=[0-9a-fk-or])", "\u00A7"); + PluginMessages.customPrefix = config.getConfig().getString("CustomPrefix", "§a[§eAdvancedPortals§a]").replaceAll(regexColorConverter, "§"); + PluginMessages.customPrefixFail = config.getConfig().getString("CustomPrefixFail", "§c[§7AdvancedPortals§c]").replaceAll(regexColorConverter, "§"); } - WARP_MESSAGE = ChatColor.translateAlternateColorCodes('&', config.getConfig().getString("WarpMessage", "&aYou have warped to &e&a")); + WARP_MESSAGE = config.getConfig().getString("WarpMessage", "§aYou have warped to §e§a").replaceAll(regexColorConverter, "§"); + COOLDOWN_PROTECTION_MESSAGE = config.getConfig().getString("CooldownProtectionMessage", "§cThere is §e