Skip to content

Changelog

Oliver Martin edited this page Aug 6, 2020 · 78 revisions

1.10 (BETA)

  • Added options to change aliases of all commands
  • Command aliases moved to dedicated config file aliases.yml
  • Added local spy for staff members to see local chats of other servers
  • Local spy can now be customised in the config.yml file
  • MultiChat can now process JSON (hover events, click events etc.)
  • JSON can be used in the following places:
    • The display command
    • Private message formats(to create shortcuts to reply to people etc.)
    • Staff chat (mod and admin) and group chat formats
    • Announcements and Bulletins
    • Join messages
    • All messages in the messages.yml file
  • MultiChat JSON handling allows for two addition concepts of concatenation and injection
    • Concatenation with the "+++" operator allows two chat components to be joined.
    • Injection with the ">>>" operator allows the formatting from one chat component to be injected into another.
    • This allows for injection of hover events into placeholders when displaying them.
  • Player names no longer have to be exact in order to /msg to someone
  • Added better support for RGB colour codes in network join and quit messages
  • Welcome messages can now be shown even if network join messages are disabled
  • %SERVER% placeholder can now be used in join / quit / welcome messages
  • Nickname command can now be used on offline players
  • Nickname command can now be used by the console
  • Optimisations
    • Set API version for Spigot to 1.13 to prevent legacy mode being enabled
    • Created new ProxyDataStore for central storage of volatile data
    • Created new ProxyFileStore and ProxyFileStoreManager for central storage of non-volatile data (file-based storage)
    • Completely re-coded all bungeecord communication channels
      • Now: multichat:pmeta/pchat/schat/pdata/sdata/sact/pact
      • Previously: multichat:prefix/suffix/dn/nick/world/ignore/ch/pxe/ppxe/act/pact/comm/chat/ch
    • Created new ProxyBackupManager for better handling of file backups
    • Completely re-designed chat channels system ("behind-the-scenes" changes only)
      • Added provision ready for custom channels in 2.0 update
      • Currently still only able to use the "local" and "global" channels
    • Many optimisations for command code by Gadse
    • Improved MultiChatLocal debug messages

1.9.5

  • Even more support for RGB colour codes in chat formats and displaynames
  • Codes should now work regardless of if they are UPPER or lower case

1.9.4

  • Added more support for legacy plugins which do not understand the &#abcdef codes
    • Automatically reformat all meta values from vault (prefix, suffix etc.)
    • Ensure that all &x / &# codes are translated before setting into displayname

1.9.3

  • Added native support for 1.16 hex (rgb) colour codes
  • RGB colours can be used across multichat in 3 formats:
    • Verbose: &x&f&f&f&f&f&f
    • Shorthand: &#ffffff
    • Shorthand Alternative: &xffffff
  • Added new permission nodes for chat colours:
    • RGB colour codes (All colour codes): multichat.chat.color.rgb / multichat.chat.colour.rgb
    • Simple colour codes (Only &0 -> &f): multichat.chat.color.simple / multichat.chat.colour.simple
    • The older multichat.chat.color / multichat.chat.colour permissions will be retained for legacy purposes and grant permission to all colour codes including RGB.
  • Added new permission nodes for nickname colours:
    • RGB colour codes (All colour codes): multichatlocal.nick.color.rgb / multichatlocal.nick.colour.rgb
    • Simple colour codes (Only &0 -> &f): multichatlocal.nick.color.simple / multichatlocal.nick.colour.simple
    • The older multichatlocal.nick.color / multichatlocal.nick.colour.rgb permissions will be retained for legacy purposes and grant permission to all colour codes including RGB.
  • Added some legacy support for previous versions of MC which don't support RGB colour codes (fallback to old style codes &a, &b etc.)
  • Automatically converts colour codes used in nicknames for best compatibility across plugins
  • Added better support for PremiumVanish (thanks to Gadse!)
  • Added MySQL flag options to the database for localconfig (Can be used for useSSL=false, autoReconnect=true etc.)
  • Prevented players setting nicknames like &_& when they didn't have multichatlocal.nick.special permission.
  • Better support for bungeecord kicking / banning / whitelist plugins to prevent incorrect join / leave messages
  • &x character no longer counted in nickname length incorrectly

v1.9.2

  • Added support for PremiumVanish on the /msg and /staff commands
  • Added permissions for individual types of format codes in nicknames (multichatlocal.nick.format.bold/italic/underline/strikethrough/obfuscated/reset) (multichatlocal.nick.format still grants permissions to ALL types of format codes)
  • Display command now respects no_global list
  • Fixed more null pointer exceptions
  • Fixed missing SLF4J dependency on some systems
  • Fixed bug where casts would sometimes have an extra space on the end of the format

v1.9.1

  • Fixes error thrown in onDisable function due to incorrect database name being called from the database manager

v1.9

  • This update is a "stepping-stone" update on the way to MultiChat 2.0 which will include loads of new features on the proxy side and SQL support across all of MultiChat's functions
  • Databases have been optimised using connection pools
  • MultiChatSpigot and MultiChatSponge have been refactored to form MultiChatLocal
  • Spigot and Sponge now share the exact same features as each other and will be maintained through this common codebase
  • All multichatspigot and multichatsponge permissions are renamed to multichatlocal
  • The multichatspigot and multichatsponge commands have been renamed to multichatlocal
  • The sponge config files have been re-located to the correct multichat config folder (NOTE: This means you will need to move your files to this new location in order for them to work!)
  • Added support for towny and many other plugins that have their own "chat channels" through the use of channel forcing in the MultiChatLocal config.
  • Channel forcing can also be used to use Essentials local chat range and shout features.
  • Added basic support for plugins like Magibridge on Sponge (in the same way Spigot had support for DiscordSRV)
  • Added a reload command for Sponge (like Spigot already had)
  • Support the /sponge plugins reload command for Sponge
  • Added the "MultiChatPlaceholders" feature to sponge to use placeholders like {multichat_nickname} in other plugins' chat formats like Nucelus
  • You can now override MultiChat's formatting on Sponge (for local, or both global and local)
  • Added debug commands for Spigot and Sponge via /multichatlocal debug
  • You can now require permissions for regex rules and regex actions to occur in the chatcontrol.yml
  • You can now customise the regular expression used to match links in the link control section of chatcontrol.yml
  • Added a nicer error when a regular expression goes wrong, rather than spamming the console
  • Fixed an issue with one of the Post Events triggered by MultiChat
  • Fixed the error recevied in client's consoles as a result of plugin messages not being marked as completed
  • Fixed several null pointer exceptions
  • Loads of backend optimisations

v1.8.1

  • Fixed a critical security vulnerability introduced in MultiChat 1.8
  • Fixed an issue where nickname prefixes would be displayed in front of everyone's name regardless of if they had a nickname (when using SQL mode).

v1.8

  • Added support for MySQL and SQLite for MultiChatSpigot AND MultiChatSponge
  • Added MultiChat Database Manager
  • Nicknames can be synced across multiple Spigot and Sponge servers using a MySQL database
  • Added migration command to convert from file based storage to SQL
  • Added "Proxy Execute" function that allows Proxy commands to be executed from Spigot & Sponge
  • Added privacy options to config.yml to disable logging for private messages, staff & group chat.
  • Added config option to allow new player welcome messages to be displayed privately or broadcast or both
  • Added minimum length for nicknames in both Spigot and Sponge
  • Added permission to bypass nickname blacklist (multichatspigot.nick.blacklist/multichatsponge.nick.blacklist)
  • Improved the local and global commands to allow direct messaging with /global etc.
  • Can now add aliases for local and global in the config.yml like /g and /l
  • Re-built file based nickname storage in Sponge
  • Added more advanced name management system to Sponge (the same once that is used in Spigot)
  • Added colour and format permissions to Sponge nickname command
  • Added special characters permission to Sponge nickname command
  • Added max length to Sponge nicknames and override permission
  • Added realname command to Sponge
  • Added username command to Sponge
  • Added French Translation for all config files (Thanks to Nogapra!)
  • Fixed an issue where chat control settings, mute, freeze etc. would not apply to local chat
  • Fixed a potential deadlock that could occur if lots of players were online at once
  • Fixed an issue that stopped the MultiChat local format working when no_global was enabled
  • Fixed a bug that prevented the MultiChatExecute command working with Sponge
  • Many other minor bug fixes

v1.7.5

  • Full compatibility for Minecraft 1.15
  • Minor bug fixes

v1.7.4

  • Better compatibility for Minecraft 1.7.
  • Added configurable nickname max lengths in spigot
  • Changed plugin channel names to be within the old 1.7 16 char limit
  • Spigot displaynames now correctly fetched, even when not set using Vault!
  • Fixed the issue that prevented the plugin working on 1.14
  • Added bstats metrics

