From f5a72bab6d1f774981e89568970cfb4239f5b06a Mon Sep 17 00:00:00 2001 From: MeiNanziiii Date: Sun, 13 Oct 2024 21:24:02 +0300 Subject: [PATCH] more config features & avatar fix --- .../kotlin/ua/mei/minekord/config/MinekordConfig.kt | 2 ++ .../kotlin/ua/mei/minekord/config/spec/ColorsSpec.kt | 11 +++++++++++ src/main/kotlin/ua/mei/minekord/utils/Extensions.kt | 3 +++ .../kotlin/ua/mei/minekord/utils/MinekordColor.kt | 12 +++++++----- src/main/resources/minekord.toml | 10 +++++++++- 5 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 src/main/kotlin/ua/mei/minekord/config/spec/ColorsSpec.kt diff --git a/src/main/kotlin/ua/mei/minekord/config/MinekordConfig.kt b/src/main/kotlin/ua/mei/minekord/config/MinekordConfig.kt index a3b751e..53066a5 100644 --- a/src/main/kotlin/ua/mei/minekord/config/MinekordConfig.kt +++ b/src/main/kotlin/ua/mei/minekord/config/MinekordConfig.kt @@ -5,6 +5,7 @@ import com.uchuhimo.konf.source.toml import net.fabricmc.loader.api.FabricLoader import ua.mei.minekord.config.spec.BotSpec import ua.mei.minekord.config.spec.ChatSpec +import ua.mei.minekord.config.spec.ColorsSpec import ua.mei.minekord.config.spec.CommandsSpec import ua.mei.minekord.config.spec.ExperimentalSpec import ua.mei.minekord.config.spec.PresenceSpec @@ -16,6 +17,7 @@ val config: Config = Config { addSpec(ChatSpec) addSpec(PresenceSpec) addSpec(CommandsSpec) + addSpec(ColorsSpec) addSpec(ExperimentalSpec) } .from.toml.resource(CONFIG_PATH) diff --git a/src/main/kotlin/ua/mei/minekord/config/spec/ColorsSpec.kt b/src/main/kotlin/ua/mei/minekord/config/spec/ColorsSpec.kt new file mode 100644 index 0000000..4cab984 --- /dev/null +++ b/src/main/kotlin/ua/mei/minekord/config/spec/ColorsSpec.kt @@ -0,0 +1,11 @@ +package ua.mei.minekord.config.spec + +import com.uchuhimo.konf.ConfigSpec + +object ColorsSpec : ConfigSpec() { + val red by required() + val orange by required() + val green by required() + val blue by required() + val purple by required() +} diff --git a/src/main/kotlin/ua/mei/minekord/utils/Extensions.kt b/src/main/kotlin/ua/mei/minekord/utils/Extensions.kt index de2b9d3..4db1ec9 100644 --- a/src/main/kotlin/ua/mei/minekord/utils/Extensions.kt +++ b/src/main/kotlin/ua/mei/minekord/utils/Extensions.kt @@ -1,5 +1,6 @@ package ua.mei.minekord.utils +import dev.kord.common.Color import eu.pb4.placeholders.api.ParserContext import eu.pb4.placeholders.api.PlaceholderContext import eu.pb4.placeholders.api.node.DynamicTextNode @@ -78,3 +79,5 @@ fun parse(input: String, player: ServerPlayerEntity): Text { PlaceholderContext.of(player).asParserContext() ) } + +fun colorFromString(hex: String): Color = Color(hex.removePrefix("#").toInt(16)) diff --git a/src/main/kotlin/ua/mei/minekord/utils/MinekordColor.kt b/src/main/kotlin/ua/mei/minekord/utils/MinekordColor.kt index 2a03665..b31f57f 100644 --- a/src/main/kotlin/ua/mei/minekord/utils/MinekordColor.kt +++ b/src/main/kotlin/ua/mei/minekord/utils/MinekordColor.kt @@ -1,11 +1,13 @@ package ua.mei.minekord.utils import dev.kord.common.Color +import ua.mei.minekord.config.config +import ua.mei.minekord.config.spec.ColorsSpec object MinekordColor { - val GREEN: Color = Color(0x57F287) - val ORANGE: Color = Color(0xE67E22) - val PURPLE: Color = Color(0x9B59B6) - val RED: Color = Color(0xED4245) - val BLUE: Color = Color(0x3498DB) + val RED: Color = colorFromString(config[ColorsSpec.red]) + val ORANGE: Color = colorFromString(config[ColorsSpec.orange]) + val GREEN: Color = colorFromString(config[ColorsSpec.green]) + val BLUE: Color = colorFromString(config[ColorsSpec.blue]) + val PURPLE: Color = colorFromString(config[ColorsSpec.purple]) } diff --git a/src/main/resources/minekord.toml b/src/main/resources/minekord.toml index 772c849..10315dc 100644 --- a/src/main/resources/minekord.toml +++ b/src/main/resources/minekord.toml @@ -34,7 +34,7 @@ convertMarkdown = true [Chat.Webhook] webhookName = "Server" - webhookAvatar = "https://api.bonfiremc.site/attachments/avatars/MeiNanziiii.png?size=128" + webhookAvatar = "https://i.imgur.com/lc8ZHiG.png" playerAvatar = "https://mc-heads.net/head/{nickname}.png/128" [Presence] @@ -52,6 +52,14 @@ updateTicks = 1200 title = "%server:online%/%server:max_players%" format = "%player:displayname%" +[Colors] + +red = "#ED4245" +orange = "#E67E22" +green = "#57F287" +blue = "#3498DB" +purple = "#9B59B6" + # Experimental and unstable features. # USE AT YOUR OWN RISK!!! [Experimental]