@@ -40,7 +40,7 @@ class PrivateChannel(
40
40
events : ChannelEvents ,
41
41
val sender : List <Format >,
42
42
val receiver : List <Format >,
43
- consoleFormat : Format ?
43
+ consoleFormat : List < Format >
44
44
) : Channel(id, settings, bindings, events, emptyList(), consoleFormat) {
45
45
46
46
var consolePrivateTo: String? = null
@@ -104,13 +104,26 @@ class PrivateChannel(
104
104
}
105
105
val to = consolePrivateTo ? : return ChannelExecuteResult (failedReason = ChannelExecuteResult .FailReason .NO_RECEIVER )
106
106
val component = Components .empty()
107
- consoleFormat?.let { format ->
108
- format.prefix.forEach { prefix ->
109
- component.append(prefix.value[0 ].content.toTextComponent(sender)) }
110
- component.append(format.msg.createComponent(sender, message, settings.disabledFunctions))
111
- format.suffix.forEach { suffix ->
112
- component.append(suffix.value[0 ].content.toTextComponent(sender)) }
113
- } ? : return ChannelExecuteResult (failedReason = ChannelExecuteResult .FailReason .NO_FORMAT )
107
+ val toPlayer = Bukkit .getPlayer(to)
108
+ if (toPlayer?.isOnline == true ) {
109
+ consoleFormat.firstOrNull { it.condition.pass(toPlayer) }?.let { format ->
110
+ format.prefix
111
+ .mapNotNull { prefix -> prefix.value.firstOrNull { it.condition.pass(toPlayer) }?.content?.toTextComponent(toPlayer) }
112
+ .forEach { prefix -> component.append(prefix) }
113
+ component.append(format.msg.createComponent(toPlayer, message, settings.disabledFunctions))
114
+ format.suffix
115
+ .mapNotNull { suffix -> suffix.value.firstOrNull { it.condition.pass(toPlayer) }?.content?.toTextComponent(toPlayer) }
116
+ .forEach { suffix -> component.append(suffix) }
117
+ } ? : return ChannelExecuteResult (failedReason = ChannelExecuteResult .FailReason .NO_FORMAT )
118
+ } else {
119
+ consoleFormat.firstOrNull()?.let { format ->
120
+ format.prefix.forEach { prefix ->
121
+ component.append(prefix.value[0 ].content.toTextComponent(sender)) }
122
+ component.append(format.msg.createComponent(sender, message, settings.disabledFunctions))
123
+ format.suffix.forEach { suffix ->
124
+ component.append(suffix.value[0 ].content.toTextComponent(sender)) }
125
+ } ? : return ChannelExecuteResult (failedReason = ChannelExecuteResult .FailReason .NO_FORMAT )
126
+ }
114
127
115
128
console().sendComponent(null , component)
116
129
if (settings.proxy && BukkitProxyManager .processor != null ) {
0 commit comments