Changelog
There were some bugs that @h4shy tested for (Thank you so much! :D) They were eventually fixed, and I also got some suggestions that would create competition between other chat plugins.
Redesigned APIs fill the update, which is PACKED with new API additions and improvements.
User
Fixes
- Fixed where you can't disable broadcasts
- Fixed the issue where it is possible that the usernames outside of the message can be mentioned, for example:
Previous:
[Member] FlameyosFlow >> Hey there FlameyosFlow how are you?
Now:
[Member] FlameyosFlow >> Hey there FlameyosFlow how are you?
(Fixed using the new SerializedMessage API)
Improvements
Improved mentioning system, now you can add symbols next to a username, for example:
Previous:
"[Member] FlameyosFlow >> Hey there FlameyosFlow how are you?"
"[Member] FlameyosFlow >> I'm good, what about you, FlameyosFlow?" (Does not mention because of '?')
Now:
"[Member] FlameyosFlow >> Hey there FlameyosFlow how are you?"
"[Member] FlameyosFlow >> I'm good, what about you, FlameyosFlow?" (Can now mention)
Developers
Additions
-
Added new methods for WordReplacementManager: WordReplacementManager#addWordMapper WordReplacementManager#removeWordMapper WordReplacementManager#clearWordMappers
-
Added new action events on action execute: PreTitleExecuteEvent PreSoundExecuteEvent PreActionBarExecuteEvent PreCommandExecuteEvent PreSendMessageExecuteEvent
-
New SerializedMessage data class to improve performance, and even used to fix a bug for mentioning!
Improvements
- ChatFormatMessageModifier priority set to LOWEST so it can execute last.
Breaking changes
- Removed ChatManager#processChat and processed it directly inside of PrimaryChatListener
- MessageModifier#modify now no longer returns a value and takes in a SerializedMessage instead of RawDataRegistry<String>
- RawDataRegistry<String> PostChatProcessEvent#getDataRegistry ->SerializedMessage PostChatProcessEvent#getData
- Option<GroupedDataRegistry> MentionsManager#changeMentionsLook(final Player player, final String message) -> void MentionsManager#changeMentionsLook(final Player player, final SerializedMessage message)
- String getFormat(final String message, final Player player) -> SerializedMessage getFormat(final SerializedMessage message, final Player player)
- void editMessage(RawDataRegistry dataRegistry); -> void editMessage(SerializedMessage dataRegistry);
- String ChatProvider#getFormat(String message, String groupFormat, Player player); -> ChatProvider#SerializedMessage getFormat(SerializedMessage message, String groupFormat, Player player);
- ChatRenderer ProcessedChatRenderer#createChatRenderer(RawDataRegistry rawDataRegistry); -> ChatRenderer ProcessedChatRenderer#createChatRenderer(SerializedMessage rawDataRegistry);
- DefaultChatRenderer now takes in a SerializedMessage instead of a RawDataRegistry