Files
KSpigot/guide/docs/extensions/literal_text.md
2021-06-28 13:47:10 +02:00

132 lines
1.8 KiB
Markdown

# Literal text API
## Create a text object
```kotlin
val text = literalText("base text") {
// the text builder
}
// or
val text = literalText {
// the text builder
}
```
## Add children text objects
```kotlin
literalText("base text") {
text("children text") {
// children text builder
}
}
```
## Format the text
Text formatting:
```kotlin
literalText("base text") {
bold = true
italic = true
underline = true
strikethrough = true
obfuscate = true
}
```
Color:
```kotlin
literalText("base text") {
color = col(0xFF7463)
color = col("#FF7463")
color = KColors.INDIANRED
}
```
## Events
### Hover event
#### General hover event
```kotlin
literalText("base text") {
hoverEvent = HoverEvent(action, content)
}
```
#### Show hover text
```kotlin
literalText("base text") {
hoverText("you hovered me") {
// hover text builder
}
}
```
### Click event
#### General click event
```kotlin
literalText("base text") {
clickEvent = ClickEvent(action, value)
}
```
#### Execute command
```kotlin
literalText("base text") {
onClickCommand("/me hoho", onlySuggest = true)
}
```
#### Copy a String
```kotlin
literalText("base text") {
onClickCopy("https://github.com/bluefireoly/KSpigot")
}
```
## Special
```kotlin
literalText("base text") {
// line break
newLine()
// an empty line (two line breaks)
emptyLine()
}
```
## Add bungee components
```kotlin
literalText("base text") {
// e.g. add a TranslatableComponent
text(TranslatableComponent("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.
```kotlin
literalText("base text") {
legacyText("§cthis text is red") {
// optional text body to format the legacy text
}
}
```