战斗信息显示方式
标签
AttributeSystem
字数
115 字
阅读时间
1 分钟
Kotlin / Java
kotlin
class ASChat(val text: StringBuilder) : Message {
override fun plus(message: Message, type: Message.Type): Message {
message as ASChat
text.append(separator(type)).append(message.text)
return this
}
fun separator(type: Message.Type): String {
return ASConfig["message"].getString("fight-message.chat.${type.name.lowercase()}.separator") ?: "&5|"
}
override fun sendTo(vararg players: Player) {
players.forEach { player -> player.sendMessage(text.toString().placeholder(player).colored()) }
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
kotlin
@AutoRegister
object ASChatBuilder : MessageBuilder {
override val key: String = "chat"
override fun build(damageType: DamageType, fightData: FightData, first: Boolean, type: Message.Type): Message {
val typeStr = type.name.lowercase()
val typeText = fightData.handle(damageType["$typeStr-chat"].toString().replace("{name}", damageType.name))
val text = if (first) fightData.handle(
message.getString("fight-message.chat.$typeStr.text")
?.replace("{message}", typeText) ?: typeText
)
else typeText
return ASChat(StringBuilder(text))
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16