From 2aaf3fd0cffa4dcec6bcc0df62df516d8eb6e71e Mon Sep 17 00:00:00 2001 From: diademiemi Date: Tue, 15 Nov 2022 20:10:20 +0100 Subject: [PATCH 1/6] Add roles selection option --- .../essentialsx/discord/DiscordSettings.java | 4 +++ .../discord/listeners/DiscordListener.java | 2 +- .../essentialsx/discord/util/DiscordUtil.java | 29 +++++++++++++++---- .../src/main/resources/config.yml | 10 +++++++ 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 81a91907dc4..10a064cea93 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -91,6 +91,10 @@ public boolean isShowDiscordAttachments() { return config.getBoolean("show-discord-attachments", true); } + public List getDiscordRolesSelection() { + return config.getList("discord-roles-selection", String.class); + } + public List getPermittedFormattingRoles() { return config.getList("permit-formatting-roles", String.class); } diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java index bdc8aa6de1c..cd253907357 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordListener.java @@ -97,7 +97,7 @@ public void onGuildMessageReceived(@NotNull GuildMessageReceivedEvent event) { String formattedMessage = EmojiParser.parseToAliases(MessageUtil.formatMessage(plugin.getPlugin().getSettings().getDiscordToMcFormat(), event.getChannel().getName(), user.getName(), user.getDiscriminator(), user.getAsTag(), - effectiveName, DiscordUtil.getRoleColorFormat(member), finalMessage, DiscordUtil.getRoleFormat(member)), EmojiParser.FitzpatrickAction.REMOVE); + effectiveName, DiscordUtil.getRoleColorFormat(plugin, member), finalMessage, DiscordUtil.getRoleFormat(plugin, member)), EmojiParser.FitzpatrickAction.REMOVE); for (final String group : keys) { if (plugin.getSettings().getRelayToConsoleList().contains(group)) { diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java index dfe95366279..06e26d6da5f 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java @@ -138,14 +138,17 @@ public static CompletableFuture createWebhook(TextChannel channel, Stri * @param member The target member. * @return The highest role or blank string. */ - public static String getRoleFormat(Member member) { + public static String getRoleFormat(final JDADiscordService jda, Member member) { final List roles = member == null ? null : member.getRoles(); - if (roles == null || roles.isEmpty()) { - return ""; + for (final Role role : roles) { + if (jda.getPlugin().getSettings().getDiscordRolesSelection().contains(role.getName())) { + return role.getName(); + } } - return roles.get(0).getName(); + return ""; + } /** @@ -154,11 +157,25 @@ public static String getRoleFormat(Member member) { * @param member The target member. * @return The bukkit color code or blank string. */ - public static String getRoleColorFormat(Member member) { + public static String getRoleColorFormat(final JDADiscordService jda, Member member) { if (member == null || member.getColorRaw() == Role.DEFAULT_COLOR_RAW) { return ""; } - final int rawColor = 0xff000000 | member.getColorRaw(); + + final List roles = member == null ? null : member.getRoles(); + + int color = Role.DEFAULT_COLOR_RAW; + for (final Role role : roles) { + if (role.getColorRaw() != Role.DEFAULT_COLOR_RAW && jda.getPlugin().getSettings().getDiscordRolesSelection().contains(role.getName())) { + color = role.getColorRaw(); + } + } + + if (color == Role.DEFAULT_COLOR_RAW) { + return ""; + } + + final int rawColor = 0xff000000 | color; if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_16_1_R01)) { // Essentials' FormatUtil allows us to not have to use bungee's chatcolor since bukkit's own one doesn't support rgb diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index 1c3072b8770..0319cf6b66b 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -212,6 +212,16 @@ commands: # If this is set to false and a message from Discord only contains an image/file and not any text, nothing will be sent. show-discord-attachments: true +# List of roles which are used for the top role placeholders. If this is empty, all roles will be allowed. +discord-roles-selection: + - "Admins" + - "Members" + +# Aliases for Discord roles before they are sent to Minecraft. +discord-roles-aliases: + Admins: "Admin" + Members: "Member" + # A list of roles allowed to send Minecraft color/formatting codes from Discord to MC. # This applies to all aspects such as that Discord->MC chat relay as well as commands. # You can either use '*' (for everyone), a role name/ID, or a user ID. From 59046ee369f7207c69b9f9ecf3628a3b4057a3df Mon Sep 17 00:00:00 2001 From: diademiemi Date: Tue, 15 Nov 2022 20:19:50 +0100 Subject: [PATCH 2/6] Add role aliases --- .../main/java/net/essentialsx/discord/DiscordSettings.java | 4 ++++ .../java/net/essentialsx/discord/util/DiscordUtil.java | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 10a064cea93..ce1135a2421 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -95,6 +95,10 @@ public List getDiscordRolesSelection() { return config.getList("discord-roles-selection", String.class); } + public String getDiscordRoleAlias(String key) { + return config.getString("discord-roles-aliases." + key, ""); + } + public List getPermittedFormattingRoles() { return config.getList("permit-formatting-roles", String.class); } diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java index 06e26d6da5f..27e54cd55ee 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java @@ -143,7 +143,12 @@ public static String getRoleFormat(final JDADiscordService jda, Member member) { for (final Role role : roles) { if (jda.getPlugin().getSettings().getDiscordRolesSelection().contains(role.getName())) { - return role.getName(); + final String alias = jda.getPlugin().getSettings().getDiscordRoleAlias(role.getName()); + if (alias != "") { + return alias; + } else { + return role.getName(); + } } } From 62043a4934d382566a964bf212425b70882a9e07 Mon Sep 17 00:00:00 2001 From: diademiemi Date: Wed, 16 Nov 2022 12:51:25 +0100 Subject: [PATCH 3/6] Fix behaviour when options are unset --- .../java/net/essentialsx/discord/util/DiscordUtil.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java index 27e54cd55ee..428392aaa9f 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java @@ -152,6 +152,10 @@ public static String getRoleFormat(final JDADiscordService jda, Member member) { } } + if (jda.getPlugin().getSettings().getDiscordRolesSelection().isEmpty()) { + return roles.isEmpty() ? "" : roles.get(0).getName(); + } + return ""; } @@ -176,6 +180,10 @@ public static String getRoleColorFormat(final JDADiscordService jda, Member memb } } + if (jda.getPlugin().getSettings().getDiscordRolesSelection().isEmpty()) { + color = member.getColorRaw(); + } + if (color == Role.DEFAULT_COLOR_RAW) { return ""; } From 16fe869cac8cf9086b5ec1b11b728e5667d3a7f2 Mon Sep 17 00:00:00 2001 From: diademiemi Date: Wed, 22 Mar 2023 00:00:06 +0100 Subject: [PATCH 4/6] Make selection a blacklist by default, add invert option --- .../essentialsx/discord/DiscordSettings.java | 8 ++++-- .../essentialsx/discord/util/DiscordUtil.java | 25 +++++++++++++------ .../src/main/resources/config.yml | 12 +++++---- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index ce1135a2421..b91a03a232d 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -91,8 +91,12 @@ public boolean isShowDiscordAttachments() { return config.getBoolean("show-discord-attachments", true); } - public List getDiscordRolesSelection() { - return config.getList("discord-roles-selection", String.class); + public List getDiscordRolesBlacklist() { + return config.getList("discord-role-blacklist", String.class); + } + + public Boolean getInvertDiscordRoleBlacklist() { + return config.getBoolean("invert-discord-role-blacklist", false); } public String getDiscordRoleAlias(String key) { diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java index 428392aaa9f..e4071452a05 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java @@ -142,8 +142,14 @@ public static String getRoleFormat(final JDADiscordService jda, Member member) { final List roles = member == null ? null : member.getRoles(); for (final Role role : roles) { - if (jda.getPlugin().getSettings().getDiscordRolesSelection().contains(role.getName())) { - final String alias = jda.getPlugin().getSettings().getDiscordRoleAlias(role.getName()); + final Boolean contains = jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getName()) || + jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getId()); + if ((!jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && !contains) + || (jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && contains)) { + String alias = jda.getPlugin().getSettings().getDiscordRoleAlias(role.getName()); + if (alias == "") { + alias = jda.getPlugin().getSettings().getDiscordRoleAlias(role.getId()); + } if (alias != "") { return alias; } else { @@ -152,10 +158,6 @@ public static String getRoleFormat(final JDADiscordService jda, Member member) { } } - if (jda.getPlugin().getSettings().getDiscordRolesSelection().isEmpty()) { - return roles.isEmpty() ? "" : roles.get(0).getName(); - } - return ""; } @@ -175,12 +177,19 @@ public static String getRoleColorFormat(final JDADiscordService jda, Member memb int color = Role.DEFAULT_COLOR_RAW; for (final Role role : roles) { - if (role.getColorRaw() != Role.DEFAULT_COLOR_RAW && jda.getPlugin().getSettings().getDiscordRolesSelection().contains(role.getName())) { + final Boolean contains = jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getName()) || + jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getId()); + if ((!jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && !contains) + || (jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && contains) + && role.getColorRaw() != Role.DEFAULT_COLOR_RAW) { + color = role.getColorRaw(); + break; + } } - if (jda.getPlugin().getSettings().getDiscordRolesSelection().isEmpty()) { + if (jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && jda.getPlugin().getSettings().getDiscordRolesBlacklist().isEmpty()) { color = member.getColorRaw(); } diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index 0319cf6b66b..eb4ffadfae2 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -213,14 +213,16 @@ commands: show-discord-attachments: true # List of roles which are used for the top role placeholders. If this is empty, all roles will be allowed. -discord-roles-selection: - - "Admins" +discord-role-blacklist: + - "1234123412341234123" - "Members" +invert-discord-role-blacklist: false + # Aliases for Discord roles before they are sent to Minecraft. -discord-roles-aliases: - Admins: "Admin" - Members: "Member" +discord-roles-aliases: [] +# Admins: "Admin" +# Members: "Member" # A list of roles allowed to send Minecraft color/formatting codes from Discord to MC. # This applies to all aspects such as that Discord->MC chat relay as well as commands. From 3869300a1506f647ed8f785c56c9aed51d79a3e7 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Tue, 8 Aug 2023 21:25:46 -0400 Subject: [PATCH 5/6] changes --- .../essentialsx/discord/DiscordSettings.java | 13 ++- .../essentialsx/discord/util/DiscordUtil.java | 88 ++++++++----------- .../src/main/resources/config.yml | 16 ++-- 3 files changed, 57 insertions(+), 60 deletions(-) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 43900effd96..a7c4570dfb7 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -6,6 +6,7 @@ import com.earth2me.essentials.utils.FormatUtil; import net.dv8tion.jda.api.OnlineStatus; import net.dv8tion.jda.api.entities.Activity; +import net.dv8tion.jda.api.entities.Role; import net.essentialsx.api.v2.ChatType; import org.apache.logging.log4j.Level; import org.bukkit.entity.Player; @@ -33,6 +34,7 @@ public class DiscordSettings implements IConf { private Activity statusActivity; private List discordFilter; + private Map roleAliases; private MessageFormat consoleFormat; private Level consoleLogLevel; @@ -100,8 +102,8 @@ public Boolean getInvertDiscordRoleBlacklist() { return config.getBoolean("invert-discord-role-blacklist", false); } - public String getDiscordRoleAlias(String key) { - return config.getString("discord-roles-aliases." + key, ""); + public String getRoleAlias(final Role role) { + return roleAliases.getOrDefault(role.getId(), roleAliases.getOrDefault(role.getName(), role.getName())); } public List getPermittedFormattingRoles() { @@ -520,6 +522,13 @@ public void reloadConfig() { } } + final Map roleAliases = new HashMap<>(); + + for (Map.Entry entry : config.getStringMap("chat.world-aliases").entrySet()) { + roleAliases.put(entry.getKey(), FormatUtil.replaceFormat(entry.getValue())); + } + this.roleAliases = roleAliases; + consoleLogLevel = Level.toLevel(config.getString("console.log-level", null), Level.INFO); if (config.isList("console.console-filter")) { diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java index 261dcddcf51..01f82a51115 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/util/DiscordUtil.java @@ -4,7 +4,6 @@ import club.minnced.discord.webhook.send.AllowedMentions; import com.earth2me.essentials.utils.DownsampleUtil; import com.earth2me.essentials.utils.FormatUtil; -import com.earth2me.essentials.utils.NumberUtil; import com.earth2me.essentials.utils.VersionUtil; import com.google.common.collect.ImmutableList; import net.dv8tion.jda.api.Permission; @@ -21,10 +20,12 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; +import java.util.Collections; import java.util.List; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Predicate; public final class DiscordUtil { public final static String ADVANCED_RELAY_NAME = "EssX Advanced Relay"; @@ -126,6 +127,27 @@ public static CompletableFuture createWebhook(TextChannel channel, Stri return future; } + public static Role getHighestRole(final JDADiscordService jda, final Member member, final Predicate fail) { + final List roles = member == null ? Collections.emptyList() : member.getRoles(); + final List blacklist = jda.getPlugin().getSettings().getDiscordRolesBlacklist(); + final boolean invert = jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist(); + + for (final Role role : roles) { + final boolean blacklisted = blacklist.contains(role.getName()) || blacklist.contains(role.getId()); + if ((blacklisted && !invert) || (!blacklisted && invert)) { + continue; + } + + if (fail != null && fail.test(role)) { + continue; + } + + return role; + } + + return null; + } + /** * Gets the highest role of a given member or an empty string if the member has no roles. * @@ -133,27 +155,8 @@ public static CompletableFuture createWebhook(TextChannel channel, Stri * @return The highest role or blank string. */ public static String getRoleFormat(final JDADiscordService jda, Member member) { - final List roles = member == null ? null : member.getRoles(); - - for (final Role role : roles) { - final Boolean contains = jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getName()) || - jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getId()); - if ((!jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && !contains) - || (jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && contains)) { - String alias = jda.getPlugin().getSettings().getDiscordRoleAlias(role.getName()); - if (alias == "") { - alias = jda.getPlugin().getSettings().getDiscordRoleAlias(role.getId()); - } - if (alias != "") { - return alias; - } else { - return role.getName(); - } - } - } - - return ""; - + final Role role = getHighestRole(jda, member, null); + return role != null ? jda.getSettings().getRoleAlias(role) : ""; } /** @@ -163,35 +166,12 @@ public static String getRoleFormat(final JDADiscordService jda, Member member) { * @return The bukkit color code or blank string. */ public static String getRoleColorFormat(final JDADiscordService jda, Member member) { - if (member == null || member.getColorRaw() == Role.DEFAULT_COLOR_RAW) { + final Role topRole = getHighestRole(jda, member, role -> role.getColorRaw() == Role.DEFAULT_COLOR_RAW); + if (topRole == null || topRole.getColorRaw() == Role.DEFAULT_COLOR_RAW) { return ""; } - final List roles = member == null ? null : member.getRoles(); - - int color = Role.DEFAULT_COLOR_RAW; - for (final Role role : roles) { - final Boolean contains = jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getName()) || - jda.getPlugin().getSettings().getDiscordRolesBlacklist().contains(role.getId()); - if ((!jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && !contains) - || (jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && contains) - && role.getColorRaw() != Role.DEFAULT_COLOR_RAW) { - - color = role.getColorRaw(); - break; - - } - } - - if (jda.getPlugin().getSettings().getInvertDiscordRoleBlacklist() && jda.getPlugin().getSettings().getDiscordRolesBlacklist().isEmpty()) { - color = member.getColorRaw(); - } - - if (color == Role.DEFAULT_COLOR_RAW) { - return ""; - } - - final int rawColor = 0xff000000 | color; + final int rawColor = 0xff000000 | topRole.getColorRaw(); if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_16_1_R01)) { // Essentials' FormatUtil allows us to not have to use bungee's chatcolor since bukkit's own one doesn't support rgb @@ -215,14 +195,13 @@ public static boolean hasRoles(Member member, List roleDefinitions) { final List roles = member.getRoles(); for (String roleDefinition : roleDefinitions) { roleDefinition = roleDefinition.trim(); - final boolean id = NumberUtil.isNumeric(roleDefinition); if (roleDefinition.equals("*") || member.getId().equals(roleDefinition)) { return true; } for (final Role role : roles) { - if (role.getId().equals(roleDefinition) || (!id && role.getName().equalsIgnoreCase(roleDefinition))) { + if (matchesRole(role, roleDefinition)) { return true; } } @@ -230,6 +209,15 @@ public static boolean hasRoles(Member member, List roleDefinitions) { return false; } + /** + * Checks if the provided role matches the provided role definition (string representation of id or the role's name) + * + * @return true if the provided definition matches the provided role. + */ + public static boolean matchesRole(Role role, String roleDefinition) { + return role.getId().equals(roleDefinition) || role.getName().equalsIgnoreCase(roleDefinition); + } + public static String getAvatarUrl(final JDADiscordService jda, final Player player) { return jda.getSettings().getAvatarURL().replace("{uuid}", player.getUniqueId().toString()).replace("{name}", player.getName()); } diff --git a/EssentialsDiscord/src/main/resources/config.yml b/EssentialsDiscord/src/main/resources/config.yml index 25cfbee6622..331be18df2c 100644 --- a/EssentialsDiscord/src/main/resources/config.yml +++ b/EssentialsDiscord/src/main/resources/config.yml @@ -224,17 +224,17 @@ commands: # If this is set to false and a message from Discord only contains an image/file and not any text, nothing will be sent. show-discord-attachments: true -# List of roles which are used for the top role placeholders. If this is empty, all roles will be allowed. +# A list of roles which should be ignored by the {color} and {role} placeholders. +# for the Discord->MC chat format. discord-role-blacklist: - - "1234123412341234123" + - "123456789012345678" - "Members" -invert-discord-role-blacklist: false - -# Aliases for Discord roles before they are sent to Minecraft. -discord-roles-aliases: [] -# Admins: "Admin" -# Members: "Member" +# Role aliases allow you to replace the role names with something different in the Discord->MC chat relay format. +# If you are using role aliases, make sure to remove the '#' at the start to allow the setting to be read. +discord-roles-aliases: +# "123456789012345678": "&c&lAdmin" +# "Members": "Member" # A list of roles allowed to send Minecraft color/formatting codes from Discord to MC. # This applies to all aspects such as that Discord->MC chat relay as well as commands. From cd87587261797f1e19ee13b857264f73539ea915 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Tue, 8 Aug 2023 21:31:15 -0400 Subject: [PATCH 6/6] lmfao --- .../src/main/java/net/essentialsx/discord/DiscordSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index a7c4570dfb7..63076eded46 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -524,7 +524,7 @@ public void reloadConfig() { final Map roleAliases = new HashMap<>(); - for (Map.Entry entry : config.getStringMap("chat.world-aliases").entrySet()) { + for (Map.Entry entry : config.getStringMap("discord-roles-aliases").entrySet()) { roleAliases.put(entry.getKey(), FormatUtil.replaceFormat(entry.getValue())); } this.roleAliases = roleAliases;