From 9c52df1f985207738116f4288b52195acae5771b Mon Sep 17 00:00:00 2001 From: nikky Date: Thu, 24 May 2018 23:10:06 +0200 Subject: [PATCH] fix actions not sending / receiving properly --- 1.12.2/src/main/kotlin/matterlink/EventHandler.kt | 9 ++++++--- 1.12.2/src/main/kotlin/matterlink/MatterLink.kt | 2 +- api | 2 +- core/src/main/kotlin/matterlink/Util.kt | 11 +++++------ .../bridge/command/BridgeCommandRegistry.kt | 7 ++++--- .../kotlin/matterlink/bridge/command/CustomCommand.kt | 7 +++---- .../kotlin/matterlink/bridge/command/HelpCommand.kt | 3 ++- .../matterlink/bridge/command/IBridgeCommand.kt | 4 ++-- .../bridge/command/IMinecraftCommandSender.kt | 2 +- .../main/kotlin/matterlink/handlers/ChatProcessor.kt | 6 +++--- .../main/kotlin/matterlink/handlers/DeathHandler.kt | 2 +- .../kotlin/matterlink/handlers/JoinLeaveHandler.kt | 8 ++++---- .../kotlin/matterlink/handlers/ProgressHandler.kt | 2 +- .../main/kotlin/matterlink/update/UpdateChecker.kt | 2 +- 14 files changed, 35 insertions(+), 32 deletions(-) diff --git a/1.12.2/src/main/kotlin/matterlink/EventHandler.kt b/1.12.2/src/main/kotlin/matterlink/EventHandler.kt index a5758a1..927a0c3 100644 --- a/1.12.2/src/main/kotlin/matterlink/EventHandler.kt +++ b/1.12.2/src/main/kotlin/matterlink/EventHandler.kt @@ -47,16 +47,19 @@ object EventHandler { @SubscribeEvent @JvmStatic fun commandEvent(e: CommandEvent) { - logger.info("commandEvent ${e.sender.javaClass.simpleName}") - logger.info("commandEvent ${e.sender.javaClass.typeName}") + instance.log("DEBUG","commandEvent ${e.sender.javaClass.simpleName}") + instance.log("DEBUG","commandEvent ${e.sender.javaClass.typeName}") + instance.log("DEBUG","command ${e.command.aliases}") + instance.log("DEBUG","command ${e.command.name}") val sender = when { e.sender is DedicatedServer -> cfg.outgoing.systemUser else -> e.sender.displayName.unformattedText } + instance.log("DEBUG","sender $sender") val args = e.parameters.joinToString(" ") val type = when { e.command is CommandEmote -> USER_ACTION - e.command.name == "me" -> USER_ACTION + e.command.name.equals("me", true) -> USER_ACTION e.command is CommandBroadcast -> "" else -> return } diff --git a/1.12.2/src/main/kotlin/matterlink/MatterLink.kt b/1.12.2/src/main/kotlin/matterlink/MatterLink.kt index 1d1e203..d778362 100644 --- a/1.12.2/src/main/kotlin/matterlink/MatterLink.kt +++ b/1.12.2/src/main/kotlin/matterlink/MatterLink.kt @@ -47,7 +47,7 @@ object MatterLink : IMatterLink() { @Mod.EventHandler fun serverStarting(event: FMLServerStartingEvent) { - logger.debug("Registering server commands") + log("DEBUG", "Registering server commands") event.registerServerCommand(CommandMatterlink()) start() } diff --git a/api b/api index 063ad04..8a034b5 160000 --- a/api +++ b/api @@ -1 +1 @@ -Subproject commit 063ad04b24623b28a2850eb1543ae07a2608e87a +Subproject commit 8a034b55ebbb234fec29470271029b1f7bc950d3 diff --git a/core/src/main/kotlin/matterlink/Util.kt b/core/src/main/kotlin/matterlink/Util.kt index 4e682c3..603ca57 100644 --- a/core/src/main/kotlin/matterlink/Util.kt +++ b/core/src/main/kotlin/matterlink/Util.kt @@ -37,17 +37,16 @@ fun String.lazyFormat(env: Map String>): String { val String.stripColorOut: String get() = if (cfg.outgoing.stripColors) - this.replace("§.".toRegex(), "") + this.replace("§.?".toRegex(RegexOption.UNIX_LINES), "") else this val String.stripColorIn: String - get() = - if (cfg.incoming.stripColors) - this.replace("§.".toRegex(), "") - else - this + get() = if (cfg.incoming.stripColors) + this.replace("§.?".toRegex(), "") + else + this val Exception.stackTraceString: String diff --git a/core/src/main/kotlin/matterlink/bridge/command/BridgeCommandRegistry.kt b/core/src/main/kotlin/matterlink/bridge/command/BridgeCommandRegistry.kt index 6676fb1..9841243 100644 --- a/core/src/main/kotlin/matterlink/bridge/command/BridgeCommandRegistry.kt +++ b/core/src/main/kotlin/matterlink/bridge/command/BridgeCommandRegistry.kt @@ -12,7 +12,8 @@ object BridgeCommandRegistry { private val commandMap: HashMap = hashMapOf() fun handleCommand(input: ApiMessage): Boolean { - if (!cfg.command.enable) return false + if (!cfg.command.enable || input.text.isBlank()) return false + if (input.text[0] != cfg.command.prefix[0] || input.text.length < 2) return false val cmd = input.text.substring(1).split(' ', ignoreCase = false, limit = 2) @@ -23,11 +24,11 @@ object BridgeCommandRegistry { fun register(alias: String, cmd: IBridgeCommand): Boolean { if (alias.isBlank() || commandMap.containsKey(alias)) { - instance.error("Failed to register command: '${alias}'") + instance.error("Failed to register command: '$alias'") return false } if (!cmd.validate()) { - instance.error("Failed to validate command: '${alias}'") + instance.error("Failed to validate command: '$alias'") return false } //TODO: maybe write alias to command here ? diff --git a/core/src/main/kotlin/matterlink/bridge/command/CustomCommand.kt b/core/src/main/kotlin/matterlink/bridge/command/CustomCommand.kt index 81bd1a2..886030a 100644 --- a/core/src/main/kotlin/matterlink/bridge/command/CustomCommand.kt +++ b/core/src/main/kotlin/matterlink/bridge/command/CustomCommand.kt @@ -35,7 +35,7 @@ data class CustomCommand( if (!canExecute(userId, server)) { MessageHandlerInst.transmit( ApiMessage( - text = "$user is not permitted to perform command: $alias".stripColorOut + _text = "$user is not permitted to perform command: $alias".stripColorOut ) ) return false @@ -45,8 +45,7 @@ data class CustomCommand( return when (type) { CommandType.EXECUTE -> { - //uses a new commandsender for each user - // TODO: cache CommandSenders + // uses a new commandsender for each use val commandSender = instance.commandSenderFor(user, userId, server, execOp ?: false) val cmd = "$execute $args" commandSender.execute(cmd) || commandSender.reply.isNotBlank() @@ -54,7 +53,7 @@ data class CustomCommand( CommandType.RESPONSE -> { MessageHandlerInst.transmit( ApiMessage( - text = (response?.lazyFormat(getReplacements(user, userId, server, args))?.stripColorOut ?: "") + _text = (response?.lazyFormat(getReplacements(user, userId, server, args))?.stripColorOut ?: "") ) ) true diff --git a/core/src/main/kotlin/matterlink/bridge/command/HelpCommand.kt b/core/src/main/kotlin/matterlink/bridge/command/HelpCommand.kt index 0ecaf0b..2e31a3c 100644 --- a/core/src/main/kotlin/matterlink/bridge/command/HelpCommand.kt +++ b/core/src/main/kotlin/matterlink/bridge/command/HelpCommand.kt @@ -2,6 +2,7 @@ package matterlink.bridge.command import matterlink.api.ApiMessage import matterlink.bridge.MessageHandlerInst +import matterlink.stripColorOut object HelpCommand : IBridgeCommand { override val help: String = "Returns the help string for the given command. Syntax: help " @@ -17,7 +18,7 @@ object HelpCommand : IBridgeCommand { } MessageHandlerInst.transmit( ApiMessage( - text = msg + _text = msg.stripColorOut ) ) return true diff --git a/core/src/main/kotlin/matterlink/bridge/command/IBridgeCommand.kt b/core/src/main/kotlin/matterlink/bridge/command/IBridgeCommand.kt index 1f9b076..fe4f8be 100644 --- a/core/src/main/kotlin/matterlink/bridge/command/IBridgeCommand.kt +++ b/core/src/main/kotlin/matterlink/bridge/command/IBridgeCommand.kt @@ -10,9 +10,9 @@ interface IBridgeCommand { fun execute(alias: String, user: String, userId: String, server: String, args: String): Boolean fun canExecute(userId: String, server: String): Boolean { - instance.info("this: $this canExecute: $userId server: $server permLevel: $permLevel") + instance.trace("canExecute this: $this canExecute: $userId server: $server permLevel: $permLevel") val canExec = getPermLevel(userId, server) >= permLevel - instance.info("return $canExec") + instance.trace("canExecute return $canExec") return canExec } diff --git a/core/src/main/kotlin/matterlink/bridge/command/IMinecraftCommandSender.kt b/core/src/main/kotlin/matterlink/bridge/command/IMinecraftCommandSender.kt index 2775019..cb95f9e 100644 --- a/core/src/main/kotlin/matterlink/bridge/command/IMinecraftCommandSender.kt +++ b/core/src/main/kotlin/matterlink/bridge/command/IMinecraftCommandSender.kt @@ -26,7 +26,7 @@ abstract class IMinecraftCommandSender(val user: String, val userId: String, val reply = text MessageHandlerInst.transmit( ApiMessage( - text = text.stripColorOut + _text = text.stripColorOut ) ) } diff --git a/core/src/main/kotlin/matterlink/handlers/ChatProcessor.kt b/core/src/main/kotlin/matterlink/handlers/ChatProcessor.kt index ff9e8b2..bcd2ca9 100644 --- a/core/src/main/kotlin/matterlink/handlers/ChatProcessor.kt +++ b/core/src/main/kotlin/matterlink/handlers/ChatProcessor.kt @@ -10,9 +10,9 @@ object ChatProcessor { val message = msg.trim() when { message.isNotBlank() -> MessageHandlerInst.transmit(ApiMessage( - username = user.stripColorOut, - text = message.stripColorOut, - event = event) + _username = user.stripColorOut, + _text = message.stripColorOut, + _event = event) ) else -> instance.warn("WARN: dropped blank message by '$user'") } diff --git a/core/src/main/kotlin/matterlink/handlers/DeathHandler.kt b/core/src/main/kotlin/matterlink/handlers/DeathHandler.kt index 425d19c..efdadc9 100644 --- a/core/src/main/kotlin/matterlink/handlers/DeathHandler.kt +++ b/core/src/main/kotlin/matterlink/handlers/DeathHandler.kt @@ -23,7 +23,7 @@ object DeathHandler { val damageEmoji = emojis[random.nextInt(emojis.size)] msg += " $damageEmoji" } - MessageHandlerInst.transmit(ApiMessage(text = msg)) + MessageHandlerInst.transmit(ApiMessage(_text = msg)) } } } diff --git a/core/src/main/kotlin/matterlink/handlers/JoinLeaveHandler.kt b/core/src/main/kotlin/matterlink/handlers/JoinLeaveHandler.kt index a8c8397..654dd65 100644 --- a/core/src/main/kotlin/matterlink/handlers/JoinLeaveHandler.kt +++ b/core/src/main/kotlin/matterlink/handlers/JoinLeaveHandler.kt @@ -19,8 +19,8 @@ object JoinLeaveHandler { ) MessageHandlerInst.transmit( ApiMessage( - text = msg, - event = JOIN_LEAVE + _text = msg, + _event = JOIN_LEAVE ) ) } @@ -36,8 +36,8 @@ object JoinLeaveHandler { ) MessageHandlerInst.transmit( ApiMessage( - text = msg, - event = JOIN_LEAVE + _text = msg, + _event = JOIN_LEAVE ) ) } diff --git a/core/src/main/kotlin/matterlink/handlers/ProgressHandler.kt b/core/src/main/kotlin/matterlink/handlers/ProgressHandler.kt index 159df81..2cc9b56 100644 --- a/core/src/main/kotlin/matterlink/handlers/ProgressHandler.kt +++ b/core/src/main/kotlin/matterlink/handlers/ProgressHandler.kt @@ -13,7 +13,7 @@ object ProgressHandler { val usr = name.stripColorOut.antiping MessageHandlerInst.transmit( ApiMessage( - text = "$usr $message $display".stripColorOut + _text = "$usr $message $display".stripColorOut ) ) } diff --git a/core/src/main/kotlin/matterlink/update/UpdateChecker.kt b/core/src/main/kotlin/matterlink/update/UpdateChecker.kt index 726d0d0..c00bf74 100644 --- a/core/src/main/kotlin/matterlink/update/UpdateChecker.kt +++ b/core/src/main/kotlin/matterlink/update/UpdateChecker.kt @@ -110,7 +110,7 @@ class UpdateChecker : Thread() { instance.warn("Mod out of date! New $version available at ${latest.downloadURL}") MessageHandlerInst.transmit( ApiMessage( - text = "MatterLink out of date! You are $count $version behind! Please download new version from ${latest.downloadURL}" + _text = "MatterLink out of date! You are $count $version behind! Please download new version from ${latest.downloadURL}" ) ) }