Skip to content
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
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
javaVersion=25
mcVersion=1.21.11
group=dev.slne.surf
version=1.21.11-2.76.0
version=1.21.11-2.77.0
relocationPrefix=dev.slne.surf.surfapi.libs
snapshot=false
14 changes: 14 additions & 0 deletions surf-api-core/surf-api-core-api/api/surf-api-core-api.api
Original file line number Diff line number Diff line change
Expand Up @@ -7156,8 +7156,14 @@ public abstract interface class dev/slne/surf/surfapi/core/api/messages/builder/
public abstract fun appendNewline ()Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendNewline (Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendNewlineAsync (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun appendPlayerHead (Ljava/lang/String;Z)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendPlayerHead (Ljava/util/UUID;Z)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun appendPlayerHead$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;ZILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun appendPlayerHead$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/util/UUID;ZILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendPrefix ()Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public abstract fun appendSpace ()Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendSprite (Ljava/lang/String;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendSprite (Ljava/lang/String;Ljava/lang/String;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun appendTime-gRj5Bb8 (JZZLnet/kyori/adventure/text/Component;Lnet/kyori/adventure/text/format/TextColor;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun appendTime-gRj5Bb8$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;JZZLnet/kyori/adventure/text/Component;Lnet/kyori/adventure/text/format/TextColor;ILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public abstract fun applicableApply (Lnet/kyori/adventure/text/ComponentBuilderApplicable;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
Expand All @@ -7178,6 +7184,7 @@ public abstract interface class dev/slne/surf/surfapi/core/api/messages/builder/
public fun ellipsis (Lnet/kyori/adventure/text/format/TextColor;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun ellipsis$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Lnet/kyori/adventure/text/format/TextColor;ILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public abstract fun font (Lnet/kyori/adventure/key/Key;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public fun hoverEvent (Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public abstract fun hoverEvent (Lnet/kyori/adventure/text/event/HoverEventSource;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public abstract fun insertion (Ljava/lang/String;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public abstract fun mapChildren (Ljava/util/function/Function;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
Expand Down Expand Up @@ -7239,7 +7246,13 @@ public final class dev/slne/surf/surfapi/core/api/messages/builder/SurfComponent
public static fun appendNewWarningPrefixedLineAsync (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static fun appendNewline (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendNewlineAsync (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static fun appendPlayerHead (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;Z)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendPlayerHead (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/util/UUID;Z)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun appendPlayerHead$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;ZILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun appendPlayerHead$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/util/UUID;ZILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendPrefix (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendSprite (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendSprite (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;Ljava/lang/String;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendSuccessPrefix (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun appendTime-gRj5Bb8 (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;JZZLnet/kyori/adventure/text/Component;Lnet/kyori/adventure/text/format/TextColor;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static synthetic fun appendTime-gRj5Bb8$default (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;JZZLnet/kyori/adventure/text/Component;Lnet/kyori/adventure/text/format/TextColor;ILjava/lang/Object;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
Expand Down Expand Up @@ -7306,6 +7319,7 @@ public final class dev/slne/surf/surfapi/core/api/messages/builder/SurfComponent
public static fun green (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/Number;[Lnet/kyori/adventure/text/format/TextDecoration;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun green (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;[Lnet/kyori/adventure/text/format/TextDecoration;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun green (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Z[Lnet/kyori/adventure/text/format/TextDecoration;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun hoverEvent (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Lkotlin/jvm/functions/Function1;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun info (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;C[Lnet/kyori/adventure/text/format/TextDecoration;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun info (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/Number;[Lnet/kyori/adventure/text/format/TextDecoration;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
public static fun info (Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;Ljava/lang/String;[Lnet/kyori/adventure/text/format/TextDecoration;)Ldev/slne/surf/surfapi/core/api/messages/builder/SurfComponentBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@ import dev.slne.surf.surfapi.core.api.messages.Colors.Companion.VARIABLE_VALUE
import dev.slne.surf.surfapi.core.api.messages.CommonComponents.DISCONNECT_HEADER
import dev.slne.surf.surfapi.core.api.messages.CommonComponents.DISCORD_LINK
import dev.slne.surf.surfapi.core.api.messages.CommonComponents.TIME_SEPARATOR
import dev.slne.surf.surfapi.core.api.minimessage.miniMessage
import net.kyori.adventure.key.Key
import net.kyori.adventure.text.*
import net.kyori.adventure.text.event.ClickEvent
import net.kyori.adventure.text.event.HoverEvent
import net.kyori.adventure.text.event.HoverEventSource
import net.kyori.adventure.text.format.Style
import net.kyori.adventure.text.format.TextColor
import net.kyori.adventure.text.format.TextDecoration
import net.kyori.adventure.util.ARGBLike
import org.jetbrains.annotations.ApiStatus
import java.util.*
import java.util.function.Consumer
import java.util.function.Function
import kotlin.time.Duration
Expand Down Expand Up @@ -80,12 +83,66 @@ interface SurfComponentBuilder : TextComponent.Builder, ComponentBuilderColors {
fun note(any: Any, vararg decoration: TextDecoration) = text(any.toString(), NOTE, *decoration)

fun ellipsis(color: TextColor? = SPACER) = append(CommonComponents.ELLIPSIS.color(color))

/**
* Applies a translatable component with the given key and optional color and decorations.
*
* @param key The translation key
* @param color Optional text color for the translatable component
* @param decoration Optional text decorations for the translatable component
*/
fun translatable(
key: String,
color: TextColor? = Colors.WHITE,
vararg decoration: TextDecoration
) = append(Component.translatable(key, color, *decoration))

/**
* Appends a player head component
*
* @param username The player's username
* @param outerLayer Whether to show the outer layer of the skin (default: true)
*/
fun appendPlayerHead(username: String, outerLayer: Boolean = true) =
append(miniMessage.deserialize("<head:$username:$outerLayer>"))

/**
* Appends a player head component
*
* @param uuid The player's UUID
* @param outerLayer Whether to show the outer layer of the skin (default: true)
*/
fun appendPlayerHead(uuid: UUID, outerLayer: Boolean = true) =
append(miniMessage.deserialize("<head:$uuid:$outerLayer>"))
Comment thread
TheBjoRedCraft marked this conversation as resolved.
Outdated

/**
* Appends a sprite component from the specified atlas and sprite name
*
* @param atlas The name of the atlas
* @param sprite The name of the sprite
*
* eg. appendSprite("blocks", "block/stone"), appendSprite("minecraft:items", "item/porkchop")
*/
fun appendSprite(atlas: String, sprite: String) =
append(miniMessage.deserialize("<sprite:\"$atlas\":$sprite>"))

/**
* Appends a sprite component from the specified atlas and sprite name
*
* @param spriteWithAtlas The combined atlas and sprite name in the format "atlas:sprite"
*/
fun appendSprite(spriteWithAtlas: String) =
append(miniMessage.deserialize("<sprite:$spriteWithAtlas>"))

Comment thread
TheBjoRedCraft marked this conversation as resolved.
Outdated
/**
* Applies a hover event with the given content built by the provided block
* The block allows for building a complex component to be shown on hover using the same builder DSL.
*
* @param block A lambda with receiver that builds the hover event content using the same SurfComponentBuilder DSL
*/
fun hoverEvent(block: SurfComponentBuilder.() -> Unit) =
hoverEvent(HoverEvent.showText(SurfComponentBuilder(block)))

fun appendDiscordLink() = append(DISCORD_LINK)
fun appendDisconnectHeader() = append(DISCONNECT_HEADER)
fun appendDisconnectFooterTryAgainLater(issue: Boolean) = append(
Expand Down