From 830d3185f6c0c4ac14c957c03e982badb40fa053 Mon Sep 17 00:00:00 2001 From: ingle Date: Sun, 2 Oct 2022 21:52:11 -0500 Subject: Added chat confirmation for join-dungeon command --- src/main/kotlin/dulkirmod/DulkirMod.kt | 6 ++-- .../kotlin/dulkirmod/command/JoinDungeonCommand.kt | 42 ++++++++++++++++++++++ src/main/kotlin/dulkirmod/config/Config.kt | 21 +++++++++-- .../kotlin/dulkirmod/features/NametagCleaner.kt | 2 -- 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 src/main/kotlin/dulkirmod/command/JoinDungeonCommand.kt (limited to 'src/main/kotlin/dulkirmod') diff --git a/src/main/kotlin/dulkirmod/DulkirMod.kt b/src/main/kotlin/dulkirmod/DulkirMod.kt index c6e765b..2647d9f 100644 --- a/src/main/kotlin/dulkirmod/DulkirMod.kt +++ b/src/main/kotlin/dulkirmod/DulkirMod.kt @@ -1,9 +1,6 @@ package dulkirmod -import dulkirmod.command.EnchantRuneCommand -import dulkirmod.command.FairyCommand -import dulkirmod.command.HelpCommand -import dulkirmod.command.SettingsCommand +import dulkirmod.command.* import dulkirmod.config.Config import dulkirmod.events.ChatEvent import dulkirmod.features.NametagCleaner @@ -50,6 +47,7 @@ class DulkirMod { ClientCommandHandler.instance.registerCommand(EnchantRuneCommand()) ClientCommandHandler.instance.registerCommand(FairyCommand()) ClientCommandHandler.instance.registerCommand(SettingsCommand()) + ClientCommandHandler.instance.registerCommand(JoinDungeonCommand()) } @Mod.EventHandler diff --git a/src/main/kotlin/dulkirmod/command/JoinDungeonCommand.kt b/src/main/kotlin/dulkirmod/command/JoinDungeonCommand.kt new file mode 100644 index 0000000..3e5405a --- /dev/null +++ b/src/main/kotlin/dulkirmod/command/JoinDungeonCommand.kt @@ -0,0 +1,42 @@ +package dulkirmod.command + +import dulkirmod.DulkirMod.Companion.mc +import dulkirmod.config.Config +import net.minecraft.client.Minecraft +import net.minecraft.command.CommandException +import net.minecraft.command.ICommandSender +import net.minecraft.util.ChatComponentText +import net.minecraft.util.EnumChatFormatting + +class JoinDungeonCommand : ClientCommandBase("joindungeon") { + @Throws(CommandException::class) + override fun processCommand(sender: ICommandSender, args: Array) { + var arguments = args.contentToString().replace("[", "").replace("]", "").replace(",","") + println(arguments) + var type = "" + var num = "" + println(args[0]) + if (args[0] == "master_catacombs") { + type = "M" + } + else if (args[0] == "catacombs") { + type = "F" + } + + // Try statement so message is consistent if user gives bad input + try { + if (args[1].toInt() in 1..7) { + num = args[1] + } + } catch (e: NumberFormatException) { } + + if(Config.dungeonCommandConfirm) { + mc.thePlayer.addChatMessage( + ChatComponentText( + EnumChatFormatting.GOLD.toString() + "" + EnumChatFormatting.BOLD + "Running command: $type$num" + ) + ) + } + mc.thePlayer.sendChatMessage("/joindungeon $arguments") + } +} \ No newline at end of file diff --git a/src/main/kotlin/dulkirmod/config/Config.kt b/src/main/kotlin/dulkirmod/config/Config.kt index a409d91..f472ee1 100644 --- a/src/main/kotlin/dulkirmod/config/Config.kt +++ b/src/main/kotlin/dulkirmod/config/Config.kt @@ -10,7 +10,7 @@ import java.awt.Color import java.io.File import java.util.function.Consumer -object Config : Vigilant(File("./config/dulkirmod/config.toml"), "DulkirMod") { +object Config : Vigilant(File("./config/dulkirmod/config.toml"), "DulkirMod", sortingBehavior = ConfigSorting) { @Property( type = PropertyType.SWITCH, @@ -203,6 +203,15 @@ object Config : Vigilant(File("./config/dulkirmod/config.toml"), "DulkirMod") { customSpeed = 0f } + // CUSTOM ANIMATIONS + @Property( + type = PropertyType.SWITCH, + name = "JoinDungeon Command Confirmation", + description = "Chat notification when you push the button. Useful if you suck at navigating a numpad.", + category = "General" + ) + var dungeonCommandConfirm = false + fun init() { initialize() @@ -213,5 +222,13 @@ object Config : Vigilant(File("./config/dulkirmod/config.toml"), "DulkirMod") { "All settings that are related to custom animations. Mostly help from Aton." ) } - + private object ConfigSorting : SortingBehavior() { + override fun getCategoryComparator(): Comparator = Comparator { o1, o2 -> + if (o1.name == "General") return@Comparator -1 + if (o2.name == "General") return@Comparator 1 + else compareValuesBy(o1, o2) { + it.name + } + } + } } diff --git a/src/main/kotlin/dulkirmod/features/NametagCleaner.kt b/src/main/kotlin/dulkirmod/features/NametagCleaner.kt index b1557c9..234aa6d 100644 --- a/src/main/kotlin/dulkirmod/features/NametagCleaner.kt +++ b/src/main/kotlin/dulkirmod/features/NametagCleaner.kt @@ -9,8 +9,6 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent /** * Code inspired heavily by Skytils. - * - * TODO: fix */ object NametagCleaner { @SubscribeEvent -- cgit