Files
KSpigot/guide/docs/extensions/literal_text.md
mooziii ed338a712c KSpigot 1.19 (#50)
* Use new papermc repo url

* Update gradle plugins

* Update paper dependencies to 1.19 and bump version

* Package renames

* Update to kotlin 1.7.0

* Update kotlinx-serialization-json to 1.3.3

* Update kotlinx-coroutines to 1.6.2

* Correct version bump

* Update versions in gradle_example.md

* update some guide stuff

Co-authored-by: l4zs <business@l4zs.de>
2022-06-09 21:27:08 +02:00

2.2 KiB

Literal text API

Create a text object

val text = literalText("base text") {
    // the text builder
}

// or

val text = literalText {
    // the text builder
}

Add children text objects

literalText("base text") {
    text("children text") {
        // children text builder
    }
}

Format the text

Text formatting:

literalText("base text") {
    bold = true
    italic = true
    underline = true
    strikethrough = true
    obfuscate = true
}

Color:

literalText("base text") {
    color = TextColor.color(255, 116, 99)
    color = KColors.INDIANRED
}

Events

Hover event

General hover event

literalText("base text") {
    hoverEvent = HoverEvent.hoverEvent(action, value)
}

Show hover text

literalText("base text") {
    hoverText("you hovered me") {
        // hover text builder
    }
}

Show hover Item

literalText("base text") {
    hoverItem(item)
}

Show hover Entity

literalText("base text") {
    hoverEntity(entity)
}

Click event

General click event

literalText("base text") {
    clickEvent = ClickEvent.clickEvent(action, value)
}

Execute command

literalText("base text") {
    onClickCommand("/me hoho", onlySuggest = true)
}

Copy a String

literalText("base text") {
    onClickCopy("https://github.com/bluefireoly/KSpigot")
}

Open a URL

literalText("base text") {
    onClickOpenURL("https://github.com/bluefireoly/KSpigot")
}

Special

literalText("base text") {
    // line break
    newLine()
    // an empty line (two line breaks)
    emptyLine()
}

Add paper components

literalText("base text") {
    // e.g. add a TranslatableComponent
    component(Component.translatable("translation.key")) {
        // optional text body
    }
}

Add legacy chat components

You can add legacy text if you want to use the old color codes for some reason.

literalText("base text") {
    legacyText("§cthis text is red") {
        // optional text body to format the legacy text
    }
}