Skip to content

Commit 6188ae7

Browse files
committed
Fixed issue that prevented capital letters in hex codes working
1 parent 5a4578f commit 6188ae7

File tree

4 files changed

+23
-4
lines changed

4 files changed

+23
-4
lines changed

multichat/dependency-reduced-pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>xyz.olivermartin.multichat</groupId>
55
<artifactId>multichat</artifactId>
6-
<version>1.9.4</version>
6+
<version>1.9.5</version>
77
<build>
88
<plugins>
99
<plugin>

multichat/src/main/java/xyz/olivermartin/multichat/local/spigot/LocalSpigotMetaManager.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import net.milkbowl.vault.chat.Chat;
1010
import xyz.olivermartin.multichat.bungee.MultiChatUtil;
11+
import xyz.olivermartin.multichat.local.common.LocalConsoleLogger;
1112
import xyz.olivermartin.multichat.local.common.LocalMetaManager;
1213
import xyz.olivermartin.multichat.local.common.MultiChatLocal;
1314
import xyz.olivermartin.multichat.local.spigot.hooks.LocalSpigotVaultHook;
@@ -72,22 +73,40 @@ public String getWorld(UUID uuid) {
7273
@Override
7374
public String getDisplayName(UUID uuid) {
7475

76+
LocalConsoleLogger logger = MultiChatLocal.getInstance().getConsoleLogger();
77+
7578
Player player = Bukkit.getPlayer(uuid);
7679

7780
if (player == null) return "";
7881

7982
// If MultiChat is setting the display name...
8083
if (MultiChatLocal.getInstance().getDataStore().isSetDisplayName()) {
8184

85+
logger.debug("[LocalSpigotMetaManager] We are setting the display name!");
86+
8287
String displayNameFormat = MultiChatLocal.getInstance().getDataStore().getDisplayNameFormatLastVal();
8388

89+
logger.debug("[LocalSpigotMetaManager] Format = " + displayNameFormat);
90+
logger.debug("[LocalSpigotMetaManager] Format (using & only) = " + displayNameFormat.replaceAll("(?i)§(?=[a-f,0-9,k-o,r,x])", "&"));
91+
8492
// TODO This stuff could be refactored as it is duplicated between Spigot and Sponge
8593
displayNameFormat = displayNameFormat.replaceAll("%NICK%", getNick(uuid));
8694
displayNameFormat = displayNameFormat.replaceAll("%NAME%", player.getName());
8795
displayNameFormat = displayNameFormat.replaceAll("%PREFIX%", getPrefix(uuid));
8896
displayNameFormat = displayNameFormat.replaceAll("%SUFFIX%", getSuffix(uuid));
97+
98+
logger.debug("[LocalSpigotMetaManager] Format with placeholders = " + displayNameFormat);
99+
logger.debug("[LocalSpigotMetaManager] Format with placeholders (using & only) = " + displayNameFormat.replaceAll("(?i)§(?=[a-f,0-9,k-o,r,x])", "&"));
100+
89101
displayNameFormat = MultiChatUtil.reformatRGB(displayNameFormat);
90-
displayNameFormat = displayNameFormat.replaceAll("&(?=[a-f,0-9,k-o,r,x])", "§");
102+
103+
logger.debug("[LocalSpigotMetaManager] Format after reformatting RGB = " + displayNameFormat);
104+
logger.debug("[LocalSpigotMetaManager] Format after reformatting RGB (using & only) = " + displayNameFormat.replaceAll("(?i)§(?=[a-f,0-9,k-o,r,x])", "&"));
105+
106+
displayNameFormat = displayNameFormat.replaceAll("(?i)&(?=[a-f,0-9,k-o,r,x])", "§");
107+
108+
logger.debug("[LocalSpigotMetaManager] FINAL = " + displayNameFormat);
109+
logger.debug("[LocalSpigotMetaManager] FINAL (using & only) = " + displayNameFormat.replaceAll("(?i)§(?=[a-f,0-9,k-o,r,x])", "&"));
91110

92111
// LEGACY HACK
93112
if (MultiChatLocal.getInstance().getDataStore().isLegacy()) {

multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongeMetaManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public String getDisplayName(UUID uuid) {
9393
displayNameFormat = displayNameFormat.replaceAll("%PREFIX%", getPrefix(uuid));
9494
displayNameFormat = displayNameFormat.replaceAll("%SUFFIX%", getSuffix(uuid));
9595
displayNameFormat = MultiChatUtil.reformatRGB(displayNameFormat);
96-
displayNameFormat = displayNameFormat.replaceAll("&(?=[a-f,0-9,k-o,r,x])", "§");
96+
displayNameFormat = displayNameFormat.replaceAll("(?i)&(?=[a-f,0-9,k-o,r,x])", "§");
9797

9898
displayNameFormat = MultiChatUtil.approximateHexCodes(displayNameFormat);
9999

multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/LocalSpongePlaceholderManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public LocalSpongePlaceholderManager() {
1616
public String buildChatFormat(UUID uuid, String format) {
1717
// Reformat any hex codes in the format
1818
format = MultiChatUtil.reformatRGB(format);
19-
format = processMultiChatPlaceholders(uuid, format).replaceAll("&(?=[a-f,0-9,k-o,r,x])", "§");
19+
format = processMultiChatPlaceholders(uuid, format).replaceAll("(?i)&(?=[a-f,0-9,k-o,r,x])", "§");
2020
format = MultiChatUtil.approximateHexCodes(format);
2121
return format;
2222
}

0 commit comments

Comments
 (0)