diff --git a/pom.xml b/pom.xml index d2e2078..381dd1a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.etztech DeluxeGroups - 2.0 + 2.1 jar diff --git a/src/main/java/xyz/etztech/deluxegroups/listeners/DGListener.java b/src/main/java/xyz/etztech/deluxegroups/listeners/DGListener.java index 2d10f77..79a46a3 100644 --- a/src/main/java/xyz/etztech/deluxegroups/listeners/DGListener.java +++ b/src/main/java/xyz/etztech/deluxegroups/listeners/DGListener.java @@ -1,26 +1,14 @@ package xyz.etztech.deluxegroups.listeners; import github.scarsz.discordsrv.DiscordSRV; -import github.scarsz.discordsrv.dependencies.commons.lang3.StringUtils; -import github.scarsz.discordsrv.dependencies.dev.vankka.mcdiscordreserializer.discord.DiscordSerializer; import github.scarsz.discordsrv.dependencies.jda.api.entities.TextChannel; -import github.scarsz.discordsrv.dependencies.net.kyori.text.serializer.legacy.LegacyComponentSerializer; -import github.scarsz.discordsrv.hooks.VaultHook; -import github.scarsz.discordsrv.hooks.world.MultiverseCoreHook; -import github.scarsz.discordsrv.util.DiscordUtil; -import github.scarsz.discordsrv.util.LangUtil; -import github.scarsz.discordsrv.util.PlaceholderUtil; -import github.scarsz.discordsrv.util.TimeUtil; import org.bukkit.ChatColor; -import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import xyz.etztech.deluxegroups.DeluxeGroups; import xyz.etztech.deluxegroups.events.GlobalChatEvent; import xyz.etztech.deluxegroups.events.GroupChatEvent; -import static org.bukkit.Bukkit.getServer; - public class DGListener implements Listener { private DeluxeGroups plugin; @@ -32,42 +20,12 @@ public class DGListener implements Listener { @EventHandler public void onGlobalChat(GlobalChatEvent event) { TextChannel mainChannel = DiscordSRV.getPlugin().getMainTextChannel(); - - // FIXME Do we really need to copy/paste DiscordSRV code?? - String channel = mainChannel.getName(); - String message = event.getMessage(); - Player player = event.getAuthor(); - String userPrimaryGroup = VaultHook.getPrimaryGroup(player); - boolean hasGoodGroup = StringUtils.isNotBlank(userPrimaryGroup); - if (hasGoodGroup) { - userPrimaryGroup = userPrimaryGroup.substring(0, 1).toUpperCase() + userPrimaryGroup.substring(1); + if (mainChannel != null) { + String message = DiscordSRV.config().getString("MinecraftChatToDiscordMessageFormatNoPrimaryGroup"). + replace("%displayname%", event.getAuthor().getName()). + replace("%message%", event.getMessage()); + mainChannel.sendMessage(message).queue(); } - - boolean reserializer = DiscordSRV.config().getBoolean("Experiment_MCDiscordReserializer_ToDiscord"); - String username = DiscordUtil.strip(player.getName()); - if (!reserializer) { - username = DiscordUtil.escapeMarkdown(username); - } - - String discordMessage = (hasGoodGroup ? LangUtil.Message.CHAT_TO_DISCORD.toString() : LangUtil.Message.CHAT_TO_DISCORD_NO_PRIMARY_GROUP.toString()).replaceAll("%time%|%date%", TimeUtil.timeStamp()).replace("%channelname%", channel != null ? channel.substring(0, 1).toUpperCase() + channel.substring(1) : "").replace("%primarygroup%", userPrimaryGroup).replace("%username%", username).replace("%world%", player.getWorld().getName()).replace("%worldalias%", DiscordUtil.strip(MultiverseCoreHook.getWorldAlias(player.getWorld().getName()))); - discordMessage = PlaceholderUtil.replacePlaceholdersToDiscord(discordMessage, player); - String displayName = DiscordUtil.strip(player.getDisplayName()); - if (reserializer) { - message = DiscordSerializer.INSTANCE.serialize(LegacyComponentSerializer.legacy().deserialize(message)); - } else { - displayName = DiscordUtil.escapeMarkdown(displayName); - } - - discordMessage = discordMessage.replace("%displayname%", displayName).replace("%message%", message); - if (!reserializer) { - discordMessage = DiscordUtil.strip(discordMessage); - } - if (DiscordSRV.config().getBoolean("DiscordChatChannelTranslateMentions")) { - discordMessage = DiscordUtil.convertMentionsFromNames(discordMessage, DiscordSRV.getPlugin().getMainGuild()); - } else { - discordMessage = discordMessage.replace("@", "@\u200b"); - } - DiscordUtil.sendMessage(mainChannel, discordMessage); } @EventHandler diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 45ff74b..07a4fbf 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -7,7 +7,7 @@ prefix: # So, we have a few options to make players aware of group chat vs global chat # If you don't want anything, leave these as-is format: - color: '' + color: '&b' # Custom format. The variables and are available and will be # replaced by the group name and chat message respectively custom: '' @@ -16,6 +16,6 @@ format: discord: # These have the same variables available as custom, but also for the name of the speaker # Discord to Minecraft. Can include color codes - dtm: '[&bDiscord &f| &b&f] > ' + dtm: '[&bDiscord &f| &b&f] > &b' # Minecraft to Discord mtd: ' > ' \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d6326fb..ad3ff99 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -5,6 +5,7 @@ author: ${author} website: ${url} main: ${mainClass} softdepend: [dynmap, MinecraftManager, DiscordSRV] +api-version: 1.15 commands: deluxegroups: description: Base DeluxeGroups command