Additions
- Added API methods for sending fake join/leave messages
- Added multi regex pattern-replacement options for Discord <-> Minecraft and console messages (previous filtering options are now gone)
- Group synchronization can be one way
- Added a config option for uploading plugins into the console channel and them being added to the server automatically (disabled by default)
- Add message prompting the user to check if they copied the client secret instead of bot token when the token in the config is 32 characters long
- Add support for target selectors in the broadcast command
- Add linked nickname back to people when they rejoin the server
- Added the EnablePresenceInformation config option for keeping presence data for some of our PlaceholderAPI placeholders
- Accounts can now be linked together manually, /discord link <minecraft username/uuid> <Discord user id/username#discriminator>
- discordsrv.resync is now included in discordsrv.admin
- Added debug messages for invalid bot token and disallowed intents
- Alerts now accept channel ids in the Channel option
- Added a options to block or bypass banned players in the require linked account module
- Added PlaceholderAPI compatability to DiscordConsoleChannelFormat
Fixes
- Fix for usernames containing "Clyde" not sending as a webhook message
- Fixed a error when the plugin is disabled on the wrong thread
- Fixed fields not being registered for embed messages
- Fixed a error when Fields aren't defined for a alert
- Fixed BungeeCord's chat api being included in the jar
- Fixed ForcedLanguage not being loaded in properly
- Fixed the chatting prefix option name in the bstats features pie
- Fixed some issues with a incompatible Chatty version
- Fixed color code stripping not happening before DiscordConsoleChannelDoNotSendPhrases is processed
- Fixed lag with LuckPerms contexts & the MySQL linked accounts backend
- Fix a NPE in Debug generation
- Fixed group synchronization with managed roles not working (always Discord -> Minecraft)
- Fixed the bot not giving it's self permission to move members in voice channels
- Fixed Mute users who bypass speak permissions in the lobby config option not being checked
- Advancement names should now match the ones that are displayed ingame
- Fixed role pings in the server watchdog
- Fixed the cancellation detector not detecting chat listeners registered before it is enabled
Changes
- Made more messages translatable in the messages.yml
- The voice module has been partially rewritten, and should now work faster than before
- The voice module's strengths are now split into horizontal and vertical
- Changed member caching to keep all members in cache, also fixed some things that report how many members are online in the main Discord server
- Updated to LunaChat's API to 3.x
- Changed the internal linked account map to be more efficient with looking up by player
- Moved alerts to be fully asynchronous, reducing lag
- The plugin now disables itself if the token isn't valid (not set or too short)
- Only log vault groups once, log both permission grants & denies in-line in group sync
- Make zPermissions group sync command triggers case insensitive
- The console channel id is now reloadable
- The PlaceholderAPI expansion now allows lookups via OfflinePlayer
- Vanished players will no longer be nickname synchronized to keep them hidden
- Stacktraces are now visible in debug reports
- The bot now forces the Speak permission to be denied to the default role in voice lobbies