v1.7.3

  • Fixed a bug that caused all colour codes to disappear from the global chat in Sponge when PAPI was installed.
  • Corrections to the French translations

v1.7.2

  • Fixed a bug that incorrectly created the translations subdirectory on unix systems
  • Fixed a bug that prevented freezechat from working
  • Better error handling when malformed regex used in realname and username commands
  • Added more helpful debug messages when chat messages are sent between local servers and proxy server
  • Added checks for duplicate nicknames and impersonating another player using nicknames
  • Added nickname prefix option
  • Added nickname blacklist
  • Added option to prevent players without a permission node from sending links

v1.7.1

  • Fixed a bug preventing Sponge nickname data being saved persistently
  • Added the "MultiChat Placeholders" feature
  • Added more debug messages
  • Added French translations by Nogapra - Thankyou!
  • Added /username command to go along with the /realname command
  • Other general code refactoring and efficiency enhancements

v1.7

  • ChatEvent no longer cancelled
  • Support for PlaceholderAPI
  • Support added for all* Spigot plugins that modify chat messages or formats
    • Support includes the following:
      • DiscordSRV
      • Most factions/clans plugins
      • Towny prefixes
      • Message translation plugins
      • MultiVerse chat functionality
      • VanishNoPacket chat functionality
      • EssentialsChat functionality
    • Note that some functionality is done on a best effort basis depending on the plugin
    • *Some plugins are just coded badly and hence will always be incompatible with bungeecord
  • Player meta such as prefixes now update immediately
  • Completely re-designed local chat so that it now functions as a true local chat
  • Added first-join welcome message
  • MultiChatBridge renamed to MultiChatSpigot
  • All multichatbridge.... permission nodes renamed to multichatspigot...
  • Added config file to MultiChatSpigot
  • Added reload command to MultiChatSpigot
  • Added config file to MultiChatSponge
  • Global chat format can be customised on a per-server basis
  • Added the /channel command for switching between local and global chats
  • Added /channel show/hide commands
  • Added default channel option to config
  • Added force channel option to config
  • Removed legacy %MODE% placeholder
  • Many back end-optimisations, especially for private messaging and local/global chat
  • Added info message for when vault is found but a permissions plugin isn't registered (which prevents the chat aspect working)

v1.6.2

  • Staff list now only shows servers with staff online
  • Added %WORLD% placeholder
  • Added a config option to disable toggling the /msg commands
  • Huge improvements made to console logging
  • Console logging formats now customisable in messages.yml
  • Fixed an issue with the MultiChatExecute command (however this change was not present in the release on spigotmc.org, will be released with the next version)

v1.6.1

  • Fixed a bug in nickname permissions (spigot only)
  • More powerful realname command can now find partial matches (spigot only)
  • Separate permission nodes for colour codes, format codes, and special characters in nicknames (spigot only)
  • Private messaging can now be used from console
  • Added MultiChatExecute command to remotely execute commands across your network using regular expressions
  • Added 'PostMessage' events for plugins to hook into. (Namely PurpleBungeeIRC)

v1.6

  • Many back-end optimisations
  • All plugin messages are now customisable
  • Much more powerful nickname system (spigot only)
  • Realname command works for offline players (spigot only)
  • Realname command works regardless of format codes (spigot only)
  • Nicknames will now show in the 'Essentials' /whois command (spigot only)
  • Separate permission node added to allow format codes in nicknames (spigot only)
  • Fixed a large number of null pointer exceptions
  • Refactored the main config file config.yml
  • Added option to disable the staff list in config.yml
  • All command aliases now reload with /multichat reload (before a restart was required)
  • Added debug mode for troubleshooting
  • Added more placeholders inlcuding %NICK%, %PREFIX% and %SUFFIX%
  • Added option to prevent MultiChat setting the displayname
  • Added option to specify the format in which MultiChat should set the displayname
  • Added MultiChat Bypass command
  • Added chat control rules to find and replace with regex via the chatcontrol.yml file
  • Added chat control actions to run commands on regex match via the chatcontrol.yml file
  • Added /mute command with additional bypass permission
  • Added /ignore command with additional bypass permission
  • Added Anti-Spam module with bypass permission
  • Added a size limit for nicknames with a bypass permission node (spigot only)
  • Staff no longer show up in private message tab complete until they have sent a message

v.1.5.2

  • Fixed 1.13 support for Sponge servers
  • A very significant amount of code refactoring behind the scenes

v.1.5.1

  • Added support for Minecraft 1.13

