mirror of https://github.com/kami-blue/client
[fix] SetCommand not displaying the correct value after changing
closes #1831
This commit is contained in:
parent
bad2346f36
commit
bf4c97c2f6
|
@ -1 +1 @@
|
|||
Subproject commit c9be6984ec7f6aba0dcf0b5ea3abe3d1004e4ee6
|
||||
Subproject commit 62cbb2de30be66dd9fc9b3e279203311d4f3a299
|
|
@ -7,8 +7,6 @@ import me.zeroeightsix.kami.setting.settings.impl.primitive.EnumSetting
|
|||
import me.zeroeightsix.kami.util.text.MessageSendHelper
|
||||
import me.zeroeightsix.kami.util.text.format
|
||||
import me.zeroeightsix.kami.util.text.formatValue
|
||||
import me.zeroeightsix.kami.util.threads.onMainThread
|
||||
import me.zeroeightsix.kami.util.threads.onMainThreadW
|
||||
import net.minecraft.util.text.TextFormatting
|
||||
|
||||
object SetCommand : ClientCommand(
|
||||
|
@ -20,27 +18,23 @@ object SetCommand : ClientCommand(
|
|||
module("module") { moduleArg ->
|
||||
string("setting") { settingArg ->
|
||||
literal("toggle") {
|
||||
executeAsync {
|
||||
execute {
|
||||
val module = moduleArg.value
|
||||
val settingName = settingArg.value
|
||||
val setting = module.fullSettingList.find { it.name.equals(settingName, true) }
|
||||
|
||||
if (setting == null) {
|
||||
sendUnknownSettingMessage(module.name, settingName)
|
||||
return@executeAsync
|
||||
return@execute
|
||||
}
|
||||
|
||||
when (setting) {
|
||||
is BooleanSetting -> {
|
||||
onMainThread {
|
||||
setting.value = !setting.value
|
||||
}
|
||||
setting.value = !setting.value
|
||||
}
|
||||
|
||||
is EnumSetting -> {
|
||||
onMainThread {
|
||||
setting.nextValue()
|
||||
}
|
||||
setting.nextValue()
|
||||
}
|
||||
|
||||
else -> {
|
||||
|
@ -53,23 +47,21 @@ object SetCommand : ClientCommand(
|
|||
}
|
||||
|
||||
greedy("value") { valueArg ->
|
||||
executeAsync("Set the value of a module's setting") {
|
||||
execute("Set the value of a module's setting") {
|
||||
val module = moduleArg.value
|
||||
val settingName = settingArg.value
|
||||
val setting = module.fullSettingList.find { it.name.equals(settingName, true) }
|
||||
|
||||
if (setting == null) {
|
||||
sendUnknownSettingMessage(module.name, settingName)
|
||||
return@executeAsync
|
||||
return@execute
|
||||
}
|
||||
|
||||
try {
|
||||
val value = valueArg.value
|
||||
|
||||
onMainThreadW {
|
||||
setting.setValue(value)
|
||||
MessageSendHelper.sendChatMessage("Set ${formatValue(setting.name)} to ${formatValue(value)}.")
|
||||
}
|
||||
setting.setValue(value)
|
||||
MessageSendHelper.sendChatMessage("Set ${formatValue(setting.name)} to ${formatValue(value)}.")
|
||||
} catch (e: Exception) {
|
||||
MessageSendHelper.sendChatMessage("Unable to set value! ${TextFormatting.RED format e.message.toString()}")
|
||||
KamiMod.LOG.info("Unable to set value!", e)
|
||||
|
@ -77,14 +69,14 @@ object SetCommand : ClientCommand(
|
|||
}
|
||||
}
|
||||
|
||||
executeAsync("Show the value of a setting") {
|
||||
execute("Show the value of a setting") {
|
||||
val module = moduleArg.value
|
||||
val settingName = settingArg.value
|
||||
val setting = module.fullSettingList.find { it.name.equals(settingName, true) }
|
||||
|
||||
if (setting == null) {
|
||||
sendUnknownSettingMessage(module.name, settingName)
|
||||
return@executeAsync
|
||||
return@execute
|
||||
}
|
||||
|
||||
MessageSendHelper.sendChatMessage("${formatValue(settingName)} is a " +
|
||||
|
@ -94,7 +86,7 @@ object SetCommand : ClientCommand(
|
|||
}
|
||||
}
|
||||
|
||||
executeAsync("List settings for a module") {
|
||||
execute("List settings for a module") {
|
||||
val module = moduleArg.value
|
||||
val settingList = module.fullSettingList
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package me.zeroeightsix.kami.util.text
|
||||
|
||||
import me.zeroeightsix.kami.KamiMod
|
||||
|
||||
interface Detector {
|
||||
infix fun detect(input: CharSequence): Boolean
|
||||
|
||||
|
@ -23,9 +21,6 @@ interface PrefixDetector : Detector, RemovableDetector {
|
|||
|
||||
override fun removedOrNull(input: CharSequence) = prefixes.firstOrNull(input::startsWith)?.let {
|
||||
input.removePrefix(it)
|
||||
} ?: run {
|
||||
KamiMod.LOG.debug("Could not replace type ${this.javaClass.simpleName} for message \"$input\"")
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -38,8 +33,5 @@ interface RegexDetector : Detector, RemovableDetector {
|
|||
|
||||
override fun removedOrNull(input: CharSequence): CharSequence? = matchedRegex(input)?.let { regex ->
|
||||
input.replace(regex, "").takeIf { it.isNotBlank() }
|
||||
} ?: run {
|
||||
KamiMod.LOG.debug("Could not replace type ${this.javaClass.simpleName} for message \"$input\"")
|
||||
null
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue