Tags
Creators
Details
1.2.0
Compatibility
Changes
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
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:IpvT6GtG:Sl5x8Dri"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:IpvT6GtG:Sl5x8Dri"
}

