From f1f5a1c3377217c3cbaf3dee3c1858700acc83c8 Mon Sep 17 00:00:00 2001 From: TNovix Date: Thu, 3 Aug 2023 22:25:44 +0400 Subject: [PATCH 1/2] Allow optionally send message to yourself fix#204 --- .../java/ru/mrbrikster/chatty/commands/pm/MsgCommand.java | 2 +- spigot/src/main/resources/config.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/spigot/src/main/java/ru/mrbrikster/chatty/commands/pm/MsgCommand.java b/spigot/src/main/java/ru/mrbrikster/chatty/commands/pm/MsgCommand.java index 649b34bd..3b1f1d4e 100644 --- a/spigot/src/main/java/ru/mrbrikster/chatty/commands/pm/MsgCommand.java +++ b/spigot/src/main/java/ru/mrbrikster/chatty/commands/pm/MsgCommand.java @@ -47,7 +47,7 @@ public void handle(CommandSender sender, String label, String[] args) { return; } - if (recipient.equals(sender)) { + if (recipient.equals(sender) && !configuration.getNode("pm.allow-yourself").getAsBoolean(false)) { sender.sendMessage(Chatty.instance().messages().get("msg-command.cannot-message-yourself")); return; } diff --git a/spigot/src/main/resources/config.yml b/spigot/src/main/resources/config.yml index 9ce82396..f79f960a 100644 --- a/spigot/src/main/resources/config.yml +++ b/spigot/src/main/resources/config.yml @@ -135,6 +135,10 @@ pm: # Default: false allow-console: false + # Allows you to send messages to yourself + # Default: true + allow-yourself: true + # Allows to PM players, that in vanish # Supports EssentialsX, SuperVanish, PremiumVanish, VanishNoPacket etc. # Default: true From c08e469a21b31aa9e5a11c282cb1239a2b9fae17 Mon Sep 17 00:00:00 2001 From: TNovix Date: Thu, 3 Aug 2023 22:31:12 +0400 Subject: [PATCH 2/2] Allow more simple RGB format #140 --- .../ru/mrbrikster/chatty/util/TextUtil.java | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/ru/mrbrikster/chatty/util/TextUtil.java b/api/src/main/java/ru/mrbrikster/chatty/util/TextUtil.java index 329da9bb..944c2724 100644 --- a/api/src/main/java/ru/mrbrikster/chatty/util/TextUtil.java +++ b/api/src/main/java/ru/mrbrikster/chatty/util/TextUtil.java @@ -16,7 +16,9 @@ @UtilityClass public class TextUtil { - private final Pattern HEX_COLORS_PATTERN = Pattern.compile("\\{#([a-fA-F0-9]{6})}"); + private final Pattern HEX_COLORS_PATTERN_1 = Pattern.compile("\\{#([a-fA-F0-9]{6})}"); + private final Pattern HEX_COLORS_PATTERN_2 = Pattern.compile("&#([a-fA-F0-9]{6})"); + private final Pattern HEX_COLORS_PATTERN_3 = Pattern.compile("#([a-fA-F0-9]{6})"); private final Pattern HEX_GRADIENT_PATTERN = Pattern.compile("\\{#([a-fA-F0-9]{6})(:#([a-fA-F0-9]{6}))+( )([^{}])*(})"); private final Pattern HEX_SPIGOT_PATTERN = Pattern.compile("§[xX](§[a-fA-F0-9]){6}"); @@ -143,9 +145,11 @@ public String stylish(String text) { } matcher.appendTail(stringBuffer); + // 1 hex color pattern + // {#12ABCD} text text = stringBuffer.toString(); - matcher = HEX_COLORS_PATTERN.matcher(text); + matcher = HEX_COLORS_PATTERN_1.matcher(text); stringBuffer = new StringBuffer(); while (matcher.find()) { @@ -154,6 +158,33 @@ public String stylish(String text) { } matcher.appendTail(stringBuffer); + // 2 hex color pattern + // ABCD text + text = stringBuffer.toString(); + + matcher = HEX_COLORS_PATTERN_2.matcher(text); + stringBuffer = new StringBuffer(); + + while (matcher.find()) { + String hexColorString = matcher.group(); + matcher.appendReplacement(stringBuffer, ChatColor.of(hexColorString.substring(1)).toString()); + } + + matcher.appendTail(stringBuffer); + // 3 hex color pattern + // #12ABCD text + text = stringBuffer.toString(); + + matcher = HEX_COLORS_PATTERN_3.matcher(text); + stringBuffer = new StringBuffer(); + + while (matcher.find()) { + String hexColorString = matcher.group(); + matcher.appendReplacement(stringBuffer, ChatColor.of(hexColorString).toString()); + } + + matcher.appendTail(stringBuffer); + return ChatColor.translateAlternateColorCodes('&', stringBuffer.toString()); }