Skip to content
This repository has been archived by the owner on Apr 22, 2021. It is now read-only.

[enhancement] Add a modified setting command. #1925

Merged
merged 8 commits into from
Feb 14, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package org.kamiblue.client.command.commands

import net.minecraft.util.text.TextComponentString
import net.minecraft.util.text.event.ClickEvent
import net.minecraft.util.text.event.HoverEvent
import org.kamiblue.client.command.ClientCommand
import org.kamiblue.client.util.text.MessageSendHelper.sendChatMessage

object ModifiedCommand: ClientCommand(
name = "modified",
description = "View modified settings in a module"
) {

init{
module("module"){
execute("List changed settings"){

for (setting in it.value.settingList.filter { it.value != it.defaultValue }){
val component = TextComponentString("${setting.name} has been changed to ${setting.value}")
// horrible, however this is mojang code that we are working on.
component.style.clickEvent = ClickEvent(ClickEvent.Action.RUN_COMMAND, ";set ${it.value.name} ${setting.name.replace(" ", "")} ${setting.defaultValue}")
component.style.hoverEvent = HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponentString("Click to reset to default"))
sendChatMessage(component)
}

if (!it.value.settingList.any { it.value != it.defaultValue }){
sendChatMessage("No settings have been changed.")
}
}
}
}
}
14 changes: 14 additions & 0 deletions src/main/kotlin/org/kamiblue/client/util/text/MessageSendHelper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.kamiblue.client.util.text
import baritone.api.event.events.ChatEvent
import net.minecraft.util.text.ITextComponent
import net.minecraft.util.text.TextComponentBase
import net.minecraft.util.text.TextComponentString
import net.minecraft.util.text.TextFormatting
import org.kamiblue.client.KamiMod
import org.kamiblue.client.command.CommandManager
Expand All @@ -16,6 +17,13 @@ import java.util.regex.Pattern
object MessageSendHelper {
private val mc = Wrapper.minecraft

fun sendChatMessage(message: ITextComponent) {
val component = TextComponentString("")
component.appendSibling(ChatMessage(coloredName('9')))
component.appendSibling(message)
sendRawChatMessage(component)
}

fun sendChatMessage(message: String) {
sendRawChatMessage(coloredName('9') + message)
}
Expand Down Expand Up @@ -54,6 +62,11 @@ object MessageSendHelper {
mc.player?.sendMessage(ChatMessage(message))
}

fun sendRawChatMessage(message: ITextComponent?) {
if (message == null) return
mc.ingameGUI.chatGUI.printChatMessage(message)
}

fun Any.sendServerMessage(message: String?): TaskState {
if (message.isNullOrBlank()) return TaskState(true)
val priority = if (this is AbstractModule) modulePriority else 0
Expand Down Expand Up @@ -84,4 +97,5 @@ object MessageSendHelper {
}

private fun coloredName(colorCode: Char) = "&7[&$colorCode" + KamiMod.KAMI_KATAKANA + "&7] &r"

}