Events
ModuleTriggerEvent
ModuleTriggerEvent
com.kixmc.csapi.api.ModuleTriggerEvent
This event is fired by ChatSentry whenever any (supported) modules are triggered by a player. It is not cancellable. You can use the below methods to get related information to the event:
// get the violation/detection type
APIViolationType getType()
// get the context in which this event was triggered from (chat, command, etc)
APITriggerContext getContext()
// get the player who triggered this event
Player getPlayer()
// get the message before running through the module
String getOldContent()
// get the message after ran through the module
String getNewContent()
// get return the blocked content
String getBlockedContent()
Violation types / supported modules
Any modules that have a violation/detection (APIViolationType
) type associated with them are supported by this event. The below are valid detection types:
ON_COOLDOWN
LINK_OR_AD_BLOCK
MESSAGE_FILTER_BLOCK
WORD_REPLACER_REPLACE
(legacy)SPAM_BLOCK
UNICODE_CHARACTER_BLOCK
CAP_LIMITER_BLOCK
ANTI_PARROT_BLOCK
ANTI_CHAT_FLOOD_BLOCK
ANTI_STATUE_SPAMBOT_BLOCK
ANTI_JOIN_FLOOD_BLOCK
CHAT_MODIFIER_MODIFY
(legacy)CHAT_EXECUTOR_MATCH
Context types
Below are the valid APITriggerContext
types:
CHAT
COMMAND
ANVIL
BOOK
SIGN
JOIN
OTHER
(as of 4.2.0 this context is never used)
Code examples
For testing if everything is working properly
@EventHandler
public void onModuleTrigger(ModuleTriggerEvent e) {
Bukkit.broadcastMessage("Module trigger event fired! Details:");
Bukkit.broadcastMessage("Trigger player: " + e.getPlayer().getName());
Bukkit.broadcastMessage("Trigger type: " + e.getType().toString());
Bukkit.broadcastMessage("Trigger context: " + e.getContext());
Bukkit.broadcastMessage("Original msg: " + e.getOldContent());
Bukkit.broadcastMessage("New msg: " + e.getNewContent());
Bukkit.broadcastMessage("Blocked content: " + e.getBlockedContent());
}
Checking contexts and types
@EventHandler
public void onModuleTrigger(ModuleTriggerEvent e) {
if (e.getContext() == APITriggerContext.BOOK && e.getType() == APIViolationType.UNICODE_CHARACTER_BLOCK) {
// do something only if context was a book and detection type was from the unicode remover
}
}
Last updated
Was this helpful?