mirror of https://github.com/kami-blue/client
[enhancement] LoginMessage multi-line support (#1772)
This commit is contained in:
parent
2ccc5e6a32
commit
3542a12d15
|
@ -16,7 +16,7 @@ import java.io.FileReader
|
|||
|
||||
object LoginMessage : Module(
|
||||
name = "LoginMessage",
|
||||
description = "Sends a given message to public chat on login.",
|
||||
description = "Sends a given message(s) to public chat on login.",
|
||||
category = Category.CHAT,
|
||||
showOnArray = false,
|
||||
modulePriority = 150
|
||||
|
@ -24,7 +24,7 @@ object LoginMessage : Module(
|
|||
private val sendAfterMoving by setting("SendAfterMoving", false)
|
||||
|
||||
private val file = File(KamiMod.DIRECTORY + "loginmsg.txt")
|
||||
private var loginMessage: String? = null
|
||||
private var loginMessages = ArrayList<String>()
|
||||
private var sent = false
|
||||
private var moved = false
|
||||
|
||||
|
@ -33,18 +33,19 @@ object LoginMessage : Module(
|
|||
if (file.exists()) {
|
||||
val fileReader = FileReader(file)
|
||||
try {
|
||||
fileReader.readLines().getOrNull(0)?.let {
|
||||
if (it.isNotBlank()) loginMessage = it.trim()
|
||||
fileReader.readLines().forEach {
|
||||
loginMessages.add(if (it.isNotBlank()) it.trim() else return@forEach)
|
||||
}
|
||||
MessageSendHelper.sendChatMessage("$chatName Loaded login message!")
|
||||
|
||||
MessageSendHelper.sendChatMessage("$chatName Loaded ${loginMessages.size} login messages!")
|
||||
} catch (e: Exception) {
|
||||
MessageSendHelper.sendErrorMessage("$chatName Failed loading login message, $e")
|
||||
MessageSendHelper.sendErrorMessage("$chatName Failed loading login messages, $e")
|
||||
disable()
|
||||
}
|
||||
fileReader.close()
|
||||
} else {
|
||||
file.createNewFile()
|
||||
MessageSendHelper.sendErrorMessage("$chatName Login Message file is empty!" +
|
||||
MessageSendHelper.sendErrorMessage("$chatName Login Messages file not found!" +
|
||||
", please add them in the &7loginmsg.txt&f under the &7.minecraft/kamiblue&f directory.")
|
||||
disable()
|
||||
}
|
||||
|
@ -59,14 +60,15 @@ object LoginMessage : Module(
|
|||
if (event.phase != TickEvent.Phase.END) return@safeListener
|
||||
|
||||
if (!sent && (!sendAfterMoving || moved)) {
|
||||
loginMessage?.let {
|
||||
if (MessageDetection.Command.KAMI_BLUE detect it) {
|
||||
MessageSendHelper.sendKamiCommand(it)
|
||||
for (message in loginMessages) {
|
||||
if (MessageDetection.Command.KAMI_BLUE detect message) {
|
||||
MessageSendHelper.sendKamiCommand(message)
|
||||
} else {
|
||||
sendServerMessage(it)
|
||||
sendServerMessage(message)
|
||||
}
|
||||
sent = true
|
||||
}
|
||||
|
||||
sent = true
|
||||
}
|
||||
|
||||
if (!moved) moved = player.isMoving
|
||||
|
|
|
@ -94,7 +94,7 @@ abstract class AbstractConfig<T>(
|
|||
description: String = ""
|
||||
) = setting(EnumSetting(name, value, visibility, consumer, description))
|
||||
|
||||
/** Boolean Setting */
|
||||
/** String Setting */
|
||||
fun T.setting(
|
||||
name: String,
|
||||
value: String,
|
||||
|
|
Loading…
Reference in New Issue