Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AsyncPlayerChatEvent::class
- .observable(false, EventPriority.HIGHEST)
- .doOnError(Logger.trackError("DiscordManager.AsyncPlayerChatEvent", "error occurs in event subscriber"))
- .subscribe {
- val ecPlayer = globalManager.players.getByPlayer(it.player)
- if (ecPlayer.state != ECPlayerState.AUTHENTICATED) {
- it.isCancelled = true
- return@subscribe
- }
- val sender = it.player
- var message = it.message
- val chatType = when {
- message.startsWith("@party ") -> {
- message = message.replace("@party ", "")
- ChatType.PARTY
- }
- else -> ChatType.GLOBAL
- }
- it.message = globalManager.message.playerChat(sender, chatType, message)
- if (chatType != ChatType.PARTY) {
- it.recipients.removeIf { p -> globalManager.players.getByPlayer(p).database[Players.ignoredPlayers].contains(sender.name) }
- } else {
- it.isCancelled = true
- globalManager.mcmmo.getPlayerParty(sender).map { p ->
- p.sendMessage(it.message)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement