From ae614a82a58d428b47f7b0bba675c264c7a9b708 Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Wed, 27 May 2026 15:49:49 +0200 Subject: [PATCH 1/3] =?UTF-8?q?=E2=9C=A8=20feat(components):=20add=20struc?= =?UTF-8?q?tured=20disconnect=20message=20builder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - implement buildDisconnectComponent function for customizable disconnect messages - support parameters for reason, details, issue footer, retry footer, and Discord link --- .../api/core/messages/CommonComponents.kt | 66 +++++++++++++++++-- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt b/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt index 11729c98b..76e74a10e 100644 --- a/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt +++ b/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt @@ -7,10 +7,8 @@ import dev.slne.surf.api.core.messages.Colors.Companion.SPACER import dev.slne.surf.api.core.messages.Colors.Companion.VARIABLE_KEY import dev.slne.surf.api.core.messages.Colors.Companion.VARIABLE_VALUE import dev.slne.surf.api.core.messages.CommonComponents.MAP_SEPARATOR -import dev.slne.surf.api.core.messages.adventure.appendNewline -import dev.slne.surf.api.core.messages.adventure.appendText -import dev.slne.surf.api.core.messages.adventure.clickOpensUrl -import dev.slne.surf.api.core.messages.adventure.text +import dev.slne.surf.api.core.messages.adventure.* +import dev.slne.surf.api.core.messages.builder.SurfComponentBuilder import dev.slne.surf.api.core.util.mutableObjectListOf import net.kyori.adventure.text.Component import net.kyori.adventure.text.JoinConfiguration @@ -469,6 +467,66 @@ object CommonComponents { else append(RETRY_LATER_FOOTER) } + /** + * Builds a structured disconnect message with a specific reason, details, and optional footers. + * + * @param reason The reason for the disconnection (will be displayed in uppercase). + * @param details Block to render the detailed message content. + * @param issue Whether to include an issue-related footer instead of a simple retry footer. + * @param retryLater Whether to include a retry later footer. + * @param onlyDiscordLink Whether to include only the Discord link in the footer without additional information. + * + * **Output Example (issue = true, retryLater = false, onlyDiscordLink = false):** + * + * ``` + * + * + * CASTCRAFTER + * COMMUNITY SERVER + * + * (in error color) + * + * + *
(in spacer color) + * + * Bitte versuche es später erneut. + * Sollte das Problem weiterhin bestehen, + * kontaktiere den Support in unserem Discord. + * + * discord.gg/castcrafter (clickable) + * ``` + */ + fun buildDisconnectComponent( + reason: String, + details: SurfComponentBuilder.() -> Unit, + issue: Boolean = false, + retryLater: Boolean = false, + onlyDiscordLink: Boolean = true, + ) = buildText { + appendNewline(2) + primary("CASTCRAFTER") + appendNewline() + primary("COMMUNITY SERVER") + appendNewline(2) + error(reason) + appendNewline(3) + append(details).color(SPACER) + + if (issue) { + append(ISSUE_FOOTER) + } + + if (retryLater) { + append(RETRY_LATER_FOOTER) + } + + if (onlyDiscordLink) { + appendNewline(2) + primary("discord.gg/castcrafter") + } + } + + /** * Formats a collection into a comma-separated list component. * From 4f4cc939a20eb47e356044b649305172ae9d0cc5 Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Wed, 27 May 2026 15:50:03 +0200 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=94=A7=20chore:=20update=20version=20?= =?UTF-8?q?to=203.13.1=20in=20gradle.properties?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f96891f30..3f0c58f60 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,6 +7,6 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled javaVersion=25 mcVersion=26.1.2 group=dev.slne.surf.api -version=3.13.0 +version=3.13.1 relocationPrefix=dev.slne.surf.api.libs snapshot=false From 6bc82caeda1c01c7c1cbbf67ae4d95907fc21f04 Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft <143264463+TheBjoRedCraft@users.noreply.github.com> Date: Wed, 27 May 2026 15:54:32 +0200 Subject: [PATCH 3/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt b/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt index 76e74a10e..c6b4effc9 100644 --- a/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt +++ b/surf-api-core/surf-api-core/src/main/kotlin/dev/slne/surf/api/core/messages/CommonComponents.kt @@ -508,7 +508,7 @@ object CommonComponents { appendNewline() primary("COMMUNITY SERVER") appendNewline(2) - error(reason) + error(reason.uppercase()) appendNewline(3) append(details).color(SPACER)