v1.5

  • An end to many null pointer exceptions, thread safety has arrived!
  • Nicknames now show up in the tablist and other places
  • Colour codes have been fixed in the main chat
  • Multiple hyperlinks can be sent and clicked on in one message
  • Fixed an issue that prevented some types of hyperlink from being clickable
  • Group create permission node added
  • You can now nickname yourself by not specifying a player argument (spigot only)
  • Added a /realname command to get the real name of a player with a nickname (spigot only)
  • Added the /usecast command to allow console to use custom broadcasts

v1.4.2

  • Added multichatbridge/sponge.nick.others and multichatbridge/sponge.nick.self permission nodes
  • Removed left over debug messages from Sponge

v1.4.1

  • Fixed Sponge version info
  • Fixed cast command displaying multiple times in console
  • Added %MODE% and %M% placeholders to global chat
  • Fixed a bug that caused the second page of help to not display in /group
  • Prevented local and global commands from being registered if global chat is disabled at start up
  • Global chat is now logged in console with the correct chat colours
  • Nickname command added to Sponge
  • Fixed various null pointer exceptions

v1.4

  • Implemented a chat stream class to be used by global chat
  • Fixed a bug that caused formatting codes to be 'lost' on subsequent lines when the global chat text colour was not white (&f)
  • Added /announcement list command to view existing announcements
  • Staff MUST now have the multichat.staff permission to appear in staff list. (Before the mod and admin chat nodes were used in addition to the plain staff node)
  • Added custom broadcasts with /cast
  • Added feedback to bulletin commands
  • Added feedback to the helpme command
  • Fixed stability issues to prevent unhandled exceptions occuring
  • Fixed issues that prevented MultiChat working correctly with LuckPerms
  • Fixed 'double prefixes' showing after being changed
  • Implemented /nick command into MultiChatBridge
  • Fixed silent quit messages not displaying in chat
  • Added a social spy bypass node
  • Cut down the amount of console logging
  • Changed functionality of /local command to only send your messages to people on the same server, and only receive messages from people on the same server. (Previously, your messages would be sent globally, but you would only see responses from those on the same server)

v1.3.4

  • Fixed a bug preventing the correct displaying of nicknames when using vault

v1.3.3

  • Now supports Vault
  • Prefixes and suffixes are fetched if they are not already in the fetched displayname

v1.3.2

  • Added tab complete for private messaging and group chats
  • Added /clearchat command with options for your own chat stream, all servers, the global chat, or current server
  • Made it so that staff chats could be used from console
  • Optimised group chat management code
  • Added announcements allowing you to display a message on a timer, or on demand
  • Added bulletins allowing you to cycle through a list of a list of messages at regular intervals
  • Added SPONGE support so that displays can be fetched from Sponge servers as well as Spigot

v1.3.1

  • Fixed an issue that prevented muting plugins from working
  • Added multichat.staff permission for appearing in staff list (previous used mod or admin chat nodes)
  • Fixed a bug that prevented you turning off a private message toggle if the target went offline
  • Added a barebones /helpme command
  • Fixed an issue preventing players from seeing the mod chat even with the correct permission
  • Added network join and quit messages (and silent join) via the joinmessages.yml file

v1.3

  • Added global chat
  • Added spigot display name fetching
  • Added the /multichat command
  • Added private messaging via /msg and /r
  • Added social spy
  • Console logging now colour coded
  • Ability to toggle private messages
  • Ability to switch between local and global chat modes with /local and /global
  • Added /display command
  • Added config.yml file to customise various settings for the plugin
    • Disable global chat or private messaging for each server
    • Customise the global chat and private message formats in config.yml
  • Changed /staff command to now used display names fetched from spigot
  • Can send links and use colour codes in all chat types
  • Added a large number of permission nodes to control the above features
  • Added the /freezechat command

v1.2.3

  • Changed the current plugin.yml file to bungee.yml to facilitate future spigot integration

v1.2.2

  • Added /group list/members <group> command
  • Added UUID-Name conversion file
  • Plugin released to spigotmc.org for first time

v1.2.1

  • Minor bug fixes

v1.2

  • Added group chats using the /group and /gc commands
  • Added the /staff command and /groups commands

v1.1.2

  • Added chat colour changing options for admin chat via /acc

v1.1.1

  • Added chat colour changing options for mod chat via /mcc

v1.1

  • Added toggles for mod and admin chat streams

v1.0

  • Plugin to provide Bungeecord moderator and administrator chat streams